每天一个Linux命令(16)--which命令

时间:2022-07-20 23:31:50

   把昨天的,留给昨天;今日,你将重新开始。

  好的,在第一个阶段我们学习了  文件目录的操作命令:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
ls cd pwd mkdir rm rmdir mv cp touch cat nl more less head tail

  接下来我们将学习  文件查找命令: 

1 2 3 4
which whereis locate find(exec/xargs)

  话不多说,which 走起:

  which 查看可执行文件的位置

  whereis  查看文件的位置

  locate  配合数据库查看文件位置

  find  实际搜寻硬盘查询文件名称

  which  命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果,也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。

    1.命令格式:

      which   可执行文件名称

    2.命令功能:

      which 指令会在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。

    3.命令参数:

      -n  指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。

      -p  与-n参数相同,但此处的包括了文件的路径。

      -w  指定输出时栏位的宽度。

      -v  显示版本信息。

    4.使用实例:

      实例1:查找文件、显示命令路径

      命令:    

        which   pwd  它会输出一个路径/bin/pwd,  which 是根据使用者所配置的  PATH  变量内的目录去搜寻可运行文档的,所以,不同的 PATH  配置内容所找到的命令当然不一样的。

      实例2:用 which  去找 which

      命令:

        which  which  它会输出两个路径:alias   which='alias | /usr/bin/which   --tty-only --read-alias  --show-dot  --show-tilde'

                            /usr/bin/which

      这两个其中一个  alias   这就是所谓的【命令别名】, 如果一个命令有  alias ,which 会把它的 别名与路径都打印出来。

      实例3:找出  cd  命令

      命令:  

        which  cd

      输出一堆:/usr/bin/which: no cd  in (PATH)

      这里区分一下, cd 命令没有找到,是因为  cd  命令不在搜索范围内,它是  bash 內建的命令~,但是which 是从 PATH 中去搜索的。所有找不到。