find命令

参考:http://man.linuxde.net/find

列出当前目录下的所有目录及文件

[root@server1 find]# find .

这里写图片描述

默认列出以.txt结尾的文件及目录。要想只列出文件,需要用 -type f 指明。(
f 普通文件 l 符号连接 d 目录 c 字符设备 b 块设备 s 套接字 )
这里写图片描述
忽略大小写(要匹配对象的大小写)
这里写图片描述

当前目录及子目录下查找所有以.txt和.pdf结尾的文件 -o表示或
这里写图片描述

匹配文件路径或者文件
这里写图片描述

基于正则表达式匹配文件路径
这里写图片描述

同上,但忽略大小写
这里写图片描述

!表示非
找出/home下不是以.txt结尾的文件
这里写图片描述

根据文件时间戳进行搜索

访问时间(-atime/天,-amin/分钟):用户最近一次访问时间。
修改时间(-mtime/天,-mmin/分钟):文件内容最后一次修改时间。
变化时间(-ctime/天,-cmin/分钟):文件数据元(例如权限等)最后一次修改时间。

搜索最近七天内被访问过的所有文件
这里写图片描述
搜索恰好在七天前被访问过的所有文件

find . -type f -atime 7

搜索超过七天内被访问过的所有文件

find . -type f -atime +7

搜索访问时间超过10分钟的所有文件

find . -type f -amin +10

find . -type f -size 文件大小单元

文件大小单元:

b —— 块(512字节)
c —— 字节
w —— 字(2字节)
k —— 千字节
M —— 兆字节
G —— 吉字节
等于10KB的文件  小于10KB的文件  大于10KB的文件 
[root@server1 ~]# find . -size 10k
[root@server1 ~]# find . -size -10k
[root@server1 ~]# find . -size +10k

删除匹配到的

[root@server1 ~]# find /test/find/ -name '*.txt' -delete

权限:-perm
这里写图片描述
找出当前目录用户tom拥有的所有文件

find . -type f -user tom

找出当前目录用户组sunk拥有的所有文件

find . -type f -group sunk

借助-exec选项与其他命令结合使用
这里写图片描述
上例中,{} 用于与-exec选项结合使用来匹配所有文件,然后会被替换为相应的文件名

这里写图片描述
上例中,-ok和-exec行为一样,不过它会给出提示,是否执行相应的操作。

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

find命令

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭