本篇博文旨在介绍find指令的功能,以及命令的参数格式;最后介绍了常用find指令的几种情况
find
功能
find指令用来查找符合特定要求的文件
find命令的格式
find [-path] -options [-print -exec -ok ]
path : 代表需要在该目录以及其子目录中进行查找
~ : 表示当前用户的目录以及其子目录
/ : 表示根目录及其子目录
. :表示当前目录及其子目录
命令参数
-print 打印符合查找的文件
-exec 执行查找到的文件
-ok 执行查找到的文件,但是需要用户去判断是否去运行
options 命令选项
-name : 按照文件名进行查找
-user :按照文件的属主进行查找
-group:按照文件的所属组进行查找
-perm :按照文件的权限进行查找
-type :按照文件的类型进行查找
b 块设备文件
d 目录文件
c 字符设备文件
p 管道设备文件
f 普通文件
l 链接文件
-follow :如果查找的文件是链接文件,则查找其指向的文件
-prune:不在当前目录下进行查找
-nogroup :查找无有效的所属组文件,表示在/etc/groups下不存在
-depth :查找目录时,先查找该目录所有文件,在查找子目录中的文件
一些实际使用的情况
查找当前目录下的所有文件
find */
查找HOME目录下的所有 .c 文件
find /home -name '*.c'
查找文件的权限为 000 的文件
find -perm 000
查找文件类型为普通的文件
find -type f
查找大小为58字节的文件
find -size 58c -print
查找比1M大的文件
find . -size +1M -print
查找两天内被更改过的普通文件
find . -mtime -2 -type f
查找两天前被更改过的普通文件
fine . -mtime +2 -type f
查找比test.c 新的文件
find . -newer 'test.c'
查找比test.c 旧的文件
find . ! -newer 'test.c'
查找比test.c新的,比test.cpp旧的文件
find -newer 'test,c' ! -newer ‘test.cpp’ -print
查找test.c 并打印test.c 的内容
find -name test.c -exec cat {} \;
查找test.c 并拷贝一份为 test.c.tmp
find -name test.c -exec cp {} {}.tmp \;