Linux的查找命令—find whereis which
2019-05-09 本文已影响74人
黄晶_id
学习Linux里常用的查找命令:find whereis which
whereis
命令只能用于程序名的搜索;
whereis bowtie2
:返回bowtie2软件的绝对路径。which
命令的作用是在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果;
which bowtie2
:返回的是bowtie2在环境变量中的位置。find
查找文件,可以用它找到任何你想找的文件。
find / -name picard.jar
:这个磁盘查找名为 picard.jar的文件位置;
find / -name picard.jar 2>null
:只输出找到的结果,找不到的输出扔掉。
应用实例
以问题为导向,看下什么情况用什么查找命令
明明安装了bowtie2
软件,就是没办法使用。
这时候就需要使用命令
whereis bowtie2
找到软件的绝对路径,再调用bowtie2
软件即可成功。同时,我们使用
which
看下有什么不同which
命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,which
只是在显示命令的全路径,不是软件的绝对路径所以并不能成功调用软件。
在使用picard
去除PCR重复时,有时也需要给picard.jar
一个绝对路径才能成功调用。
查找软件安装的绝对路径使用的是
whereis
,那文件的查找就需要用find
了在根目录下查找名为
picard.jar
的文件,表示在整个硬盘查找:$ find / -name picard.jar
$ find / -name picard.jar
find: ‘/proc/24753/task/24753/ns’: Permission denied
find: ‘/proc/24753/fd’: Permission denied
find: ‘/proc/24753/map_files’: Permission denied
find: ‘/proc/24753/fdinfo’: Permission denied
find: ‘/proc/24753/ns’: Permission denied
find: ‘/proc/25044/task/25044/fd’: Permission denied
find: ‘/proc/25044/task/25044/fdinfo’: Permission denied
find: ‘/proc/25044/task/25044/ns’: Permission denied
find: ‘/proc/25044/fd’: Permission denied
find: ‘/proc/25044/map_files’: Permission denied
find: ‘/proc/25044/fdinfo’: Permission denied
find: ‘/proc/25044/ns’: Permission denied
这时候我们看到满屏的Permission denied
正确的返回结果也会淹没在其中,有没有一个方法,让我们只看到正确的返回路径,把这些Permission denied
过滤掉,不显示在屏幕上(标准输出)?
$ find / -name picard.jar 2>null
这样就是只返回正确的结果。