从零开始学习Linux(八):其他文件搜索命令

1、locate

命令作用:在文件资料库中搜索文件或目录
命令格式:locate [关键字]

查找qinghuaci.txt文件,执行命令

locate qinghuaci.txt

locate命令搜索的特点:

  • 从文件资料库中搜索,因此查找速度很快;
  • 文件资料库并非实时更新的,所以会出现文件存在但是查询不到的结果;
  • 如果要查找的文件在/tmp临时目录下,locate命令是查找不到的。文件资料库中不存储临时文件中的内容;
  • 如果想查询新创建的文件或目录,则需要通过updatedb命令更新文件资料库;

在opt/song目录下面创建caihong文件,然后通过locate命令查询。结果未查询到,如下图所示:

更新文件资料库,执行命令:

updatedb

再次查询caihong文件,文件被查询到了。

locate查询忽略大小写。
命令格式:locate -i [关键字]

执行命令:

locate -i tiantiande

从上图中可以看到,直接查找tiantiande这个文件,没有任何结果。忽略掉大小写以后能够查询到Tiantiande文件。

2、which

命令作用:查找命令存放位置
命令格式:which [命令关键字]

查看mkdir命令的位置,执行命令:

which mkdir

可以看到,mkdir命令是在 /usr/bin/mkdir目录下。

查看rm命令,执行命令:

which rm

alias是别名的意思,即当我们执行rm命令时,真正执行的是rm -i。

3、whereis

命令作用:查找命令存放位置以及命令的帮助信息文档所在位置
命令格式:whereis [命令关键字]

同时查询rm mkdir touch useradd四个命令,多个命令之间使用空格分开。执行命令:

whereis rm mkdir touch useradd

执行结果如下图所示:

4、grep

命令作用:在文件内查找字符匹配的行并且输出
命令格式:grep -iv [字符串] [文件]

  • -i 不区分大小写查找;
  • -v 排除指定字符串;

在qinghuaci.txt文件查找青花,执行命令:

grep 青花 qinghuaci.txt

在qinghuaci.txt文件中搜索包含w的行数据,执行命令:

grep w qinghuaci.txt

在qinghuaci.txt文件中忽略大小写,搜索包含w的行数据,执行命令:

grep -i w qinghuaci.txt

排除掉文件中以#开头的行数据,执行命令:

grep -v ^# qinghuaci.txt

排除掉文件中以素胚开头的行数据,执行命令:

grep -v ^素胚 qinghuaci.txt

执行过程如下图所示:

注意:命令中^是不能缺少的。

你可能感兴趣的:(从零开始学习Linux(八):其他文件搜索命令)