【Linux入门】六、文件搜索命令 -- 其他文件搜索命令

文件搜索命令

文件搜索命令 locate

命令名称:locate

命令所在路径:/usr/bin/locate

执行权限:所有用户

语法:locate 文件名

功能描述:在文件资料库中查找文件(主要对于一些系统文件查找)

用法:

locate查找文件时不像find一样(遍历搜索范围),而是建立了一个文件资料库(会定期更新),在资料库中搜索文件,所以搜索速度很快。

使用locate搜索inittab文件:

【Linux入门】六、文件搜索命令 -- 其他文件搜索命令

使用locate搜索文件存在的问题:

1)如果一个新建立的文件,没有被收录到文件资料库,使用locate就无法搜索到。

【Linux入门】六、文件搜索命令 -- 其他文件搜索命令

可以使用updatedb更新文件资料库,便可以找到。

2)如果想要查找的文件不在文件资料库收录的范围内,比如存放在/tmp目录下的文件,就无法使用locate查找;

对于一些系统文件的查找,可以使用locate作为find补充,快速查找到文件所在的位置。

3)locate -i 文件名,忽略大小写

文件搜索命令 which

一般来讲,存放在/bin,/usr/bin中的命令,所有用户都可以使用,而存放在/sbin,/usr/sbin中的命令,只有root用户可以使用;

使用find可以查找到命令存放的目录,但速度较慢,如何快速找到命令的文件位置呢?

命令名称:which

命令所在路径:/usr/bin/which

执行权限:所有用户

语法:which 命令

功能描述:搜索命令所在的目录及别名信息

用法:

【Linux入门】六、文件搜索命令 -- 其他文件搜索命令

可以看到,which命令除了可以查找到命令位置外,还可以显示命令的别名;

如cp别名cp -i,rm别名rm -i,而useradd没有别名;

(-i这个选项实际上就是询问确认的选项)

文件搜索命令 whereis

命令名称:whereis

命令所在路径:/usr/bin/whereis

执行权限:所有用户

语法:whereis 命令

功能描述:搜索命令所在的目录及帮助文档目录

用法:

【Linux入门】六、文件搜索命令 -- 其他文件搜索命令

除了查找命令的绝对路径外,还可以找到命令对应的帮助文档的位置。

文件搜索命令 grep

命令名称:grep

命令所在路径:/bin/grep

执行权限:所有用户

语法:grep -iv [指定字串] [文件]

功能描述:在文件中搜索字串匹配的行并输出

                  -i 不区分大小写

                  -v 排除指定字串 

用法:

其中,grep -v ^# /etc/inittab 代表查找到非#开头的行并输出

【Linux入门】六、文件搜索命令 -- 其他文件搜索命令