博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2.10 环境变量PATH
阅读量:6571 次
发布时间:2019-06-24

本文共 1370 字,大约阅读时间需要 4 分钟。

hot3.png

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

你可能感兴趣的文章
文件系统 第八次迭代 VFS相关说明
查看>>
速读《构建之法:现代软件工程》提问
查看>>
SpringCloud注册中心环境搭建euraka
查看>>
ElasticSearch 安装使用
查看>>
React性能分析利器来了,妈妈再也不用担心我的React应用慢了(转)
查看>>
信息安全管理(1):组织的三个层面
查看>>
原生JS实现圆周运动
查看>>
文件的读写
查看>>
前端面试通关指南
查看>>
制作首页的显示列表。
查看>>
同样加班 不同收获
查看>>
数据公钥加密和认证中的私钥公钥
查看>>
c语言中的位移位操作
查看>>
object-c语言的nonatomic,assign,copy,retain的区别
查看>>
js 正则之检测素数
查看>>
linux-多线程
查看>>
第40周二
查看>>
使用虚拟机运行Ubuntu时,主机与宿主机共享文件的方法。
查看>>
EJB究竟是什么,真的那么神奇吗??
查看>>
海茶3 らぶデス3 入门经典教程
查看>>