本文共 1593 字,大约阅读时间需要 5 分钟。
find命令是Linux系统中一个强大的文件管理工具,用于根据路径和条件查找特定文件或目录。尽管其参数灵活且支持正则表达式,但建议避免在大型服务器上执行全盘搜索,以免造成系统性能下降。
-name:按文件名搜索,区分大小写,适用于精确匹配。
find /usr/local/temp2/ -name test.log
找到文件:/usr/local/temp2/test.log
-iname:按文件名搜索,不区分大小写,适用于不关心大小写的查找。
find ./ -iname test.log
找到文件:./test.log
, ./Test.log
-inum:按文件inode号搜索,适用于已知文件inode号的特定查找。
find ./ -inum 169322632
找到文件:./test.log
-type d:查找目录。
find /usr/local/temp2/ -type d
找到目录:/usr/local/temp2/2023-10-09
,/usr/local/temp2/2023-10-10
-type f:查找普通文件。
find /usr/local/temp2/ -type f
找到文件:/usr/local/temp2/test.log
,/usr/local/temp2/Test.log
-type l:查找符号链接文件。
(此示例中未提供符号链接文件
)
-maxdepth LEVELS:限制搜索深度。
find /usr/local/temp2/ -maxdepth 1 -type d
仅查找当前目录及一层子目录下的目录。
-mindepth LEVELS:忽略指定深度以下的文件或目录。
find /usr/local/temp2/ -mindepth 1 -type f
排除当前目录及一层子目录外的文件。
-atime[±]时间:按文件访问时间查找,记录文件最后一次被访问的时间。
例如,查找6天前的文件:
find /usr/local/temp2 -mtime +5
-mtime[±]时间:按文件数据修改时间查找,更新文件内容会重置这些时间。
例如,查找5~6天那一天修改的文件:
find /usr/local/temp2 -mtime 5
-ctime[±]时间:按文件状态修改时间查找,修改文件属性或内容时更新。
-size[±]大小:按照文件大小筛选文件。
例如,查找小于2MB的文件:
find /usr/local/temp2 -size -2M
找到文件:/usr/local/temp2/test.log
, /usr/local/temp2/Test.log
将找到的文件输出到标准输出:
find /usr/local/temp2 -maxdepth 1 -type f -mtime -5 -print
将找到的文件或目录提交给外部命令处理:
find /usr/local/temp2 -maxdepth 1 -type f -mtime -5 -exec rm -rf {} \;
注意:{}
表示查找到的文件,;
结束命令。
与-exec
类似,但在处理前会提示用户确认:
find /usr/local/temp2 -mindepth 2 -type d -mtime -5 -ok rm -rf {} \;
用户输入y
后才执行命令:
[root@centos7 temp2]# find /usr/local/temp2 -mindepth 2 -type d -mtime -5 -ok rm -rf {} \; y
转载地址:http://zkzfk.baihongyu.com/