执行文件路径的变量:$PATH

2018-01-25 14:46:32 6316

 举例“ls”,我们知道查看文件属性的命令ls的完整文件名为/bin/ls(绝对路径),那为什么我们怎么会在任何地方执行/bin/ls这个命令呢?为什么我们在任何目录下输入ls而不会提示找不到该/bin/ls命令呢?这主要是因为环境变量PATH。

       当我们在执行一个命令的时候,系统会依照PATH的设置去每个PATH定义的目录下查询文件名的可执行文件
,如果在PATH定义的目录中含有多个相同可执行文件,那么先查询到的同名命令先被执行。

       利用echo可以查看出PATH中那些目录被定义出来了,echo有“显示,打印出”的意思。
       grep基本命令与正则表达式
       PATH(一定是大写)这个变量的内容是由一串目录所组成的,每个目录中间用冒号(:)来隔开,每个目录是有“顺序”之分的。

       举例“ls”我们将/bin/ls执行文件移到/root目录下(非正规目录)。##务必使用root身份##
       执行文件路径的变量:$PATH
      接下来你在任何目录下面输入任何与ls相关的命令,都没有办法执行ls了。也就是说,你不能直接输入ls来执行,因为/root这个目录并不在PATH指定的目录中,所以,即使你在/root目录下,也不能够查询到“ls”这个命令。“ls”这个命令确实是存在/root下面,所以可以通过使用绝对路径或者是相对路径直接指定这个执行文件。
     执行文件路径的变量:$PATH
     执行文件路径的变量:$PATH
      如果想要让root在任何目录下可执行/root下面的“ls”,那么就将/root加入PATH当中即可。
      
    执行文件路径的变量:$PATH
     测试结束,再讲“ls”放到/bin下面,不然系统会挂点。


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: