- which 能够查看命令所在的路径
- which查询的路径是经过如下的路径,进行查询
[root@aminglinux-01 ~]# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@hf-01 ~]# which ls 查看ls所在路径 alias ls='ls --color=auto' /usr/bin/ls [root@hf-01 ~]# ls /usr/bin/ls /usr/bin/ls [root@hf-01 ~]# cp /usr/bin/ls /tmp/ls2 复制/usr/bin/ls路径到/tmp/ls2下 [root@hf-01 ~]# /tmp/ls2 使用命令/tmp/ls2查看结果,会发现和ls命令出来的结果同样 anaconda-ks.cfg [root@hf-01 ~]# ls anaconda-ks.cfg [root@ahf-01 ~]# ls2 执行ls2命令,会提示未找到命令,由于这个命令不在上述目录里面 -bash: ls2:未找到命令 [root@hf-01 ~]# PATH=$PATH:/tmp/ 若想直接运行ls2命令,须要改变环境变量 从新给PATH赋值 [root@hf-01 ~]# echo $PATH 会发现多出了/tmp/ /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/tmp/ [root@hf-01 ~]# ls2 这时在运行发现就能够执行了 anaconda-ks.cfg [root@hf-01 ~]# which ls2 /tmp/ls2
1.在系统 vi /etc/profile (在开机、打开终端都会加载这个命令) 2.结尾处加上PATH=$PATH:/tmp/ 并保存退出 3.在使用cat /etc/profile查看下是否加载成功 4.这时echo $PATH会获得/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/tmp/:/root/bin 如今无论哪个终端均可以执行ls2命令,都会执行成功
若不想要这个ls2命令了,有两种方法。linux
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin (去除:/tmp/) 这时在执行ls2命令,就会失效
快捷键dd,删除PATH=$PATH:/tmp/并:wq保存 在去新建终端,执行echo $PATH 就会发现/tmp/目录消失了