Linux常用查找命令

[复制链接]

975

主题

975

帖子

629

积分

高级会员

Rank: 4

积分
629
分享到:
发表于 2022-7-5 13:09:07 | 显示全部楼层 |阅读模式
whereis命令
简单快速方法
$ whereis ls

可以搜索到“ls” 命令以及它的联机帮助文档所在的位置。由于 whereis 是在一个数据库中(/var/lib/mlocate/)查询,因此 whereis 查询速度很快。这个数据库是 Linux 是系统自动创建的,包含有本地所有文件信息,并且每天通过自动执行 updatedb 命令更新一次。由于数据库每天更新一次,因此 whereis 对于刚添加到文件可能搜索不到,若需要更准确的结果,需要先手动执行 updatedb 。
locate命令
locate 与 whereis 类似,使用相同的数据库,但 locate 有更复杂的匹配语法。
$ locate ls

将会匹配到无论是文件名还是路径中出现过的“ls” 文件,但有时候太多,需要精确搜索,可以:
$ locate -b "\ls"

但 locate 和 whereis 有相同的缺点。为了速度,需要牺牲准确性。
which命令
常用搜索命令
$ which gcc

它只是在 $PATH 环境变量中指定的路径搜索可执行文件所在的位置,一般用于确定是否安装了指定软件。如上述例子,若安装了 gcc,则返回 gcc 程序的路径,否则报错。
find命令
最强大命令, find 查找非常耗时,但准确性最高。
find < path > < expression > < cmd >

path: 所要搜索的目录及其所有子目录。默认为当前目录
experssion:所要搜索的文件的特征
cmd:对搜索结果进行特定的处理
find常用选项及实例
-name 按照文件名查找文件
$ find /dir -name filename

$ find . -name filename ???????#当前目录及其子目录(用“.”表示)
-perm 按照文件权限来查找文件
$ find . -perm 644

grep命令
一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
1

grep [选项] pattern [文件名]

选项与参数:
-a :将 binary 文件以 text 文件的方式搜寻数据
-c :计算找到 ‘搜寻字符串’ 的次数
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 ‘搜寻字符串’ 内容的那一行
pattern 为所要匹配的字符串
grep 一般结合管道使用,非常好用!

使用高级回帖 (可批量传图、插入视频等)快速回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则   Ctrl + Enter 快速发布  

发帖时请遵守我国法律,网站会将有关你发帖内容、时间以及发帖IP地址等记录保留,只要接到合法请求,即会将信息提供给有关政府机构。
快速回复 返回顶部 返回列表