find命令
删除指定目录下访问时间超过一年的日志文件
cd 进入到指定目录
find . -type f -atime +365 -exec rm -rf {} \;
按名称或者正则表达式查找文件
- 按照指定名称查找
find . -name test.txt
- 如何查找指定格式的文件
find ./yang/books -name "*.pdf"
查找不同类型的文件
- 查找目录
find . -type d -name "yang*"
- 查找符号链接
-find . -type l -name "yang*"
按指定的时间戳查找文件
- 访问的时间戳
find . -type f -atime +365
- 按照修改的时间戳
find . -type f -mtime 5
- 按照创建的时间戳
-find . -type f -ctime +5 -ctime -10
按照文件大小查找文件
-size 选项使我们能够按指定大小查找文件。我们可以将其计量单位指定为以下约定:
b:512 字节块(默认)
c:字节
w:双字节字
k:KB
M:MB
G:GB
类似于按时间戳查找文件,+ 表示“大于”,- 表示“小于”。例如,要查找大小为 10 MB ~ 1 GB 的文件:
find . -type f -size +10M -size -1G
按权限查找文件
find . -type f -perm 777
按照所有权来查找文件
find -type f -user yang
在找到文件后执行命令
在大多数情况下,我们希望在找到我们需要的文件后进行后续操作。例如将其删除,或检查它们的详细信息等等。-exec 命令使这些所有事情变得更加容易。
find . -type f -atime +365 -exec rm -rf {} \;
述命令在 -exec 选项后是 rm -rf,其用于删除文件。{} 是用于查找结果的占位符。
注意:占位符 {} 非常重要,尤其是在您想删除文件时。因为,如果您不使用它,该命令将对所有文件执行(而不是您刚刚通过 find 命令找到的文件)。