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
参数,而是先查看找到的文件是否正确,再决定是否删除。