2.10 环境变量PATH

which命令介绍

  • which 可以查看命令所在的路径
  • which查询的路径是通过以下的路径,进行查询
[root@aminglinux-01 ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
  • 这个路径又以 : 分割 如果命令在以上路径内,可以不用输入绝对路径,真正使用命令是通过绝对路径进行操作

which例子

[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

新建的环境变量在终端失效了

  • 这时,打开一个终端,执行ls2命令,会发现又失效了 (打开终端方法,鼠标右击-复制SSH渠道)
  • 若想一直生效,

解决方法

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命令,方法

若不想要这个ls2命令了,有两种方法。

  1. 方法一:重新赋值
    PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin		(去除:/tmp/)
    这时在执行ls2命令,就会失效
    
  2. 方法二:重新编辑文件/etc/profile
    快捷键dd,删除PATH=$PATH:/tmp/并:wq保存
    在去新建终端,执行echo $PATH
    就会发现/tmp/目录消失了
    

转载于:https://my.oschina.net/u/3707314/blog/1555687

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值