用法:find 何处 何物 做什么
何处
:指定在哪个目录中查找。此目录的所有子目录也会被查找,与 locate 命令的查找所有文件数据库的所有记录不同,find 命令可以限定查找目录,比如我们可以只让 find 查找 /home 目录。默认地,假如我们没有给出"何处"这个参数,那么 find 命令会在当前目录及其子目录中查找;何物
:也就是要查找什么。我们可以根据文件的名字来查找,也可以根据其大小来查找,也可以根据其最近访问时间来查找等等,这个参数是必须的;做什么
:用 find 命令找到文件后,可以对每个文件做一定的操作,称为“后续处理”。默认地,假如不指定这个参数,那么 find 命令只会显示找到的文件,不会做其它事情。
示例
find /var/log -name "syslog*"
find /var -size +10M
find -name "*.jpg" -atime -7
find . -name "new_file" -type d
操作查找结果
//find -name "*.jpg"
等价于find -name "*.jpg" -print
-print 参数用来打印结果。
格式化打印查找结果
find . -name "*.jpg" -printf "%p - %u\n"
%p
:文件名;-
:就是一个短横;%u
:文件的所有者;\n
:用于换行。
删除查找到到文件
find -name "*.jpg" -delete
调用命令
使用-exec
参数可以后接一个命令,对每个查找到的文件进行操作。[exec是execute缩写]
示例:
find -name "*.jpg" -exec chmod 600 {} \;
- 该操作不用双引号扩起来
{}
会用查找到的每个文件来替换\;
是必须对结尾
-exec
换成 -ok
确认提示。