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