linux-shell(2)find与xargs【自己的笔记】

find命令的一般格式






find命令选项









使用 name 选项






使用 perm选项


find . -perm 755(权限八进制)  -print   


忽略某个目录 使用 -prune 选项, 如果同时使用了-depth选项,那么find命令将忽略-prune选项
举例  如果希望在/apps目录下查找文件,但不希望在/apps/bin目录下查找, 可以用:


find /apps(查找路径) -name(文件名) "/apps/bin"(忽略目录) -prune -o -print


按照更改时间查找文件


举例 希望在系统根目录下查找更改时间在5日以内的文件,可以用:
find /(路径) -mtime -5(“-”表示几天以内,5是天数) -print


举例 为了在/var/adm目录下查找更改时间在3日以前的文件,可以用:
find /var/adm(路径) -mtime +3("+"表示n日以前,3是天数) -print


查找比某个文件新或旧的文件 使用newer选项 它的一般形式
find .(路径) -newer file1(旧文件) ! file2(新文件)




根据文件类型 查找 使用type 选项
举例 如果要在/etc目录下查找所有的目录,可以用:
find /etc(路径) -type d(文件类型) -print


举例  为了在当前目录下查找除目录以外的所有类型的文件,可以用:
find .(路径) ! -type d(文件类型) -print


根据文件长度查找文件 使用size选项 这里所指的文件长度既可以用块计量,也可以用字节来计量。以字节计量文件长度的表达形式为Nc;以块计量文件长度只用数字表示即可。


举例 为了在当前目录下查找文件长度大于1M字节的文件,可以用:
find .(路径) -size +1000000c(大小) -print


查找时 希望先查找所有文件,然后再查找子目录,使用depth选项
举例  在根目录开始, 查找一个名为CON.FILE的文件。它将首先匹配所有的问价你然后再进入子目录中查找。
find / -name "CON.FILE" -depth -print


在当前的文件系统中查找文件(不进入其他文件系统),可以使用mount选项。
举例 我们从当前目录开始查找位于本文件系统中文件名为XC结尾的文件。
find . -name "*.XC" -mount -print


当匹配到一些文件以后,可能希望对其进行某些操作,这时就可以使用 -exec选项或者ok选项。
exec选项后面跟随着所要执行的命令,然后是一对{},一个空格和一个\,最后是一个分号。
举例 为了用ls -l 命令列出所匹配到的文件,可以把ls -l 命令放在find 命令的-exec选项中,
find .(路径) -type f(文件类型) -exec ls -l(操作命令) {} \;


xargs


xargs命令每次只获取一部分文件而不是全部,不像 -exec选项那样。
举例 查找系统中的每一个文件,然后使用xargs命令来测试它们分别属于哪类文件:
find / -type f -print | xargs file




小结


find命令是一个非常优秀的工具,它可以按照用户指定的准则来匹配文件。使用 exec和xargs可以使用户对所匹配到的文件执行几乎所有的命令。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值