Linux下四个常用的查找命令:which、whereis、locate、find

Which命令会在$PATH环境变量指定的路径中搜索指定名称的可执行文件,Linux下的查找命令whereiswhereis是另外一个用于查询程序所在路径和帮助文档路径等信息的工具。

Linux下的查找命令which

在Linux系统中,我们经常需要查找某个命令的位置,这时候就可以使用which命令来进行查询。Which命令会在$PATH环境变量指定的路径中搜索指定名称的可执行文件,并返回该文件所在路径。

比如,我们要查询ls这个命令所在位置,只需要输入以下命令:

“`

$ which ls

/bin/ls

从上述结果可以看出,ls这个可执行文件位于/bin目录下。

但是需要注意的是,在有些情况下可能存在多个同名文件(例如别名),此时which只会显示最先被搜索到并且可执行权限被设置的那一个。

Linux下的查找命令whereis

whereis是另外一个用于查询程序所在路径和帮助文档路径等信息的工具。与which不同之处在于它还能够显示程序相关文档和源代码等信息。

比如我们要查询vim编辑器相关信息:

$ whereis vim

vim: /usr/bin/vim.basic /usr/share/vim /usr/share/man/man1/vim.1.gz

从上述结果可以看出vim编辑器相关二进制文件位于/usr/bin目录下,并且还有一些帮助文档和man手册等资源位于/usr/share/vim目录和/usr/share/man/man1/vim.1.gz文件中。

Linux下的查找命令locate

locate命令是一种快速搜索文件的工具,它使用一个数据库进行搜索而不是像find一样实时遍历整个文件系统。由于使用数据库进行搜索,因此速度非常快。

但是需要注意的是,为了保证结果准确性和及时性,在使用locate前需要先执行updatedb命令来更新数据库。

比如我们要查询所有以”.conf”结尾的配置文件:

Linux下四个常用的查找命令:which、whereis、locate、find

$ locate *.conf

/etc/abrt/abrt.conf

/etc/adduser.conf

/etc/apparmor.d/cache/usr.bin.libreoffice.6.0.7.soffice.bin

……

从上述结果可以看出,查询到了所有以”.conf”结尾的配置文件,并且速度非常快。

Linux下的查找命令find

find命令是最强大、最灵活、也最复杂的一个查找工具。它能够递归地在指定目录下查找符合条件的文件,并对其进行处理(例如删除、复制等)。

语法格式为:

$ find [path] [expression]

其中path表示要查找的路径,expression表示匹配表达式。例如我们要查询当前用户主目录下所有以”.txt”结尾并且大小超过10M字节(即10485760字节)以上的文本文件:

$ find ~ -name “*.txt” -size +10485760c -type f

从上述结果可以看出,查询到了所有符合条件的文本文件,并且可以对其进行相关处理。

四种查找命令各有特色,我们可以根据实际需求来选择使用。如果只是简单的查找某个命令所在位置,就可以使用which或者whereis;如果需要快速地搜索文件,则推荐使用locate命令;而如果需要更加灵活和复杂的搜索功能,则建议使用find命令。

无论是哪种方式,都能够帮助我们更加高效地完成Linux系统中的各种操作。

最后提醒大家,在进行Linux系统操作时一定要小心谨慎,避免误操作造成不必要的损失。