在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间。
命令格式:find 路径 -命令参数 [输出形式]
-name 按照文件名查找文:
1> find ./ -name test.test //查找文件名为test.test的文件
2>find ./ -name 'test*' //查找文件名包含test的文件
3>find ./ -name '*.c' //查找以‘。c’结尾的文件
-type 查找某一类型的文件,诸如:b-块设备文件;d-目录;c-字符设备文件;p-管道文件;l-符号链接文件;f-普通文件;s-socket文件。
$ find . -type d
-perm 按照文件权限来查找文件
find -perm -g=w //找到具有组读权限的文件
size n[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计
1>find ~ -size -500k //查找比500k小的文件
2>find ~ -size +50k //查找比50k大的文件
3>find ~ -size 2k //查找文件大小为2k的文件
-depth 在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。
1>find -maxdepth 2 -name test.test //在root目录下以及深度为1的子目录下查找文件名为test.test的文件
2>find -mindepth 1 -name test.test
find用"!"来否定参数
find ./ ! -name 'test*' -print //查找文件名不为test.*的文件
根据文件时间查找:
1.访问时间(accesstime):读取一次文件的内容,该时间便会更新。
find ./ -newer tets.c //查找比tets.c还要新的文件
2.修改时间(modifytime):对文件内容修改一次便会更新该时间。例如使用vim等工具更改了文件内容并保存后,文件修改时间发生变化
find ./ -mtime -1 //查找小于等于1天内修改过的文件
3.改变时间(changetime):更改文件的属性便会更新该时间,比如使用chmod命令更改文件属性,或者执行其他命令时隐式的附带更改了文件的属性若文件大小等