首页 理论教育 实用LinuxShell编程-查找命令

实用LinuxShell编程-查找命令

时间:2023-11-18 理论教育 版权反馈
【摘要】:命令find的常用格式为:命令find默认为递归查找,从起始目录开始的每一层子目录都会进入查找。命令find常用的选项见表2-7。命令find-newer a.txt查找修改时间比a.txt更新的文件,!表示条件取反,find!命令find找到文件后的操作,除了有默认的-print,常用的还有“-exec命令{}\;”,{}代表找到的文件,结尾为\;,注意}与\之间要有空格。

实用LinuxShell编程-查找命令

命令find的常用格式为:

978-7-111-48202-4-Chapter02-187.jpg

命令find默认为递归查找,从起始目录开始的每一层子目录都会进入查找。当没有指定起始目录时,默认从当前目录开始查找。默认的操作是-print,就是将找到的内容显示在屏幕上。命令find常用的选项见表2-7。

表2-7 find命令常用选项

978-7-111-48202-4-Chapter02-188.jpg

例如,从当前目录下开始查找后缀名为.txt的文件:

978-7-111-48202-4-Chapter02-189.jpg

命令find/tmp/code -name"test1.c"-mtime +3 -user maggie -perm 755 -type f用来从/tmp/code目录里面开始,查找名字为test1.c、最后一次修改时间在3天以上、所有者为账户maggie、权限为755的普通文件(不是符号链接或其他类型)。

命令find-newer a.txt查找修改时间比a.txt更新的文件,!表示条件取反,find!-newer a.txt查找比a.txt更老的文件或者修改时间与a.txt相同的文件。!的取反功能可用在其他查找条件上。例如,命令find!-group smartguy查找不属于组smartguy的文件。(www.xing528.com)

命令find找到文件后的操作,除了有默认的-print,常用的还有“-exec命令{}\;”,{}代表找到的文件,结尾为\;,注意}与\之间要有空格。例如,查找script目录里面的后缀名为.txt的文件,并用ls-l命令列出:

978-7-111-48202-4-Chapter02-190.jpg

-exec可以换为-ok,使用-ok时,需要用户对操作确认。例如,接上面的例子,将找到的文件删除:

978-7-111-48202-4-Chapter02-191.jpg

得到提示时,输入n,不删除文件,输入y,则文件被删除。

还可以使用管道及xargs命令对查找到的文件进行操作,这里不展开讲解xargs命令,它主要用于给其他命令传递参数,功能较强。例如,接上面的例子,将找到的文件的权限改为700:

978-7-111-48202-4-Chapter02-192.jpg

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈