Linux自学之路find命令详解

find命令详解##

Linux一切皆文件,而需要从整个系统中寻找到自己所需要的文件,就需要用到find命令,可以说是使用最多的Linux命令之一,而且find命令支持正则表达式匹配。
首先使用man来查看find命令手册。
find--search for files in a directory hierarchy
常用语法:
find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path...] [expression]
常用选项:
-name:根据文件名查找;
-type:根据文件类型查找(f-普通文件;d-目录;l-符号链接;b-块设备;c-字符设备;s-套接字);
-size:根据文件大小查找(b-块<512字节>;c-字节;k-千字节;M-兆字节;G-吉字节);
-perm [-|/] MODE:根据文件权限查找
(MODE:精确查找;-MODE:文件权限完全包含此MODE;/MODE:任意一位匹配);
-user:根据文件属主查找;
-group:根据文件数组查找;
根据文件时间戳查找:
-atime(天)/amin(分钟):访问时间戳
-mtime(天)/mmin(分钟):修改时间戳
-ctime(天)/cmin(分钟):改变时间戳

举个栗子:
在/home目录下查找所有的txt文件

find /home -name "*.txt"
find /home -iname "*.txt"(忽略大小写)

在/home目录下查找所有的普通文件

find /home -type f

在当前目录查找所有10k的文件

find . -type f -size 10k

在当前目录查找所有大于10k的文件

find . -type f -size +10k

在当前目录查找所有小于10k的文件

find . -type f -size -10k

根据时间戳查找文件的使用方法相同,以访问时间戳举例,
当前目录最近7天内被访问过的文件

find . -type f -atime -7

当前目录7天之前前被访问过的文件

find . -type f -atime +7

当前目录恰好在七天前被访问过的文件

find . -type f -atime 7

在当前目录查找权限为600的文件

find . -type f -perm 600

此外,find命令还可以对查询到的文件结果集进行进一步操作
常用操作:
-print:打印结果到屏幕上;
-ls:类似于对查找到的文件执行“ls -l”命令,输出文件的详细信息;
-delete:删除查找到的文件;
-ok COMMAND {} ; :对查找到的每个文件执行由COMMAND表示的命令;每次操作都由用户进行确认;
-exec COMMAND {} ;:对结果集进行COMMAND命令的操作;
PS:{} ;为固定格式,其中{}代表查找到的结果集。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • find命令是用于实现精确查找,实时查找指定目录下面的文件。在工作中常用。优点是:实时,精确。缺点是:比较占用系统...
    dxldeng阅读 729评论 0 1
  • Linux系统「文件查找」 Linux系统文件中常用属性为以下内容:名称,大小,权限,属主,属组,修改时间,访问时...
    魏镇坪阅读 7,938评论 0 3
  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,483评论 9 467
  • 虽然我现在四肢健全,家人安好,不愁温饱… 但我依然觉得生活一团糟…
    何哞哞阅读 142评论 0 0
  • 黄帝内经上说’冬不潜藏,春必病温‘,人于天地自然相应,秋天人的气趋于收敛,冬天转为收藏,冬季是人体阳气潜藏,温养脏...
    东垣养生阅读 2,028评论 0 0