echo $path 系统环境变量详解

echo $path 系统环境变量详解

ID:6697988

大小:98.23 KB

页数:3页

时间:2018-01-22

echo $path 系统环境变量详解_第1页
echo $path 系统环境变量详解_第2页
echo $path 系统环境变量详解_第3页
资源描述:

《echo $path 系统环境变量详解》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、·为什么一些指令我在哪个目录下都可以执行啊,而不会告诉我说找不到可执行文件呢?这是因为系统环境变量PATH的帮助所致呀!·先执行下命令,看看你的系统环境变量$PATH长得什么样子啊:o[plain]viewplaincopyprint?1.echo $PATH  echo$PATHo可以看到这个变量的内容是由一堆目录所组成的o每个目录中间用冒号(:)来隔开,每个目录是有『顺序』之分的·当我们在执行一个指令的时候,就拿『ls』举例来说好了,系统会依照PATH的设定去每个PATH定义的目录下搜寻文件名为ls的可执行文件,如果在PATH定义的目录中含有多个文件名为l

2、s的可执行文件,那么先搜寻到的同名指令先被执行!·这里有个很好玩的东西,请看:o假设你是root,如果你将ls由/bin/ls移动成为/root/ls(可用『mv/bin/ls/root』指令达成),然后你自己本身也在/root目录下,请问:§(1)你能不能直接输入ls来执行?§接下来无论你在哪个目录底下输入任何与ls相关的指令,都没有办法顺利的执行ls了!也就是说,你不能直接输入ls来执行,因为/root这个目录并不在PATH指定的目录中,所以,即使你在/root目录下,也不能够搜寻到ls这个指令!§(2)若不能,你该如何执行ls这个指令?§因为这个ls确实

3、存在于/root底下,并不是被删除了!所以我们可以透过使用绝对路径或者是相对路径直接指定这个执行文件名,底下癿两个方法都能够执行ls这个指令:§[plain]viewplaincopyprint?1./root/ls  /root/ls§[plain]viewplaincopyprint?1../ls  ./ls§(3)若要直接输入ls即可执行,又该如何迚行?§如果想要让root在任何目录下均可执行/root底下的ls,那么就将/root加入PATH当中即可。加入的方法很简单,就像底下这样:§[plain]viewplaincopyprint?1.PATH="

4、$PATH":/root  PATH="$PATH":/root§不过这样只是临时的,当你退出下次再登录的时候$PATH的值还是从前的样子o如果确定这个问题进行得没有问题了,请将ls搬回/bin底下,不然系统会挂掉的!§[plain]viewplaincopyprint?1.mv /root/ls /bin  mv/root/ls/bin·那你就要问了,怎么不拿当前目录【.】加入系统环境变量PATH呢,这样上面的问题(2),我输入ls就可以执行了啦,这个主要处于以下考虑啦:o如果在PATH中加入本目录(.)后,确实我们就能够在指令所在目录中进行指令的执行了。但

5、是由于你的工作目录并非固定(常常会使用cd来切换到不同癿目录),因此能够执行的指令会有变动(因为每个目录底下的可执行文件都不相同嘛!),这对使用者来说幵非好事o另外,如果有个坏心使用者在/tmp底下做了一个指令,因为/tmp是大家都能够写入的环境,所以他当然可以这样做。假设该指令可能会窃取用户的一些数据,如果你使用root的身份来执行这个指令,那不是很糟糕?如果这个指令的名称又是经常会被用到的ls时,那『中标』癿机率就更高了!o所以,为了安全起见,不建议将『.』加入PATH的搜寻目录中·如果是超级用户登录,在没有执行/etc/profile之前,PATH已经设

6、定了下面的路径:o[plain]viewplaincopyprint?1./usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin  /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin·如果是普通用户,PATH在/etc/profile执行之前设定了以下的路径:o[plain]viewplaincopyprint?1./usr/local/bin:/bin:/usr/bin  /usr/local/bin:/bin:/usr/b

7、in··下面的东西还无法理解,理解了再来解释,先记着oo定义环境变量的方法:1.控制台:§[plain]viewplaincopyprint?1.$PATH="$PATH":YOUR_PATH  $PATH="$PATH":YOUR_PATH§这种方法是临时的,只针对当前shell,换个shell就失效了2.修改文件/ect/profile§这种方法是永久的,针对所有的用户,所有的shell3.修改文件~/.bashrc§这种方法也是永久的,它可以拿环境变量的设置控制在用户级别vMwareredhatlinux中bash:fdisk:commandnotfou

8、ndroot权限运行fdisk-l会出

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。