linuxShell

合集下载

Linux中的shell与shell命令

Linux中的shell与shell命令

s h e l l与s h e l l命令本章主要内容:shell基本功能及种类shell基本概念I/O重定向与管道shell的启动基本shell命令3.1shell基本功能与基本概念3.1.1shell基本功能shell是用户和Linux内核之间的接口程序。

shell是一个命令语言解释器,它拥有自己内建的shell命令集,shell也能被系统中其他应用程序所调用。

shell一个解释型的程序设计语言,shell程序设计语言支持绝大多数在高级语言中能见到的程序元素,如函数、变量、数组和程序控制结构shell具有以下基本功能:1.命令解释执行2.文件名替换.3.输入输出重定向4.连通管道建立5.系统环境设置6.shell编程3.1.2字符与保留字1.字符(1)白空格(2)通配符*:代表从它所在位置开始的任何字符串。

?:代表它所在位置上的任何单个字符。

[]:代表一个指定范围的字符。

方括号中的字符范围可以由直接给出的字符组成,也可以由表示限定范围的起始字符、终止字符及中间的连字符“-”组成。

通配符模式串意义* 当前目录下所有文件名,但不包括.开头的文件。

例如abc但不是.abc *Text* 当前目录下所有文件名中包含有Text的文件名,但不包括.开头的文件[ab-dm]* 当前目录下所有以a、b、c、d、m开头的文件名[ab-dm]? 当前目录下所有以a、b、c、d、m开头且后面只跟有一个字符的文件名[!ab-dm]?或[^ab-dm]?当前目录下所有不以a、b、c、d、m开头且后面只跟有一个字符的文件名/dev/hd? 目录/dev下所有以hd开头且只有三个字符的文件名(3)注释符与注释在shell命令或shell编程中从字符“#”开始以后到行末的部分作为注释,因此以“#”开头的行是注释行。

(4)转义字符(5)Linux系统的特殊键2.保留字任何编程语言或系统都有一定数量的保留字,bashell的部分保留字如下:!,[,],(,),{,},break,continue,cd,echo,eval,exec,exit,export,function,getopts,hash,pwd,read,readonly,return,select,set,shift,test,time,trap,type,ulimit,unset,umask,wait,for,do,done,case,in,esac,if,else,elif,if,while,until转义字符所代表的意义转义字符所代表的意义\a 响铃符\t Tab键\b 退格键\v 垂直制表符\f 换页\\ \\n 换行\0??? 8进制表示\x?? 16进制表示\’’\` ` \””特殊键意义Ctrl+D 结束当前程序输入或终止当前程序或从系统中注销Ctrl+C 终止当前程序的执行Ctrl+\ 终止当前程序的执行(系统内部处理时不同于Ctrl+C)Ctrl+Z 挂起当前程序执行,将推到后台Ctrl+S/Ctrl+Q 暂停/继续屏幕的输出,必须配合使用ScrollLock 暂停/继续屏幕的输出,开关键Ctrl+Alt+Del 默认动作为重启系统Alt+F# 字符终端切换。

linux shell实验报告

linux shell实验报告

linux shell实验报告《Linux Shell实验报告》摘要:本实验报告主要介绍了在Linux操作系统中使用Shell进行实验的过程和结果。

通过实验,我们深入了解了Shell的基本概念、常用命令和操作技巧,同时掌握了Shell脚本编写和执行的方法。

实验结果表明,Shell在Linux系统中具有重要的作用,能够提高工作效率和操作便利性。

一、实验目的本实验旨在通过实际操作,加深对Linux Shell的理解和掌握,探索Shell在Linux系统中的应用和作用。

二、实验内容1. Shell的基本概念在实验中,我们首先了解了Shell的基本概念,包括Shell是什么、其作用和特点等内容。

通过实际操作,我们发现Shell是一种命令行解释器,能够接收用户输入的命令并将其转化为操作系统能够理解的指令,从而实现对系统资源的管理和控制。

2. 常用Shell命令在实验中,我们学习了一些常用的Shell命令,如cd、ls、mkdir、rm等,以及它们的用法和功能。

通过实际操作,我们发现这些命令能够帮助我们在Linux 系统中进行文件和目录的管理,实现对系统资源的快速访问和操作。

3. Shell脚本编写和执行在实验中,我们还学习了如何编写和执行Shell脚本。

通过实际操作,我们发现Shell脚本能够帮助我们实现对一系列命令的批量执行,从而提高工作效率和操作便利性。

三、实验结果通过实验,我们深入了解了Shell的基本概念、常用命令和操作技巧,同时掌握了Shell脚本编写和执行的方法。

实验结果表明,Shell在Linux系统中具有重要的作用,能够提高工作效率和操作便利性。

四、结论本实验通过实际操作,加深了对Linux Shell的理解和掌握,探索了Shell在Linux系统中的应用和作用。

通过实验,我们发现Shell在Linux系统中具有重要的作用,能够提高工作效率和操作便利性,对于Linux系统的管理和维护具有重要的意义。

Linux常用shell种类

Linux常用shell种类

Linux常⽤shell种类 不同的shell具备不同的功能,shell还决定了Linux中默认的shell是/bin/bash,流⾏的shell有ash、bash、ksh、csh、zsh等,不同的shell都有⾃⼰的特点以及⽤途。

查看⾃⼰的服务器⽀持什么shell# cat /etc/shells/bin/sh/bin/bash/sbin/nologin/usr/bin/sh/usr/bin/bash/usr/sbin/nologin# chsh -l/bin/sh/bin/bash/sbin/nologin/usr/bin/sh/usr/bin/bash/usr/sbin/nologin查看当前的shell# echo $SHELL/bin/bashbash⼤多数Linux系统默认使⽤的shell,bash shell是Bourne shell 的⼀个免费版本,它是最早的Unix shell,bash还有⼀个特点,可以通过help命令来查看帮助。

包含的功能⼏乎可以涵盖shell所具有的功能,所以⼀般的shell脚本都会指定它为执⾏路径。

cshC shell 使⽤的是“类C”语法,csh是具有C语⾔风格的⼀种shell,其内部命令有52个,较为庞⼤。

⽬前使⽤的并不多,已经被/bin/tcsh所取代。

kshKorn shell 的语法与Bourne shell相同,同时具备了C shell的易⽤特点。

许多安装脚本都使⽤ksh,ksh 有42条内部命令,与bash相⽐有⼀定的限制性。

看看相应的⽬录中有⽆ksh# ls /bin/ksh如果命令安装就成了。

# yum install ksh查看# ll /bin/kshlrwxrwxrwx 1 root root 21 May 8 09:26 /bin/ksh -> /etc/alternatives/kshtcshtcsh是csh的增强版,与C shell完全兼容。

linux shell命令原理

linux shell命令原理

Linux Shell命令的运行原理涉及多个层面的操作,主要包括用户输入、Shell解释器、内核处理和命令执行等环节。

下面是这一过程的详细解析:1. 用户输入:-用户通过终端或SSH等方式输入Shell命令。

2. Shell解释器:-输入的命令首先被Shell解释器接收。

Shell是一种命令行解释器,它允许用户输入命令并执行。

在Linux中,最常用的Shell是Bash(Bourne Again SHell)。

-Shell解释器负责解析用户的命令输入,包括命令本身及其参数。

3. 命令解析:- Shell会将命令解析为两部分:命令名称和参数列表。

-参数列表中的参数可以被命令使用,以影响命令的行为。

4. 内核处理:- Shell解释器将解析后的命令发送给Linux内核。

-内核根据命令的类型(如执行程序、修改文件权限等)进行相应的处理。

-对于需要运行程序的命令,内核会创建一个新的进程来执行该程序。

5. 命令执行:-程序的执行实际是由Linux内核控制的。

-内核将程序加载到内存中,并开始执行。

-程序可能需要读取文件、修改文件、创建文件等操作,这些操作也会由内核相应地管理。

6. 反馈结果:-命令执行的结果(如输出信息)会返回给Shell。

- Shell将结果输出到终端,供用户查看。

在整个过程中,Linux的权限管理也在发挥作用。

每个命令和文件都有一定的权限设置,决定着谁可以执行谁可以访问。

Linux的权限管理遵循着“最小权限原则”,即进程运行时只获取完成任务所需的最小权限。

此外,Linux中的每一个动作都可能是一个独立的进程,这些进程之间是通过进程间通信(IPC)来协调的。

而Shell作为用户与内核之间的接口,它提供了诸如管道(piping)、重定向、进程替换等高级功能,极大地提高了用户与系统交互的效率。

通过以上环节,Linux Shell命令得以运行,实现了用户与操作系统之间的交互。

Linux之19——Shell编程基础详解

Linux之19——Shell编程基础详解

Linux之19——Shell编程基础详解第⼀部分:Linux Shell 简介Shell 是⼀个⽤ C 语⾔编写的程序,它是⽤户使⽤ Linux 的桥梁。

Shell 既是⼀种命令语⾔,⼜是⼀种程序设计语⾔。

Shell 是指⼀种应⽤程序,这个应⽤程序提供了⼀个界⾯,⽤户通过这个界⾯访问操作系统内核的服务。

Ken Thompson 的 sh 是第⼀种 Unix Shell,Windows Explorer 是⼀个典型的图形界⾯ Shell。

当⼀个⽤户登陆linux 系统后,系统就会为该⽤户创建⼀个shell程序。

Shell的版本:Bourne Shell:是贝尔实验室开发的,unix普遍使⽤的shell,在编程⽅⾯⽐较优秀,但在⽤户交互⽅⾯没有其他shell优秀。

BASH:是GNU的Bourne Again Shell,是GNU操作系统上默认的shell,在bourne shell基础上增强了很多特性,如命令补全,命令历史表等等Korn Shell:是对Bourne Shell 的发展,在⼤部分内容上与Bourne Shell兼容,集成了C Shell和Bourne shell优点。

C Shell:是SUN公司Shell的BSD版本,语法与c语⾔相似,⽐bourne shell 更适合编程第⼆部分 shell 程序设计基础2.1 shell输⼊输出2.1.1 echoecho命令可以显⽰⽂本⾏或变量取值,或者把字符串输⼊到⽂件中格式: echo stringecho的常⽤功能:\c 不换⾏ \f 不进纸 \t 跳格 \n 换⾏note:对于linux系统,必须使⽤-e选项来使以上转义符⽣效例:$ echo -e "hello\tboy"hello boyecho命令对特殊字符敏感,如果要输出特殊字符,需要⽤\屏蔽其特殊含义。

常⽤的特殊字符:双引号"" 反引号`` 反斜线\例:$ echo "\"\"" //想输出""""2.1.2 readread命令从键盘或者⽂件的某⼀⾏⽂本中读⼊信息,并将其赋给⼀个变量。

Linux操作系统shell和常用命令

Linux操作系统shell和常用命令

Linux操作系统shell和常用命令内容提要•1 shell•2 进程和shell 命令行•2 常用命令1、使用SHELL•1.1 什么是Shell•1.2 系统中有几种Shell •1.3 Shell脚本1.1 什么是Shell•shell提供了一个到Linux操作系统的界面以方便运行程序。

事实上,shell也只不过是另外一个Linux操作系统程序而已。

•shell是一个命令解释器,它可以用来启动、挂起、停止甚至编写程序。

shell是Linux操作系统的一个整体组成部分,也是Linux操作系统和UNIX设计的一部分。

1.1 什么是Shell•如果把Linux 操作系统的内核想象成一个球体的中心,那么shell 就是包围内核的外层。

从shell 或其他程序向Linux 操作系统传递命令的时候,内核就会做出相应的反应。

•用户Shell 配置的位置/etc//etc/passwdpasswd1.2 shell•这种shell的内建命令都有哪些?•怎样进行任务控制?•这种shell是否支持命令行编辑?•这种shell是否支持命令行历史记录?•什么是它的重要的开机启动文件或者配置文件?•各个shell的重要环境变量有哪些?•可以使用什么样的命令行提示符?•它支持什么样的编程框架?1.2 系统中有几种Shell•ash袖珍的sh兼容的shell–由Kenneth Almquist编写的ash shell是Linux操作系统上尺寸最小的shell之一。

这个shell有24个不同的内建命令和10个不同的命令行参数。

•bash Bourne Again Shell(与ksh和sh兼容)–bash就是由Brian Fox和Chet Ramey编写的Bourne Again Shell,它是Linux操作系统上最流行的shell之一。

•csh对tcsh的一个符号链接•ksh pdksh,公共域Korn(与ksh兼容)shell–pdksh shell在Linux操作系统中叫做ksh。

LINUX SHELL

LINUX SHELL

LINUX SHELLlinuxshellLinux shell主要命令的详细说明shell是用户和linux操作系统之间的接口。

linux中有多种shell,其中缺省使用的是bash。

本章讲述了shell的工作原理,shell的种类,shell的一般操作及bash的特性。

什么是贝壳linux系统的shell作为操作系统的外壳,为用户提供使用操作系统的接口。

它是命令语言、命令解释程序及程序设计语言的统称。

Shell是用户和Linux内核之间的接口程序。

如果你认为Linux内核是一个球体的中心,那么外壳就是内核的外层。

当命令从shell或其他程序传递到Linux时,内核将做出相应的响应。

shell是一个命令语言解释器,它拥有自己内建的shell命令集,shell也能被系统中其他应用程序所调用。

用户在提示符下输入的命令都由shell先解释然后传给linux核心。

shell中包含了一些命令,例如更改工作目录命令CD。

其他命令,如copy命令CP和move命令RM,是存在于文件系统目录中的独立程序。

对于用户来说,命令是构建在shell 中还是构建在单独的程序中并不重要。

shell首先检查命令是否是内部命令,若不是再检查是否是一个应用程序(这里的应用程序可以是linux本身的实用程序,如ls和rm,也可以是购买的商业程序,如xv,或者是自由软件,如emacs)。

然后shell在搜索路径里寻找这些应用程序(搜索路径就是一个能找到可执行程序的目录列表)。

如果键入的命令不是一个内部命令并且在路径里没有找到这个可执行文件,将会显示一条错误信息。

如果能够成功找到命令,该内部命令或应用程序将被分解为系统调用并传给linux内核。

shell的另一个重要特性是它是一种解释性编程语言。

Shell编程语言支持高级语言中可以看到的大多数程序元素,例如函数、变量、数组和程序控制结构。

Shell编程语言简单易学。

可以在提示符下键入的任何命令都可以放入可执行的shell程序中。

linux shell 循环语句

linux shell 循环语句

linux shell 循环语句Linux Shell是一种强大的命令行工具,它提供了很多循环语句,可以帮助我们快速地处理大量的数据。

在本文中,我们将介绍一些常用的循环语句,包括for循环、while循环、until循环等,以及它们的用法和示例。

1. for循环for循环是一种常用的循环语句,它可以遍历一个列表或者一个范围内的数字。

for循环的语法如下:```for variable in listdocommand1command2...done```其中,variable是一个变量名,list是一个列表,可以是一个数组、一个文件列表或者一个字符串列表。

在循环中,变量variable会依次取list中的每个元素,并执行循环体中的命令。

例如,我们可以使用for循环来遍历一个数组:```#!/bin/bashfruits=("apple" "banana" "orange" "grape")for fruit in "${fruits[@]}"doecho "I like $fruit"done```输出结果为:```I like appleI like bananaI like orangeI like grape```2. while循环while循环是一种基于条件的循环语句,它会在条件为真的情况下一直执行循环体中的命令。

while循环的语法如下:```while conditiondocommand1command2...done```其中,condition是一个条件表达式,可以是一个比较运算符、一个逻辑运算符或者一个函数调用。

在循环中,只要条件为真,就会一直执行循环体中的命令。

例如,我们可以使用while循环来读取一个文件中的每一行:```#!/bin/bashwhile read linedoecho "$line"done < file.txt```其中,file.txt是一个文件名,read命令会读取文件中的每一行,并将其赋值给变量line。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

shell 编程笔记(一)运行一个shell脚本一般我们建立一个shell脚本都建立为.sh为后缀,并且在脚本的开始写上#!/bin/bash ,是这个脚本用bash来执行运行脚本的方法有:1 、chomod u+x script_file (为脚本添加执行权限)./ script_file2、/bin/bash script_file (直接用bash来运行脚本,/bin/bash 为bash 的路径)重要的Bash环境变量shell 编程笔记:shell 命令(二)连载熟悉各种shell命令,shell 编程才能行云流水。

以下内容转载自:/twiki/bin/view.pl/Main/SSCommandIntro1希望大家能够有所收获!所有Unix/Linux命令,都可以在shell中使用,而且是很方便的时候。

如果你开发了一个新的程序,也可以在shell中直接使用。

本章主要介绍 Unix/Linux常用命令,并不详细介绍每个命令的每个参数使用,因为有了man命令,你可以通过man得到其他命令的解释。

本章绝大部分都是通过网络找到得一些资料,加上了一些自己使用的心得。

整理这些命令的目的,是为大家提供一个格式良好的参考和查询的地方。

如果你学习shell编程,这一章你不必记住每个命令,只需要了解这些命令能完成那些功能,至于细节参数,到时候再去查阅不迟。

at[语法]: at [-f 命令文件] [-m] [-q 队列] -t 时间[说明]: at命令由cron管理,在未来一个指定的时间内执行一组命令,命令可以从指定文件读入,也可从键盘读入,从键盘读入时以EOF结束,(通常为CTRL D)-f 从指定命令文件中读入命令-m 命令执行完后给用户发邮件-q 将命令放入指定队列-t 指定时间指定的时间格式为 [[CC]YY]MMDDhhmm[.ss],CC表示年的前两位,YY表示年的后两位,MM表示月,DD表示日,hh表示时,mm表示分,ss表示秒basenamebasename 全路径名basename 用来从全路径名中得到文件名。

例如:basename /home/winter/first.txt 你会得到first.txtbc[语法]: bc [-c] [-l] [文件...][说明]: bc是一个交互式的高精度计算工具,采用类似于C语言的语法,能够从指定文件指定文件中读出命令执行,然后再进入交互式执行,事实上,bc是dc的预编译器,它自动激活dc,将语句经预编译后传递给dc,退出bc的命令是quit,bc中的ibase,obase,scale分别表示输入基数,输出基数,小数点右边的位数。

-c bc 只编译,而不将编译结果送dc,将其送到标准输出上-l 预定义一个数学函数库,可在bc中使用以下函数s(x) sinec(x) cosinee(x) exponentiall(x) loga(x) arctangentj(n,x) Bessel[例子]:bc -l 进入bcscale=10 将小数位定为10位e(1) 计算e的小数点后10位quit 退出bccal - 显示日历举例:显示1998年全年日历: cal 1998显示1998年8月日历: cal 8 1998catcat 用于显示文本,使用方法cat [-benstuv] [file ...]别看这么多参数,最常用的还是什么参数都没有,直接使用cat. cat 可以用来合并多个文本文件。

其格式为cat file1 file2 file3 > file4这就把file1 file2 file3的内容都放入 file4中。

当然,你可以合并更多的文件cat *.txt > file4相当于把所有以 ".txt"结尾的文件的内容都输出到file4 中。

其中 " > " 表示定向符,如果没有 "> file4" 则会直接输出到终端。

[语法]: cat [-u] [-s] [-v[-t] [-e]] 文件...[说明]: 显示和连接一个或多个文件至标准输出-u 无缓冲的输出(缺省为有缓冲输出)-s 对不存在的文件不作提示-v 显示出文件中的非打印字符,控制字符显示成^n ,n为八进制数字,其他非打印字符显示成M-x , x 为该字符低7位的8进制数值-t 在使用-v 选项时,将制表符(tab)显示成 ^I,将换页符(formfeed)显示成 ^ L-e 在使用-v 选项时,在每一行的行尾显示 $[例子]:cat file 显示文件cat -s -v -e file1 file2 file3 逐个显示文件 file1 file2 file3cd[语法]: cd [目录][说明]:本命令用于改变当前的工作目录,无参数时使用环境变量$HOME 作为其参数,$HOME 一般为注册时进入的路径。

[例子]:cd 回到注册进入时的目录cd /tmp 进入 /tmp 目录cd ../ 进入上级目录chgrp[语法]: chgrp [-R] 文件组文件...[说明]:文件的GID表示文件的文件组,文件组可用数字表示,也可用一个有效的组名表示,此命令改变一个文件的GID,可参看chown。

-R 递归地改变所有子目录下所有文件的存取模式[例子]:chgrp group file 将文件 file 的文件组改为 groupchmod[语法]: chmod [-R] 模式文件...或 chmod [ugoa] {+|-|=} [rwxst] 文件...[说明]: 改变文件的存取模式,存取模式可表示为数字或符号串,例如:chmod nnnn file , n为0-7的数字,意义如下:4000 运行时可改变UID2000 运行时可改变GID1000 置粘着位0400 文件主可读0200 文件主可写0100 文件主可执行0040 同组用户可读0020 同组用户可写0010 同组用户可执行0004 其他用户可读0002 其他用户可写0001 其他用户可执行nnnn 就是上列数字相加得到的,例如 chmod 0777 file 是指将文件 file 存取权限置为所有用户可读可写可执行。

-R 递归地改变所有子目录下所有文件的存取模式u 文件主g 同组用户o 其他用户a 所有用户+ 增加后列权限- 取消后列权限= 置成后列权限r 可读w 可写x 可执行s 运行时可置UIDt 运行时可置GID[例子]:chmod 0666 file1 file2 将文件 file1 及 file2 置为所有用户可读可写chmod u+x file 对文件 file 增加文件主可执行权限chmod o-rwx 对文件file 取消其他用户的所有权限chown[语法]: chown [-R] 文件主文件...[说明]: 文件的UID表示文件的文件主,文件主可用数字表示,也可用一个有效的用户名表示,此命令改变一个文件的UID,仅当此文件的文件主或超级用户可使用。

-R 递归地改变所有子目录下所有文件的存取模式[例子]:chown mary file 将文件 file 的文件主改为 marychown 150 file 将文件 file 的UID改为150clear - 清除屏幕直接使用clearcmp[语法]: cmp [-l] [-s] 文件1 文件2[说明]: 比较两个文件,若文件1 为 - ,则使用标准输入,两个文件相同则无提示,不同则显示出现第一个不同时的字符数和行号。

-l 显示每个不同处的字节数(10进制)和不同的字节(8进制)-s 不作任何提示,只返回码[例子]:cmp file1 file2 比较文件 file1 和 file2cmp -l file1 file2 比较文件file1 和 file2 的每处不同cp[语法]: cp [ -p ] [ -r ] 文件 1 [ 文件 2 ...] 目标[说明]: 将文件1(文件2 ...)拷贝到目标上,目标不能与文件同名,若目标是文件名,则拷贝的文件只能有一个,若目标是目录,则拷贝的文件可以有多个,若目标文件不存在,则建立这个文件,若存在,则覆盖其以前的内容,若目标是目录,则将文件拷贝到这个目录下。

- i 在覆盖已存在文件时作提示,若回答 y 则覆盖,其他则中止- p 不仅拷贝文件内容,还有修改时间,存取模式,存取控制表,但不拷贝UID 及 GID- r 若文件名为目录,则拷贝目录下所有文件及子目录和它们的文件,此时目标必须为目录[例子]:cp file1 file2 将文件 file1 拷贝到文件 file2cp file1 file2 /tmp 将文件 file1 和文件 file2 拷贝到目录 /tmp 下cp -r /tmp /mytmp 将目录 /tmp 下所有文件及其子目录拷贝至目录/mytmpdate[语法]: datedate mmddhhmm[yy][说明]: date 无参数时用于显示系统时间,修改时间时参数形式为月日时分[年]df[语法]: df [-t] [文件系统][说明]: 显示剩余 i 节点和块数,使用 -t 选项,还显示总块数和 i 节点数[例子]: df -tdiff[语法]: diff [-be] 文件1 文件2[说明]: 本命令比较两个文本文件,将不同的行列出来-b 将一串空格或TAB转换成一个空格或TAB-e 生成一个编辑角本,作为ex或ed的输入可将文件1转换成文件2[例子]:diff file1 file2diff -b file1 file2diff -e file1 file2 >edscriptdirnamedu[语法]: du [-ars] [目录][说明]: 显示磁盘空间专用情况-r 提供无法打开的文件信息-s 仅显示指定目录所占空间的总和-a 显示文件大小及目录总空间,其后可根文件名作参数echoexprfile[语法]: file [-f 文件名文件] 文件...[说明]: file 对指定文件进行测试,尽量猜测出文件类型并显示出来-f 文件名文件文件名文件是一个包含了文件名的文本文件, -f 选项测试文件名文件中所列出的文件[例子]:file * 显示当前目录下所有文件的类型find[语法]: find 路径名... 表达式[说明]: find 命令递归地遍历指定路径下的每个文件和子目录,看该文件是否能使表达式值为真,以下 n 代表一个十进制整数,+n 代表打印 n , -n 代表小于 n ,下面是合法表达式说明:-name 模式文件名与模式匹配则为真,(\ 为转意符)-perm [-]八进制数文件存取模式与八进制数相同则为真若有- 选项,则文件存取模式含有八进制数规定模式即为真-size n[c] 文件块长度为 n 则真(一块为512字节),若有c 选项,则文件字节长度为 n 则真-atime n 若文件的最近访问时间为 n 天前则为真,find 命令将改变其访问的目录的访问时间-mtime n 若文件的最近修改时间为 n 天前则为真-ctime n 若文件状态为 n 天前改变则为真-exec 命令 { }\; 若命令返回值为0则真,{ }内为命令参数,此命令必须以 \;为结束-ok 命令 { }\; 与 exec 相同,只是在命令执行前先提示,若回答 y 则执行命令-print 显示输出使表达式为真的文件名-newer 文件若文件的访问时间比newer 指定的文件新则真-depth 先下降到搜索目录的子目录,然后才至其自身-mount 仅查找包含指定目录的文件系统-local 文件在当前文件系统时为真-type c 文件类型为 c 则真,c 取值可为 b(块文件) c (字符文件) d(目录) l (符号链接) p (命名管道) f (普通文件)\( 表达式 \) 表达式为真则真-links n 文件链接数为 n 时为真-user 用户当文件属于用户时为真,用户可用数字表示UID-nouser 当文件不属于 /etc/passwd 中的一个用户时为真-group 文件组当文件属于文件组时为真,文件组可用数字表示GID-nogroup 当文件不属于 /etc/group 中的一个组时为真-fstype 类型当文件所属文件系统类型为指定类型时真-inum n 当文件 i 节点号为 n 时为真-prune 当目录名与模式匹配时,不再搜索其子目录可以用逻辑操作符将简单表达式连接成复杂表达式逻辑操作符有 ! 表示非操作, -o 表示或操作,两个表达式并列则表示与操作[例子]:find / -name find* -print从根目录开始搜索文件名如 find* 的文件并显示之find ./ -exec sleep{1}\; -print每秒显示一个当前目录下的文件find $HOME \(-name a.out -o -name '*.o' \) -atime +7 -exec rm {} \; 从$HOME目录开始搜索,删除所有文件名为a.out 或 *.o 且访问时间在7天前的文件finger - 显示用户信息finger命令比who命令显示的信息量大,功能强。

相关文档
最新文档