Bash: find 命令学习
shell 命令奇技淫巧之 find
cheatsheet
| 功能 | 代码 |
|---|---|
| 查找当前目录 | |
| 查找 /var/log 目录 | |
| -type d 只查找目录 | |
| -type f 只查找文件 | |
| -name 查找 yum.log 文件 | |
| -iname 忽略大小写 | |
| * 支持通配符查找 | |
| -size 查找 100MB 以内的文件 | |
| -size 查换 100MB 以外的文件 | |
| -mtime 查找7天以内有改动的文件 | |
| -mtime 查找7天以外有改动的文件 | |
| -exec 查找并列出 7天 以外有改动的文件 | |
| -exec 查找并删除 7天 以外有改动的文件 | |
命令解释
这个命令是在
Linux/Unix操作系统中使用的命令。它的作用是在/var/log/目录下查找所有类型为文件且后缀名为.log的文件,且最后修改时间(mtime)距离当前时间超过 7 天,然后使用rm -rf命令删除它们。其中:
find是一个用于查找文件的命令,后面可以跟一些参数和选项来限制查找范围和条件。/var/log/是查找的起始目录。-type f表示查找类型为文件的项,排除目录和其他类型的项。-iname "*.log"表示查找文件名中后缀为.log(忽略大小写)的项。-mtime +7表示查找最后修改时间(mtime)距离当前时间超过 7 天的项。-exec rm -rf {} \;表示对每一个找到的项执行rm -rf命令,其中{}会被替换为实际找到的文件路径。
需要注意的是,这个命令会直接删除符合条件的文件,所以在使用时需要谨慎。建议在测试过程中先不要使用 -exec 参数,而是先查看找到的文件是否正确,再决定是否删除。