L35.linux命令每日一练 -- 第五章 Linux信息显示与搜索文件命令 -- which和whereis

5.9 which:显示命令的全路径

5.9.1 命令详解

【命令星级】 ★★★★★

【功能说明】

​ which命令用于显示命令的全路径,我们常用这个命令查找命令在哪里,which命令查找的范围是PATH环境变量的路径。

【语法格式】

which [option] [programname]
which [选项] [命令名]

​ **说明:**which命令用于在PATH环境变量里查找指定的命令。

【选项说明】

​ 表5-9针对which命令的参数选项进行了说明。

​ 表5-9 which命令的参数选项及说明
在这里插入图片描述

5.9.2 使用范例

​ **范例5-27:**通过which命令查找指定命令全路径。

[root@centos7 ~]# echo $PATH	#先查看环境变量。
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@centos7 ~]# type date	#查看date是外部命令。
date is /usr/bin/date
[root@centos7 ~]# which date	#查看date命令路径。
/usr/bin/date
[root@centos7 ~]# type which	##查看which是一个别名。
which is aliased to `alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
[root@centos7 ~]# which which	#查看which命令路径。
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
	/usr/bin/alias
	/usr/bin/which

[root@centos6 ~]$ type cd	#查看cd是内部命令。
cd is a shell builtin
[root@centos6 ~]$ which cd	#在Centos 6里,Bash内部命令是无法使用which。
/usr/bin/which: no cd in (/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)

[root@centos7 ~]# type cd	#查看cd是内部命令。
cd is a shell builtin	
[root@centos7 ~]# which cd	#在CentOS 7里,可以使用which查看内部命令路径。
/usr/bin/cd
[root@centos7 ~]# ll -d /bin
lrwxrwxrwx. 1 root root 7 Oct  1 14:39 /bin -> usr/bin	#是因为/bin目录是/usr/bin的软链接。
[root@centos7 ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin		#PATH环境变量里有/usr/bin路径,所以在CentOS 7里,可以使用which查看内部命令路径。

​ **范例5-28:**参数-a测试。

[root@centos7 ~]# which mysql	#该实验需要MySQL服务环境。
/usr/local/sbin/mysql
[root@centos7 ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin	
[root@centos7 ~]# PATH=$PATH:/application/mysql/bin/	#添加路径到环境变量。
[root@centos7 ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/application/mysql/bin/
[root@centos7 ~]# which -a mysql	#所有包含mysql命令的路径都显示出来里。
/usr/local/sbin/mysql
/application/mysql/bin	#/application/mysql/bin路径是编译的mysql路径。

5.10 whereis:显示命令及其相关文件全路径

5.10.1 命令详解

【命令星级】 ★★★★☆

【功能说明】

​ whereis命令用于定位指定命令的可执行文件、源码文件及man帮助文件的路径。

【语法格式】

whereis [option] [filename]
whereis [选项] [文件名]

​ **说明:**whereis命令用于在PATH环境变量里查找指定的命令。

【选项说明】

​ 表5-10针对whereis命令的参数选项进行了说明。

​ 表5-10 whereis命令的参数选项及说明

在这里插入图片描述

5.10.2 使用范例

​ **范例5-29:**通过whereis命令将相关的文件都查找出来。

[root@centos7 ~]# whereis svn
svn: /usr/bin/svn /usr/share/man/man1/svn.1.gz
[root@centos7 ~]# whereis -b svn	#只查找可执行文件。
svn: /usr/bin/svn
[root@centos7 ~]# whereis -m svn	#只查找man帮助文件。
svn: /usr/share/man/man1/svn.1.gz
[root@centos7 ~]# whereis -s svn	#只查找源代码文件。
svn:	#没有找到相应的文件。

猜你喜欢

转载自blog.csdn.net/qq_25599925/article/details/125686545