简述Linux的PATH变量

PATH

  我们执行命令命令需要用到PATH变量

  [root@oldboyedu ~]# echo $PATH
  /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

shell的执行过程

  第一步:
        命令在什么位置?
        为什么直接可以在任意的位置执行所有命令?
  
  [root@oldboyedu ~]# which cat
  /usr/bin/cat

  第二步:
        当我们执行cat命令 坏先查找PATH变量中所有的目录位置
        如果找到执行命令 如果找不到则返回命令找不到 command not fount

  第三步:
        测试把cat命令移动到/tmp目录
        执行cat命令  ---> 无法执行
        如果想执行必须使用命令的 绝对路劲
        /tmp/cat hots执行

  第四步:
    解决方法
        1. 移动到/usr/bin目录
        2. 把新增的位置增加到PATH变量中
           [root@oldboyedu ~]# PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/tmp"
           但只临时生效 退出失效
           永久失效 ---> 写入/etc/profile中即可
           [root@oldboyedu ~]# tail -1 /etc/profile
           PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/tmp"

        [root@oldboyedu ~]# echo $PATH
        /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
        [root@oldboyedu ~]# PATH="$PATH:/tmp"
        [root@oldboyedu ~]# echo $PATH
        /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/tmp

简述Linux的PATH变量

上一篇:64位系统的下的32位和64位进程的自动转向问题


下一篇:【Mac】mac执行.py文件的正确姿势