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变量