聊聊linux中的执行文件路径的变量$PATH

执行文件路径的变量$PATH

来看一下下面这个操作
在这里插入图片描述

可以发现查阅文件属性的指令ls就是/bin/ls指令,我们从指令的形式可以发现/bin/ls就是以绝对路径来执行指令,
(这里提醒一下根目录下好像并没有bin文件夹,诶等等,仔细想想?没错根目录里虽然没有bin目录,但是有usr目录啊!所以/bin/ls实际上也是/usr/bin/ls指令,所以这里强调一下/bin是连结到/usr/bin当中嗷~)
所以我们在任何目录下都可以执行/bin/ls指令,那么为啥我们在任何目录都可以输入ls指令来查看到文件路径呢?

因为 环境变量$PATH的效果

系统会依照PATH的设定去每个PATH定义的目录下搜索名为ls的可执行文件,如果PATH环境变量中定义的目录含有多个名为ls的可执行文件,那么先搜索到的ls同名指令就会被执行

这里我们使用echo查看指令来看一下我们当前机器的环境变量echo $PATH
在这里插入图片描述

PATH环境变量的内容是由一堆目录所组成,每个目录中由:分割各个目录间是由顺序之分哒~
如果我们想把一个可执行文件变成我们的系统指令之一,那么我们可以把我们想变成指令的可执行文件放入到环境变量中。

那么如果我们想添加其他的目录到环境变量中怎么做呢?

比如这里我把root设置为环境变量中的一个目录,可以执行PATH=”${PATH}:/root”指令,可以看出来这条指令的意思就是让环境变量等于原来环境变量的基础上在用:分割再加一个后面新增的/root绝对路径
对了${PATH}就等于$PATH,只不过${PATH}对变量来说可以更明确出变量的名称。

注意

  • 不同身份使用者预设的PATH是不太同的,默认能够随意执行的指令也是不同的。如果切换身份后使用echo $PATH所显示的环境变量目录是相同的,那可能对于你自己来说,你这个的root和xxxx的身份预设的PATH是相同;
  • PATH是可以修改的;
  • 使用绝对路径或者相对路径直接指定某个指令的文件名来执行会比搜PATH来的正确;
  • 指令应该放在正确的目录下,执行才会方便;
  • 本目录(即.)最好不要放到PATH当中;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值