命令 | 参数 | 描述 |
---|---|---|
locate [文件名] | - | 只能搜索文件(模糊搜索),搜索快 会在locate数据库中搜索,数据库不是实时更新 也可以使用 updatedb 更新数据库 |
whereis [命令名] | -b 只查找可执行文件 -m 只查找帮助文件 |
搜索命令和帮助文档所在位置 |
which [命令名] | - | 搜索命令所在位置及命令别名 |
find [搜索范围] [搜索条件] | 见下方详情 | 搜索文件或文件夹(该命令较耗费系统资源) |
locate
该命令受/etc/updatedb.conf
配置文件的影响
还有whereis
、which
也受该配置文件的影响
# 开启或关闭搜索限制 yes or no PRUNE_BIND_MOUNTS = "yes" # 不搜索的文件系统(空格分割) PRUNEFS = "" # 不搜索的文件类型(空格分割) PRUNEPATHS = "" # 不搜索的路径(空格分割) PRUNEPATHS = ""
find
# 在根目录开始递归使用文件名搜索install.log文件 find / -name install.log # 使用通配符 find / -name "install*" # 搜索abc或abd文件 find / -name "ab[cd]" # 搜索时不区分大小写(可以搜索到INSTALL.log) find / -iname install.log # 按照文件所有者进行搜索(搜索root用户的文件) find / -user root # 搜索没有所有者的文件 find / -nouser # 按照时间进行搜索 # 搜索10天前修改的文件 find / -mtime +10 # -10 10天内修改的文件 # 10 10天当天修改的文件 # +10 10天前修改的文件 # atime 文件访问时间 # ctime 改变文件属性的时间 # mtime 修改文件内容的时间 # 按照文件大小搜索(搜索大小是25KB的文件) find / -size 25k # -25k 小于25KB的文件 # 25k 等于25KB的文件 # +25k 大于25KB的文件 # 可以把k换成M,表示兆,注意大小写 # 按照文件i节点搜索(搜索123456节点的文件) find / -inum 123456 # 示例 # 查找/etc目录下,大于20KB且小于50KB的文件 find /etc -size +20k -a -size -50k # -a and 逻辑与 # -o or 逻辑或 # 对搜索结果执行操作(-exec/ok 命令 {} \;) # 查找根目录下小于大于1KB且小于1024KB的文件和文件夹,并调用ls -i命令显示其i节点 find / -size +1k -a -size -1024k -exec ls -i {} \;
学习到了Linux中文件搜索和命令搜索的更多内容,实用