Find命令

Find命令

作者:LAMP小白  点击:1701  发布日期:2013-07-25 00:35:57  返回列表

Find . –print

.指定当前目录

-print 指明打印匹配文件的文件名 –print时 ‘n’用于分隔文件

-print0 指明使用作为定界符打印匹配的文件名


1.根据文件名或正则表达式匹配搜索

find /root -name "*" –print

find /root ( -name "*.log" -o -name "*.sh" ) –print


2.–path参数可以使用通配符来匹配文件路径或文件

find /root/ -path "*shells*" –print


3.否定参数

find /root ! -name "*.log"-print


4.基于目录深度的搜索

find /etc/ -maxdepth 1 -type f –print


5.根据文件类型搜索

只列出目录

-type d

只列出普通文件

-type f

只列出符号链接

-type l


6.根据文件时间进行搜索

访问时间(天) –atime

修改时间(天) –mtime

变化时间(天) –ctime


访问时间(分钟) –amin

修改时间(分钟) –mmin

变化时间(分钟) –cmin


7.基于大小的搜索

-size …

W字(两字节)

K 千字节

M 兆字节

G 吉字节


8.删除匹配的文件

Find / -type f –name “*.log” –delete


9.基于文件权限和所有权的匹配

Find / -type f –perm 644 –print

Find / -type f –name “*.php” ! –perm 644 –print


10.结合find执行命令或动作

Find / -type f –user root –exec chown haha {} ;

{}是一个特殊的字符串,与-exec结合使用,对于每一个匹配的文件,都会被替换成相应的文件名


我们无法在-exec中使用多个命令,但是可以把命令写在一个shell脚本中,然后将文件名作为参数传进去


11.让find跳过指定的目录

find /root/ ( -name "*shell*" -prune ) -o ( -type f -print )

-o是指明了需要执行的动作 将类型为文件的文件显示出来










上一篇:Cat命令的补充 下一篇:快递查询API
0