CentOS文件管理怎么查找
导读:CentOS 文件查找常用方法 在 CentOS 中,常用的文件查找手段包括:find(实时、条件精确)、locate(基于数据库、速度极快)、以及用于定位命令的 which/whereis;若要在文件内容中查找关键字,则使用 grep。下...
CentOS 文件查找常用方法
在 CentOS 中,常用的文件查找手段包括:find(实时、条件精确)、locate(基于数据库、速度极快)、以及用于定位命令的 which/whereis;若要在文件内容中查找关键字,则使用 grep。下面按场景给出高效用法与示例。
按文件名或路径查找
- 使用 find 实时遍历目录,适合精确与复杂条件;支持通配符(如 *、?),名称匹配可用 -name(区分大小写)或 -iname(忽略大小写)。
示例:- 全盘查找名为 a.txt 的文件:
find / -name "a.txt" 2> /dev/null - 在 /etc 下忽略大小写查找包含 SELINUX 的路径:
find /etc -iname "*SELINUX*" - 仅查找目录:
find /tmp -type d -name "1*" - 仅查找普通文件:
find /tmp -type f -name "1*"
提示:从根目录搜索可能产生大量“权限不够”提示,使用重定向2> /dev/null可屏蔽错误输出。
- 全盘查找名为 a.txt 的文件:
按大小、时间与权限查找
- 按大小:
find / -size +1G(大于 1GB)、find / -size -10M(小于 10MB)。单位可用 b、c、w、k、M、G。 - 按时间:
- 以“天”为单位:-mtime -1(近 24 小时内修改)、-mtime +5(5 天前修改)
- 以“分钟”为单位:-mmin -60(近 60 分钟内修改)
- 按权限:
- 精确匹配:
find . -perm 644 - 包含匹配(用户/组/其他任一满足即可):
find . -perm -644
- 精确匹配:
- 组合示例:查找 /root 下 .txt 文件,且属主为 root、小于 20MB:
find /root -name "*.txt" -user root -size -20M。
快速定位与命令路径查找
- locate:基于系统数据库 /var/lib/mlocate/mlocate.db 快速定位,首次或新文件未收录时需先更新数据库:
updatedb;安装:yum install -y mlocate。
示例:locate hello.txt。 - which:在 $PATH 中查找可执行命令的真实路径。示例:
which ss。 - whereis:查找命令的可执行文件、源码与手册页路径。示例:
whereis ifconfig。
在文件内容中查找关键字
- 使用 grep 对文件内容进行过滤,常与管道配合。
示例:- 在 hello.txt 中查找 happy(忽略大小写并显示行号):
grep -i -n "happy" hello.txt - 在 /etc 下所有以 ifcfg 开头的文件中搜索包含 eth0 的行:
find /etc -name "ifcfg*" | xargs grep -n "eth0"
常用选项:-i(忽略大小写)、-n(显示行号)、-m N(仅输出前 N 条匹配)。
- 在 hello.txt 中查找 happy(忽略大小写并显示行号):
查找后处理与实用技巧
- 对匹配结果执行动作:
- 交互式确认后删除:
find / -name "*.tmp" -ok rm -i { } \; - 直接处理(如备份):
find /var/log -name "*.log" -mtime +7 -exec mv { } { } .bak \;
- 交互式确认后删除:
- 按 inode 查找硬链接或定位重复文件:
ls -i查看 inode;find /tmp -inum < inode号>反向定位。 - 忽略搜索中的某些目录(如 /proc、/sys):
find / -path /proc -prune -o -name "*.conf" -print。 - 结合 xargs 提升处理效率:
find /opt -name "*.conf" -print0 | xargs -0 ls -l(处理含空格路径更安全)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS文件管理怎么查找
本文地址: https://pptw.com/jishu/778771.html
