与服务器斗智斗勇之$PATH

我们可以在任何路径下面执行/bin/ls这个命令,也就是我们常用的ls -al,但是我们知道很多时候输入一个命令会显示说找不到这个命令的,为啥子ls这种一直都可以使用呢,这就是环境变量PATH的原因了

当我们输入一个命令,例如ls,系统会按照这个变量的定义目录下的可执行文件挨个查找,但是待会看到例子中的可执行文件就晓得了,会有很多,那如何是好呢·······先到先得即可

以root身份查看一下目前的路径

[root@localhost ~]# echo $PATH
/usr/lib64/qt-3.3/bin:/root/perl5/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/mysql/bin:/root/bin
[root@localhost ~]# su - wangjie
上一次登录:日 6月 17 19:01:05 CST 2018:0 上
[wangjie@localhost ~]$ echo $PATH
/usr/lib64/qt-3.3/bin:/home/wangjie/perl5/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/usr/local/mysql/bin:/home/wangjie/.local/bin:/home/wangjie/bin
 

查询文件是用‘:’冒号分割的,是有顺序之分的,切换到普通用户,会发现消失了sbin,这就是权限的设置方面,毕竟root才是真正的大佬

[root@localhost ~]# ls
anaconda-ks.cfg  initial-setup-ks.cfg  perl5  公共  模板  视频  图片  文档  下载  音乐  桌面
[root@localhost ~]# mv /bin/ls /root
[root@localhost ~]# ls
-bash: /usr/bin/ls: 没有那个文件或目录
[root@localhost ~]# /root/ls
anaconda-ks.cfg  initial-setup-ks.cfg  ls  perl5  公共    模板  视频  图片  文档    下载  音乐  桌面
[root@localhost ~]# PATH="$PATH":/root
[root@localhost ~]# ls
anaconda-ks.cfg  initial-setup-ks.cfg  ls  perl5  公共  模板  视频  图片  文档  下载  音乐  桌面
[root@localhost ~]# mv /root/ls /bin
[root@localhost ~]# ls
-bash: /root/ls: 没有那个文件或目录
[root@localhost ~]# PATH="$PATH":/bin
[root@localhost ~]# ls
anaconda-ks.cfg  initial-setup-ks.cfg  perl5  公共  模板  视频  图片  文档  下载  音乐  桌面
[root@localhost ~]# 
 

简单来说,有这个路径,就可以查询到这个命令的执行文件,能找到这个执行文件,就可以执行命令,而如果我们通过‘mv /bin/ls /root’把/bin/ls移动为/root/ls,那可以使用吗,很明显我们是找不到这个执行文件了,因为路径里并没有设定,自然而然会报错,而此时我们只需要一个/root/ls就可以指定这个文件名,一样可以执行这个文件,当然这样感觉怪怪的·····

那么有没有又简单又永久的法子呢,当然有,既然是路径里没有/root,所以找不到这个执行文件,那我们把心得执行文件路径加进去就好了

PATH="$PATH":/root

此时就可以完成了,在任何目录下都可以执行这个文件了,因为心得/root已经被添加进了路径条目

当然有一点,添加的时候一定要用绝对路径,因为我们经常用cd切过来切过去的

还有这个例子改完了记得把/root/ls返回到/bin目录下,玩可以,玩崩就过了

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值