Linux 中的环境变量 PATH

为什么有时候有些命令明明有,系统却提示你无相关命令呢?
为什么我们可以在任何目录下使用ls呢?
就是因为 PATH—环境变量(一定要大写)

先来认识一下什么是环境变量,用 echo $PATH 命令
在这里插入图片描述
在这里插入图片描述
当我们使用一些命令时,系统会按照下方现实的文件顺序来查询相关文件
可以发现,普通用户和root账户的查询路径不太一样,普通用户没有任何关于sbin的文件,丹所有用户都有 /bin文件,这就是为什么在任何文件目录下都可以使用ls的原因

如果将 /bin/ls 移到 /root下呢?
在这里插入图片描述
现在ls不能用了,那是因为PATH里面没有/root,但可以通过绝对路径或者相对路径使用这条命令
/root/ls 或者 ./root(当前在/root)

现在可以通过添加环境变量让ls重新在任何目录下使用
PATH=$PATH:/root ()填在原有环境变量最后面)

在这里插入图片描述
在这里插入图片描述

总结:
1.不同身份默认的PATH是不同的
2.PATH是可以修改的
3.使用绝对路径或者相对路径来执行某个命令比查询PATH更准确(因为有些命令不止存在一个文件里,会有限执行PATH前面的)
4.为了安全起见,不把"."本目录加到PATH中

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值