Linux第二周学习笔记(4)


2.10环境变量PATH

PATH:只要加入了PATH的路径都可以直接打开命令,可以不去运行命令的绝对路径。这就是环境变量在起作用。

which命令:用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。

[root@daizhihong01 ~]# which rmdir

/usr/bin/rmdir

 [root@daizhihong01 ~]# echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

which指令会在环境变量$PATH设置的目录里查找符合条件的命令,也就是说which直接在$PATH设置的目录里直接查找命令的绝对路径比较迅速,如果说你键入的命令在$PATH设置的目录里,就不需要键入这个命令的绝对路径直接键入命令即可。

----------------------------------------------------------------------------------------

实验运行ls/usr/bin/ls效果是一样的,也就是说ls$PATH设置的目录里就自己键入ls就可以了

[root@daizhihong01 ~]# which ls

alias ls='ls --color=auto'

  /usr/bin/ls

[root@daizhihong01 ~]# ls

anaconda-ks.cfg

[root@daizhihong01 ~]# /usr/bin/ls

anaconda-ks.cfg

----------------------------------------------------------------------------------------

复制ls命令到/tmp/目录下新建一个ls1的名称,新建好了以后我们运行“ls1”的绝对路径是可以使用的,如果直接使用ls1就不行了,因为/tmp/目录没有在$PATH设置的目录里所以不能直接键入ls1命令

[root@daizhihong01 ~]# which ls

alias ls='ls --color=auto'

  /usr/bin/ls

[root@daizhihong01 ~]# cp /usr/bin/ls /tmp/ls1

[root@daizhihong01 ~]# /tmp/ls1

anaconda-ks.cfg

[root@daizhihong01 ~]# ls1

-bash: ls1: 未找到命令

---------------------------------------------------------------------------------------------

如果要直接使用ls1那就需要更改环境变量,把/tmp/这个目录加入到$PATH设置的目录,一下的实验结果只要把ls1所在目录/tmp/加入到$PATH设置的目录下就可以直接运行ls1,查看路径就可以直接查看到了

[root@daizhihong01 ~]# PATH=$PATH:/tmp/

[root@daizhihong01 ~]# echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/tmp/

[root@daizhihong01 ~]# ls1

anaconda-ks.cfg

 [root@daizhihong01 ~]# which ls1

/tmp/ls1

[root@daizhihong01 ~]#

以上两个实验就是环境变量的作用以及含义

------------------------------------------------------------------------------------------- 

当我们在从新打开一个终端的时候,发现ls1又不能使用了,在查一下$PATH设置的目录下/tmp/目录又不存在了,所以我们需要做一个永久性的设置

[root@daizhihong01 ~]# ls1

-bash: ls1: 未找到命令(在新的终端不能运行)

[root@daizhihong01 ~]#

-----------------------------------------------------------------------------------------

编辑/profile/文件在最后一行加入PATH=$PATH:/tmp/,在此打开终端就可以看到/tmp/就永久的加到了$PATH设置的目录下,键入ls1就可以直接使用了

[root@daizhihong01 ~]# vi /etc/profile编辑profile文件在最后一行加入PATH=$PATH:/tmp/

[root@daizhihong01 ~]# echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/tmp/:/root/bin

[root@daizhihong01 ~]# ls1(再次打开终端这时键入ls1就可直接使用)

anaconda-ks.cfg

Linux第二周学习笔记(4)_管理

----------------------------------------------------------------------------------------

新添加ls1以后不需要的话,是可以删除ls1

[root@daizhihong01 ~]# echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/tmp/:/root/bin

[root@daizhihong01~]#PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin

 [root@daizhihong01 ~]# ls1

-bash: ls1: 未找到命令

[root@daizhihong01 ~]# echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin

这样就直接从$PATH设置目录里面删除了/tmp/目录

第二种删除的方法

[root@daizhihong01 ~]# vi /etc/profile编辑profile文件删除最后一行PATH=$PATH:/tmp/就可以了

[root@daizhihong01 ~]# echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/tmp/:/root/bin

再次查询在$PATH设置目录里面就没有/tmp/目录了