locate命令
命令名: locate
语法:locate 文件名
功能:在文件资料库中查找文件
例子1
如上图,locate加文件名就可以查找文件。之前已经介绍过linux中的文件搜索命令find,但locate命令和find命令存在很大的不同,find命令直接在硬盘上进行查找,而locate命令则在文件资料库中进行查找,因此locate命令的查找速度更快。
例子2
如上图所示,先在root目录下创建一个新文件test0000,然后用locate命令查找该文件,结果表明该命令未能查到该文件。然后用find命令查找该文件,结果发现可以查到该文件。这是因为test0000是新建文件,而文件资料库中还没有该文件,所以此时用locate命令不能查找到该文件。我们可以用update命令手动更新文件资料库,之后便能通过locate命令查找到test0000文件。(文件资料库也会自动地定时更新)
例子3
需要注意的是,locate命令不能搜索到 /tmp 目录下的文件。如上图所示,创建一个新文件test1111,因为locate命令不能搜索到 /tmp 目录下的文件,因此即使用updatedb命令更新文件资料库,locate命令也不能查找到新建的test1111文件。
例子4
如上图所示,locate命令查找文件时区分文件名的大小写,添加 -i 后则不区分大小写。
which命令
命令名:which
语法:which 命令
功能:搜索命令所在目录以及别名信息
例子5
如上图所示,第一行画线处是说明 rm 命令是 rm -i 的别名。第二行画线是 rm 命令所在的位置。从第一行画线我们知道,我们所用的 rm 命令实际上是 rm -i 的别名,实际上 rm 命令并不具有删除前询问的功能,加上 -i 之后才具有删除前询问的功能。因此我们平时用的 rm 命令实际上是 rm -i.
whereis命令
命令名:whereis
语法:whereis 命令名
功能:搜索命令所在目录及帮助文档路径
例子6
如上图所示,whereis不仅能显示出该命令所在的位置,也能显示出该命令的帮助文档所在的位置。
grep命令
命令名:grep
语法:gerp -iv [字符串] [文件]
功能:在文件中搜索字符串匹配的某些行,并输出
-i 不区分大小写
-v 排除指定字符串
例子7
如上图所示,通过grep命令显示出 /etc/inittab 文件中包含 multi 的行。默认情况下区分字符串的大小写 ,加上 -i 则不区分大小写。
例子8
井号 # 后面一般跟的是注释,如果我们不想看注释则可以通过 -v 来排除包含 # 的行,考虑到 # 不一定仅在行首,也可能在一行的中间,因此在#前加上 ^ 表示排除行首是 # 的行。