[计算机软件及应用]Linux指令系统.doc

上传人:sccc 文档编号:4561579 上传时间:2023-04-27 格式:DOC 页数:74 大小:274.50KB
返回 下载 相关 举报
[计算机软件及应用]Linux指令系统.doc_第1页
第1页 / 共74页
[计算机软件及应用]Linux指令系统.doc_第2页
第2页 / 共74页
[计算机软件及应用]Linux指令系统.doc_第3页
第3页 / 共74页
[计算机软件及应用]Linux指令系统.doc_第4页
第4页 / 共74页
[计算机软件及应用]Linux指令系统.doc_第5页
第5页 / 共74页
点击查看更多>>
资源描述

《[计算机软件及应用]Linux指令系统.doc》由会员分享,可在线阅读,更多相关《[计算机软件及应用]Linux指令系统.doc(74页珍藏版)》请在三一办公上搜索。

1、Linux指令系统Linux各个挂载点介绍/bin存放最常用的命令,此目录下的命令所有用户都有执行的权限 /boot Linux系统引导目录,此目录保存系统启动时的内核映像文件及启动时所需的其它文件 /dev设备文件,保存所有的硬件设备文件,如硬盘设备文件,软驱、光驱设备文件等等/etc存放各种服务的配置文件,相当于Windows 2000的winnt目录 /home各用户宿主目录,相当于Windows 2000的“我的文档” /lib该目录用来存放系统动态链接共享库,几乎所用的应该程序都会用到该目录下的共享库 /mnt挂载目录,用来临时挂载别的文件系统或者别的硬件设备(如光驱、软驱) /pr

2、oc 此目录信息是在内存中由系统自行产生的,存储了一些当前的进程ID号和CPU、内存的映射等 /sbin系统管理员命令存放目录 /usr最大的目录,用户的很多应该程序和文件都存放在此目录下 /usr/X1186X-Windows目录,存放一些X-Windows的配置文件 /usr/include系统头文件,存储一些C语言的头文件 /usr/srcLinux内核源代码,Linux系统所安装的内核源代码都保存在此 /usr/bin对/bin目录的一些补充 /usr/sbin对/sbin目录的一些补充 /var 大多数的日志存储目录和ftp,www服务的匿名访问目录的根,在Linux工作一段时间后,

3、此目录会比较大,应即时对此目录进行删除/miscautofs服务的目录/opt用于存储第三方软件的目录 /tmp临时文件的目录,用来存放不同程序执行时产生的临时文件/lost+found 该目录在大多数情况下都是空的,但当实然停电或者非正常关机后,有些文件临时存入在此/root管理员的根目录,一般只有管理员才可以访问此目录3. Linux指令系统3.1 显示目录和文件的命令3.1.1 ls指令1. 名称 : ls 2. 使用权限 : 所有使用者 3. 使用方式 : ls 选项|参数 目录名 4. 说明 : 显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录)。 参数 : -a 显示所

4、有文件及目录 (ls内定将文件名或目录名称开头为.的视为隐藏档,不会列出) -l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出 -r 将文件以相反次序显示(原定依英文字母次序) -t 将文件依建立时间之先后次序列出 -A 同 -a ,但不列出 . (目前目录) 及 . (父目录) -F 在列出的文件名称后加一符号;例如可执行档则加 *, 目录则加 / -R 显示指定目录及子目录下的内容 范例: 列出目前工作目录下所有名称是 s 开头的文件,愈新的排愈后面 :ls -ltr s* 将 /bin 目录以下所有目录及文件详细资料列出 : ls -lR /bin 列出目前工作目录下

5、所有文件及目录;目录于名称后加 /, 可执行档于名称后加 * : ls -AF5. 文件或目录权限说明:文件标志文件类型例子-普通文件数据文件、ASCII纯文本文件、程序d目录/binb块设备/dev/hda(第一个IDE硬盘)c字符设备/dev/ttyS1(与DOS种的串口2等同)s套接字/dev/logp命名管道/dev/initctl(与“|”等同)l符号链接/dev/modem-/dev/ttyS16、文件的权限;Linux文件或目录的权限是和用户和用户组联系在一起的每个文件或目录都有一组9个权限位,每三位被分为一组,他们分别是属主权限位(占三个位置 )、用户组权限位(占三个位置)、其

6、它用户权限位(占三个位置)。比如rwxr-xr-x ,我们数一下就知道是不是9个位置了,正是这9个权限位来控制文件属主、用户组以及其它用户的权限。八进制数字权限 0-1-x2-w-3-wx4r-5r-x6rw-7rwxrwx rwx r-7. 其中颜色的含义如下:蓝色-目录绿色-可执行文件 红色-压缩文件浅蓝色-链接文件灰色-其他文件黄色设备文件任务:列举/root目录下的文件的详细信息,把每一个文件的名称及权限以表格的形式列举出来,其中权限用两种方式表示3.1.2 dir 指令1. dir语法: dir 选项|参数 目录名2. dir指令说明: 显示指定目录的目录和文件3. 使用权限:所有使

7、用者4. 常见参数参数/选项说明-p相当于ls中的-p 参数-R显示指定目录及子目录下的内容-a 显示指定目录上的所有文件,包括隐藏文件3.2 修改目录与文件权限和所属主与所属组的命令3.2.1 chmod 指令1. 指令名称 : chmod 2. 使用权限 : root 或其他有权限的用户和组 3. 使用方式 : chmod -cfvR mode 文件名或目录4. 说明 : 用于改变指定目录或文件的属主、属组、其他组的权限。Linux/Unix 的文件存取权限分为三级 : 文件拥有者、群组、其他人。利用 chmod 可以藉以控制文件如何被他人所存取。 mode : 权限设定字串,格式如下 :

8、 ugoa.+-=rwxX.,.,其中:u表示该文件的拥有者g表示与该文件的拥有者属于同一个组(group)者o表示其他以外的人a表示这三者皆是+表示增加权限-表示取消权限=表示唯一设定权限r表示可读取w表示可写入x表示可执行X表示只有当该文件是个子目录或者该文件已经被设定过为可执行Chmod参数说明参数/选项说明-c若该文件权限确实已经更改,才显示其更改动作-f若该文件权限无法被更改也不要显示错误讯息-v显示权限变更的详细资料-R对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更)范例 : 将文件 file1.txt 设为所有人皆可读取 : chmod ugo+r fi

9、le1.txt 将文件 file1.txt 设为所有人皆可读取 : chmod a+r file1.txt 将文件 file1.txt 与 file2.txt 设为该文件拥有者,与其所属同一个组者可写入,但其他以外的人则不可写入 : chmod ug+w,o-w file1.txt file2.txt 将 ex1.py 设定为只有该文件拥有者可以执行 : chmod u+x ex1.py 将目前目录下的所有文件与子目录皆设为任何人可读取 : chmod -R a+r * 此外chmod也可以用数字来表示权限如 chmod 777 file 语法为:chmod abc file 其中a,b,c各

10、为一个数字,分别表示User、Group、及Other的权限。 r=4,w=2,x=1 若要rwx属性则4+2+1=7; 若要rw-属性则4+2=6; 若要r-x属性则4+1=7。 范例: chmod a=rwx file 和 chmod 777 file 效果相同 chmod ug=rwx,o=x file 和 chmod 771 file 效果相同 3.2.2 chown 指令1. 指令说明: 用于改变指定目录或文件的属主、属组。2. 使用权限 : root 3. 使用方式 : chmod -cfhvR 用户名或组名 文件名或目录名 说明 : Linux/Unix 是多人多工作业系统,所有

11、的文件皆有拥有者。利用 chown 可以将文件的拥有者加以改变。一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的文件拥有者,也没有权限可以自己的文件拥有者改设为别人。只有系统管理者(root)才有这样的权限。 参数/选项说明用户名新的文件拥有者的使用者ID组名新的文件拥有者的使用者组(group)-c若该文件拥有者确实已经更改,才显示其更改动作-f若该文件拥有者无法被更改也不要显示错误讯息-h只对于连结(link)进行变更,而非该link真正指向的文件-v显示拥有者变更的详细资料-R对目前目录下的所有文件与子目录进行相同的拥有者变更(即以递归的方式逐个变

12、更)范例 : 将文件 file1.txt 的拥有者设为 users 组的使用者 jessie : chown jessie:users file1.txt 将目前目录下的所有文件与子目录的拥有者皆设为 users 组的使用者 lamport : chmod -R lamport:users * 将/test目录下的所有文件与子目录的拥有者都设为root ,所属组不变,并显示改变的详细信息。Chown R v root3.2.3 chgrp指令1. 使用权限: root 2. 使用格式: chgrp 选项 组 文件3. 指令说明:更改文件或目录的组所有权。 参数说明-h更改遇到的符号链接的组所有

13、权,而非符号链接所指示的目标文件或目录的组所有权,(当系统支持更改符号链接的所有者,此选项才有效)。-f去掉除用法消息以外的所有错误信息。-R递归改变所有的文件及子目录的组所有权,当遇到符号链接且该链接指向到目录时,则会更改目录的组的所有权,但不再进一步遍历目录。 应用说明:该命令改变指定指定文件所属的用户组。其中group可以是用户组ID,也可以是/etc/group文件中用户组的组名。文件名是以空格分开的要改变属组的文件列表,支持通配符。如果用户不是该文件的属主或超级用户,则不能改变该文件的组。 应用实例: 改变/opt/local /book/及其子目录下的所有文件的属组为book,命令

14、如下: $ chgrp - R book /opt/local /book 3.2.4 chattr指令1. 使用权限: root 2. 格式: chattr -RV -+=AacDdijsSu 文件或目录 3. 说明:用于设置文件具有不可删除或修改权限。主要参数说明R递归处理所有的文件及子目录。V详细显示修改内容,并打印输出。去掉文件上指定的属性。在文件已有属性的基础上增加指定的属性。=指定属性。AAtime,告诉系统不要修改对这个文件的最後访问时间。SSync,同步更新。一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘。aAppendOnly,只能添加,系统只允许在这个文

15、件之後追加数据,不允许任何进程复盖或截断这个文件。如果目录具有这个属性,系统将只允许在这个目录下建立和修改文件,而不允许删除任何文件。iImmutable,系统不允许对这个文件进行任何的修改。包括删除、重命名、创建链接以及对文件写入任何数据。如果目录具有这个属性,那么任何的进程只能修改目录之下的文件,不允许建立和删除文件。D检查压缩文件中的错误。dNodump,不可转移,在进行文件系统备份时,dump程序将忽略这个文件(不能备份该文件)。CCompress,系统以透明的方式压缩这个文件。从这个文件读取时,返回的是解压之後的数据;而向这个文件中写入数据时,数据首先被压缩之後才写入磁盘。sSecu

16、reDelete,删除保护,让系统在删除这个文件时,使用0填充文件所在的区域。uUndelete,不可删除,当一个应用程序请求删除这个文件,系统会保留其数据块以便以後能够恢复删除这个文件。 使用说明: chattr命令的作用很大,其中一些功能是由Linux内核版本来支持的,如果Linux内核版本低于2.2,那么许多功能不能实现。同样D检查压缩文件中的错误的功能,需要2.5.19以上内核才能支持。另外,通过chattr命令修改属性能够提高系统的安全 性,但是它并不适合所有的目录。chattr命令不能保护/、/dev、/tmp、/var目录。 编辑应用实例恢复/root目录,即子目录的所有文件 #

17、 chattr -R +u /root 用chattr命令防止系统中某个关键文件被修改。 在Linux下,有些配置文件(passwd ,fatab)是不允许任何人修改的,为了防止被误删除或修改,可以设定该文件的“不可修改位(immutable)”,命令如下: # chattr +i /etc/fstab3.2.5 lsattr指令1. 功能说明:显示文件或目录的隐藏属性。2. 语法:lsattr -adlRvV文件或目录.3. 补充说明:用chattr执行改变文件或目录的属性,可执行lsattr指令查询其属性。参数:-a 显示所有文件和目录,包括以.为名称开头字符的额外内建,现行目录.与上层目

18、录.。-d 显示目录名称,而非其内容。-R 递归处理,将指定目录下的所有文件及子目录一并处理。-V 显示版本信息。 范例:(1) 显示root目录下所有文件的隐藏属性#lsattr a(2) 显示/var/ftp目录下的所有文件及子目录下文件的属性# lsattr Ra /var/ftp名称: mkdir (make directory)使用权限:于当前目录有适当权限的所有使用者 使用方式:mkdir -p dirName 说明:建立名称为 dirName 之子目录。 参数:-p 确保目录名称存在,不存在的就建一个。 -m 在创建的同时为目录指定权限范例: 在工作目录下,建立一个名为 AAA

19、的子目录 : mkdir AAA 在工作目录下的 BBB 目录中,建立一个名为 Test 的子目录。若 BBB 目录原本不存在,则建立一个。(注:本例若不加 -p,且原本 BBB目录不存在,则产生错误。) mkdir -p BBB/Test名称:rmdir (remove directory)使用权限:于目前目录有适当权限的所有使用者 使用方式: rmdir -p dirName 说明: 删除空的目录。 参数: -p 是当子目录被删除后使它也成为空目录的话,则顺便一并删除。 范例: 将工作目录下,名为 AAA 的子目录删除 : rmdir AAA 在工作目录下的 BBB 目录中,删除名为 Te

20、st 的子目录。若 Test 删除后,BBB 目录成为空目录,则 BBB 亦予删除。 rmdir -p BBB/Test 名称:touch 使用权限:所有使用者 使用方式: touch -acfm -r reference-file -file=reference-file -t MMDDhhmmCCYY.ss -d time -date=time -time=atime,access,use,mtime,modify -no-create -help -version file1 file2 . 说明: touch 指令改变文件的时间记录。 ls -l 可以显示文件的时间记录。 参数: a

21、改变文件的读取时间记录。(MMDDHHmmYYYY) m 改变文件的修改时间记录。 MMDDHHmmYYYYc 假如目的文件不存在,不会建立新的文件。与 -no-create 的效果一样。 f 不使用,是为了与其他 unix 系统的相容性而保留。 r 使用参考档的时间记录,与 -file 的效果一样。 d 设定时间与日期,可以使用各种不同的格式。 t 设定文件的时间记录,格式与 date 指令相同。 -no-create 不会建立新文件。 -help 列出指令格式。 -version 列出版本讯息。 范例: 最简单的使用方式,将文件的时候记录改为现在的时间。若文件不存在,系统会建立一个新的文件

22、。 touch file touch file1 file2 将 file 的时间记录改为 5 月 6 日 18 点 3 分,公元两千年。时间的格式可以参考 date 指令,至少需输入 MMDDHHmm ,就是月日时与分。 touch -c -t 05061803 file touch -c -t 050618032000 file 将 file 的时间记录改变成与 referencefile 一样。 touch -r referencefile file 将 file 的时间记录改成 5 月 6 日 18 点 3 分,公元两千年。时间可以使用 am, pm 或是 24 小时的格式,日期可以使

23、用其他格式如 6 May 2000 。 touch -d 6:03pm file touch -d 05/06/2000 file touch -d 6:03pm 05/06/2000 file touch 也可以制造一个空档(0 byte).例如DHCP Server所需的/etc/dhcpd.leases,dhcpd 必须要有这个文件才能运作正常.root/root#touch /etc/dhcpd.leasesroot/root#ls -l /etc/dhcpd.leases-rw-r-r- 1 root root 0 Jul 3 05:50 /etc/dhcpd.leases 记得上一

24、次重灌前把/etc下的设定档tar起来,重灌好之后把原有设定还原,却发现系统检查设定档的时间有问题,这个时候用 find /etc -name * -exec touch ; 就可以把设定档的时间更新到与现在一致了。名称:rm (remove)使用权限:所有使用者 使用方式:rm options name. 说明:删除文件及目录。 参数: -i 删除前逐一询问确认。 -f 即使原文件属性设为唯读,亦直接删除,无需逐一确认。 -r/-R 将目录及以下之文件亦逐一删除。 范例: 删除所有C语言程序档;删除前逐一询问确认 : rm -i *.c 将 Finished 子目录及子目录中所有文件删除 :

25、 rm -r Finished 3.5.1 mv指令 (move)功能说明:移动或更名现有的文件或目录。语法:mv -bfiuv 源文件或目录 目标文件或目录补充说明:mv可移动文件或目录,或是更改文件或目录的名称。使用权限:所有使用者参数:-b 若需覆盖文件,则覆盖前先行备份。 -f 若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录。 -i 覆盖前先行询问用户。 -S与-b参数一并使用,可指定备份文件的所要附加的字尾。 -u 在移动或更改文件名时,若目标文件已存在,且其文件日期比源文件新,则不覆盖目标文件。 -v 执行时显示详细的信息。 范例: 将文件 aaa 更名为 bb

26、b : mv aaa bbb 将所有的C语言程序移至 Finished 子目录中 : mv -i *.c finished3.5.2 cp指令(copy)功能说明:复制文件或目录。 语法:cp -abdfilpPrRsuvx 源文件或目录 目标文件或目录 目的目录 补充说明:cp指令用在复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到该目录中。若同时指定多个文件或目录,而最后的目的地并非是一个已存在的目录,则会出现错误信息。使用权限: 所有使用者参数:-a或-archive 此参数的效果和同时指定-dpR参数相同。 -b

27、或-backup 删除,覆盖目标文件之前的备份,备份文件会在字尾加上一个备份字符串。 -d或-no-dereference 当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录。 -f或-force 强行复制文件或目录,不论目标文件或目录是否已存在。 -i或-interactive 覆盖既有文件之前先询问用户。 -l或-link 对源文件建立硬连接,而非复制文件。 -p或-preserve 保留源文件或目录的属性。 -P或-parents 保留源文件或目录的路径。 -r 递归处理,将指定目录下的文件与子目录一并处理。 -R或-recursive 递归处理

28、,将指定目录下的所有文件与子目录一并处理。 -s或-symbolic-link 对源文件建立符号连接,而非复制文件。 -S或-suffix= 用-b参数备份目标文件后,备份文件的字尾会被加上一个备份字符串,预设的备份字尾字符串是符号。 -u或-update 使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在,才复制文件。 -v或-verbose 显示指令执行过程。 -V或-version-control= 用-b参数备份目标文件后,备份文件的字尾会被加上一个备份字符串,这字符串不仅可用-S参数变更,当使用-V参数指定不同备份方式时,也会产生不同字尾的备份字串

29、。 -x或-one-file-system 复制的文件或目录存放的文件系统,必须与cp指令执行时所处的文件系统相同,否则不予复制。 范例: 将文件 aaa 复制(已存在),并命名为 bbb : cp aaa bbb 将所有的C语言程序拷贝至 Finished 子目录中 : Cp *.c Finished 3.7 显示文件内容的命令3.7.1 cat命令使用权限:所有使用者 使用方式:cat -AbeEnstTuv fileName 说明:把文件串连接后传到基本输出(屏幕或加 fileName 到另一个文件)参数:-n 或 -number 由 1 开始对所有输出的行数编号-b 或 -number

30、-nonblank 和 -n 相似,只不过对于空白行不编号-s 或 -squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行-v 或 -show-nonprinting范例:Cat install.log 显示当前目录下install.log文件的内容cat -n textfile1 textfile2 把 textfile1 的文件内容加上行号后输入 textfile2 这个文件里cat -b textfile1 textfile2 textfile3 把 textfile1 和 textfile2 的文件内容加上行号(空白行不加)之后将内容附加到 textfile3

31、 里。3.7.2 more 使用权限:所有使用者 使用方式:more -dlfpcsu -num +/pattern +linenum fileNames. 说明:类似 cat ,不过会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似),使用中的说明文件,请按 h 。 退出显示按q键参数:-num 一次显示的行数 -d 提示使用者,在画面下方显示 Press space to continue, q to quit. ,如果使用者按错键,则会显示 Press h for i

32、nstructions. 而不是 哔 声 -l 取消遇见特殊字元 L(送纸字元)时会暂停的功能 -f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上) -p 不以卷动的方式显示每一页,而是先清除屏幕后再显示内容 -c 跟 -p 相似,不同的是先显示内容再清除其他旧资料 -s 当遇到有连续两行以上的空白行,就代换为一行的空白行 -u 不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同) +/ 在每个文件显示前搜寻该字串(pattern),然后从该字串之后开始显示 +num 从第 num 行开始显示 fileNames 欲显

33、示内容的文件,可为复数个数 范例: 1. more -s testfile 逐页显示 testfile 之文件内容,如有连续两行以上空白行则以一行空白行显示。 2. more +20 testfile 从第 20 行开始显示 testfile 之文件内容。3. 显示dd文件中的内容,要求一次显示3行。4 显示dd文件中的内容,要求在页面下方显示提示信息。5 显示dd与ee文件中的内容。3.7 .3 less 使用权限:所有使用者 使用方式: less Option filename 说明: less 的作用与 more 十分相似,都可以用来浏览文字文件的内容,不同的是 less 允许使用者往回

34、卷动以浏览已经看过的部份,同时因为 less 并未在一开始就读入整个文件,因此在遇上大型文件的开启时,会比一般的文书编辑器(如 vi)来的快速。3.7.4 head 命令 如果用户希望查看一个文件究竟保存的是什么内容,可以只查看文件的头几行,而不必浏览整个文件。用 head 命令只显示文件或标准输入的头几行。 语法:head -n 文件功能:显示指定文件的前若干行。 说明:该命令显示每个指定文件的前面n行。如果没有给出n值,缺省设置为10。如果没有指定文件,head就从标准输入读取。例: 显示文件example.c的前3行。 head -3 example.c显示dd的前100个字节,在显示文

35、件内容前,先显示文件名。3.7.5 tail 说明:输出文件内容后面的部分 语法:tail 选项 文件名 该命令的各选项含义如下: -n 只显示后面的n行。-f 动态显示,常用于跟踪消息文件。例:1. 显示dd文件的后3行。2. 显示dd文件的后100个字节,显示内容前先显示文件名。3.7.6 find功能说明:查找文件或目录。语法:find 起始目录 寻找条件 操作说明:find命令从指定的起始目录开始,递归地搜索其各个子目录,查找满足寻找条件 的文件并对之采取相关的操作。以名称和文件属性查找。-name 字串 查找文件名匹配所给字串的所有文件,字串内可用通配符 *、?、 。-lname 字

36、串 查找文件名匹配所给字串的所有符号链接文件,字串内可用通配符 *、?、 。-gid n 查找属于ID号为 n 的用户组的所有文件。-uid n 查找属于ID号为 n 的用户的所有文件。-group 字串 查找属于用户组名为所给字串的所有的文件。-user 字串 查找属于用户名为所给字串的所有的文件。-empty 查找大小为 0的目录或文件。-path 字串 查找路径名匹配所给字串的所有文件,字串内可用通配符*、?、 。-perm 权限 查找具有指定权限的文件和目录,权限的表示可以如711,644。-size nbckw 查找指定文件大小的文件,n 后面的字符表示单位,缺省为 b,代表512字

37、节的块。-type x 查找类型为 x 的文件,x 为下列字符之一:b 块设备文件c 字符设备文件d 目录文件p 命名管道(PIPO)f 普通文件l 符号链接文件(symbolic links)s socket文件-xtype x 与 -type 基本相同,但只查找符号链接文件。以时间为条件查找-amin n 查找n分钟以前被访问过的所有文件。(access)-atime n 查找n天以前被访问过的所有文件。-cmin n 查找n分钟以前文件状态被修改过的所有文件。(create)-ctime n 查找n天以前文件状态被修改过的所有文件。-mmin n 查找n分钟以前文件内容被修改过的所有文件

38、。(modify)-mtime n 查找n天以前文件内容被修改过的所有文件。可执行的操作-exec 命令名称 对符合条件的文件执行所给的Linux 命令,而不询问用户是否需要执行该命令。表示命令的参数即为所找到的文件;命令的末尾必须以“ ;”结束。-ok 命令名称 对符合条件的文件执行所给的Linux 命令,与exec不同的是,它会询问用户是否需要执行该命令。-ls 详细列出所找到的所有文件。-fprintf 文件名 将找到的文件名写入指定文件。-print 在标准输出设备上显示查找出的文件名。-printf 格式 格式的写法请参考有关C语言的书。该命令提供的寻找条件可以是一个用逻辑运算符 n

39、ot、and、or 组成的复合条件。逻辑运 算符 and、or、not 的含义为: (1) and:逻辑与,在命令中用“-a”表示,是系统缺省的选项,表示只有当所给的条 件都满足时,寻找条件才算满足。例如: find name tmp xtype c -user inin% 该命令寻找三个给定条件都满足的所有文件(2) or:逻辑或,在命令中用“-o”表示。该运算符表示只要所给的条件中有一个满足 时,寻找条件就算满足。例如: find name tmp o name mina*% 该命令查询文件名为tmp或是匹配mina*的所有文件。(3) not:逻辑非,在命令中用“!”表示。该运算符表示查

40、找不满足所给条件的文件 。例如: find ! name tmp% 该命令查询文件名不是tmp的所有文件。需要说明的是:当使用很多的逻辑选项时,可以用括号把这些选项括起来。为了避免She ll本身对括号引起误解,在话号前需要加转义字符“”来去除括号的意义。例: find (name tmp xtype c -user inin )find . - name main* - exec more ;% 查找当前目录中所有以main开头的文件,并显示这些文件的内容。find . (- name a.out - o - name *.o) - atime +7 - exec rm ;% 删除当前目录下

41、所有一周之内没有被访问过的a .out或*.o文件。% 命令中的“.”表示当前目录,此时 find 将从当前目录开始,逐个在其子目录中查找满足后面指定条件的文件。% “(” 和 “)” 表示括号(),其中的 “” 称为转义符。之所以这样写是由于 对 Shell 而言,(和)另有不同的含义,而不是这里的用于组合条件的用途。% “-name a.out” 是指要查找名为a.out的文件; % “-name *.o” 是指要查找所有名字以 .o 结尾的文件。这两个 -name 之间的 -o 表示逻辑或(or),即查找名字为a.out或名字以 .o结尾的文件。% find在当前目录及其子目录下找到这佯

42、的文件之后,再进行判断,看其最后访问时间 是否在7天以前(条件 -atime +7),若是,则对该文件执行命令 rm(-exec rm ;)。其中 代表当前查到的符合条件的文件名,;则是语法所要求的。% 上述命令中第一行的最后一个 是续行符。当命令太长而在一行写不下时,可输入一个 ,之后系统将显示一个 ,指示用户继续输入命令。1、查找当前用户主目录下的所有文件:下面两种方法都可以使用$ find $HOME -print$ find -print2、让当前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件;$ find . -type f -perm 644 -exe

43、c ls -l ;3、为了查找系统中所有文件长度为0的普通文件,并列出它们的完整路径;$ find / -type f -size 0 -exec ls -l ;4、查找/var/logs目录中更改时间在7日以前的普通文件,并在删除之前询问它们;$ find /var/logs -type f -mtime +7 -ok rm ;5、为了查找系统中所有属于root组的文件;$find . -group root -exec ls -l ;-rw-r-r- 1 root root 595 10月 31 01:09 ./fie16、find命令将删除当目录中访问时间在7日以来、含有数字后缀的admin.log文件。该命令只检查三位数字,所以相应文件的后缀不要超过999。先建几个admin.log*的文件 ,才能使用下面这个命令$ find . -name admin.log0-90-90-9 -atime -7 -okrm ;7、为了查找当前文件系统中的所有目录并排序;$ find . -type d | sort8. 将目前目录及其子目录下所有后缀名是 c 的文件列出来。 # find . -name *.c 9. 将目前目录及其下子目录中所有一般文件列出

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教育教学 > 成人教育


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号