在linux下一切皆文件,所以在目录中查找文件就显得尤为重要了。利用find指令我们可以在目录文件中搜索文件,Linux下find命令提供了相当多的查找条件,功能很强大。由于 find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。即使系统中含有网络文件系统( NFS), find命令在该文件系统中同样有效,只你具有相应的权限。 在运 行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台 执行,因为遍历一个大的文件系统可能会花费很长的时间(这里是指 30G字节以上的文件系统)。
1、命令格式
find pathname -options [-print -exec -ok ...]
就是:find[查找目录][查找规则][查找完成后的操作]
2、命令功能
用于在文件树种查找文件并作出相应的处理(可能访问磁盘)
3、命令参数
pathname:find命令所查找的目录。用.来表示当前目录,用/来表示系统根目录。
-print:find命令将匹配的文件输出到标准输出
-exec:find命令对所匹配的文件执行该参数所给出的shell命令,相应命令的形式为'commond' {} \;注意:{}和\;之间的空格。
-ok:和-exec的作用相同,只不过以一种更安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前都会给出提示该项命令是否被执行。
下面列出linux下具体的查找规则:
1、-name:根据文件名查找,区分大小写,精确查找
2、-iname:根据文件名查找,不区分大小写
3、* 文件通配符,可以通配任意字符
4、?通配任意单个字符
5、”[]”表示通配括号里面的任意一个字符,注意[]里面的内容会被解析成单个字符
6、-perm 根据文件的权限来查找
7、-prune
使用一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略
8、-user -group
根据文件所属用户、所属组来进行查找文件
9、-type
根据文件所属类型来进行查找
f:普通文件 find pathname -type f
d:目录文件 find pathname -type d
l:链接文件 find pathname -type l
b:表示块设备文件 find pathname -type b
c:表示字符设备文件 find pathname -type c
p:表示管道设备文件 find pathname -type p
s:表示套接字文件 find pathname -type s
10、-size 根据文件大小来查找文件
1)find . -size 0 表示的是查找的文件的大小为0
2)find . -size +2 表示的是查找的文件大小大于n字节的文件
3)find . -size -2 表示的是要查找的文件大小小于n字节的文件
11、-links 按照文件的链接数目来查找
1)find . -links n表示的文件的链接数为n的文件
2)find . -links +n 表示的是文件链接数大于n的文件
3)find . -links -n 表示的是文件的链接数小于n的文件
12、empty 查找的是空的文件或者文件夹
13、根据文件的更改时间来进行查找
14、根据-a -o -not(与或非)
1)-a 表示的是两个不同的条件必须同时满足后find的文件
2)-o 表示的是两个不同的条件只要其中一个满足后find后的文件
3)-not 表示的是对条件进行取反
以上就是我关于find命令的整理与总结,若有什么欠缺的地方请大家提出。