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 一般结合管道使用,非常好用!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。