Windows操作系统要查找一份文件是相当简单的事情,只要在桌面上点击“开始—搜索”中就能按照各种方式在本地硬盘上,局域网络,甚至在INTERNET上查找各种文件,文档。可是在linux中要查找某一个文件就是一件很麻烦的事情。毕竟在linux中需要我们使用专用的“查找”命令来寻找在硬盘上的文件。Linux下的文件表达式非常复杂,对于linux新手来说,find命令也是了解和学习linux文件特点的方法。下面就详细为大家介绍强大的find命令的全部使用方法和用途。
Find命令用于进行文件查找,它有实施查找、精确、支持众多查找标准,但是它是遍历指定目录中的所有文件完成查找,所以速度非常慢。格式是:find 查找路径 查找到以后的处理运作。不写查找路径默认为当前目录,查找标准默认为指定路径下的所有文件,处理运作默认为显示下面说一下它的主要命令。
匹配标准
-name:'filename':对文件名精确查找
*:任意长度的任意字符
[ ]:指定此范围
-iname:文件匹配不区分大小写
-regex PATTERN:基于正则表达式进行文件名匹配
-user USERNAME:根据属主查找
-group GROUPNAME:根据属组查找
-uid UID:根据UID查找
-gid GID:根据GID查找
- nouser : 查找没有属主的文件
- nogroup :查找没有属组的文件
-type:根据文件类型查找
f:普通文件
d:目录文件
c:字符设备文件
b:块设备文件
l:符号链接文件
p:命令管道文件
s:套接字文件
字符大小
-size [+(内)|-(在限定之外)、什么都不加为精确到]
#k:
#M:
#G
组合条件:
-a 与
-o 或
-not
时间(也可以使用+-与字符相同)
-mtime:
-ctime:
-atime:
-mmin:user
-cmin:
-amin:内
根据权限查找
perm MODE 精确匹配
/MODE 任意一位匹配既满足条件
-MODE 文件权限能完全包含此MODE时才能显示
动作:
-print:显示
-ls:类似ls -l的形式显示每一个文件的详细
-ok COMMAND {}\;每一部操作都需要用户确认
-exec COMMAND{}\;不需要确认