linux PATH环境变量全解析--转自http://www.2cto.com
2016-07-28 10:59
309 查看
linux PATH环境变量全解析
关于PATH的作用: www.2cto.com
PATH说简单点就是一个字符串变量,当输入命令的时候LINUX会去查找PATH里面记录的路径。
比如在根目录/下可以输入命令ls,
在/usr目录下也可以输入ls,
但其实ls这个命令根本不在这个两个目录下。
事实上当你输入命令的时候LINUX会去/bin,/usr/bin,/sbin等目录下面去找你此时输入的命令,
而PATH的值恰恰就是/bin:/sbin:/usr/bin:……。
其中的冒号使目录与目录之间隔开。
www.2cto.com
关于新增自定义路径:
假设新安装了一个命令在/usr/locar/new/bin下面,
如果想像ls一样在任何地方都使用这个命令,
就需要修改环境变量PATH了。
准确的说就是给PATH增加一个值/usr/locar/new/bin。
需要一行bash命令:
export PATH=$PATH:/usr/locar/new/bin
这条命令的意思为: 使PATH自增:/usr/locar/new/bin,
既PATH=PATH+":/usr/locar/new/bin";
通常的做法是:
把这行bash命令写到/root/.bashrc的末尾,
然后当你重新登陆LINUX的时候(应该是linux启动时就会执行这个文件),
新的默认路径就添加进去了。
当然,
也可以直接用命令:
source /root/.bashrc
执行这个文件重新登陆了。
可以用echo $PATH命令查看PATH的值。
www.2cto.com
关于删除自定义路径:
如果发现新增的路径/usr/locar/new/bin已经没用了,
可以修改/root/.bashrc文件里面你新增的路径。
或者修改/etc/profile文件删除不需要的路径
修改/root/.bashrc文件,
删除相应环境变量选项,然后
¥source /root/.bashrc
即可。
或者可以利用命令。如要删除PATH里的/usr/local/del/bin:变量,则可直接在命令行里输入
$export PATH=$(echo $PATH | sed 's/:\/usr\/local\/del\/bin:/:/g')
注意:"/"代表转意字符
比如要把/etc/apache/bin目录添加到PATH中,方法有三:
1.
$PATH=$PATH:/etc/apache/bin
使用这种方法,只对当前会话有效,
也就是说每当登出或注销系统以后,PATH 设置就会失效
2.
$vim /etc/profile
在适当位置添加 PATH=$PATH:/etc/apache/bin (注意:= 即等号两边不能有任何空格)
这种方法最好,除非你手动强制修改PATH的值,否则将不会被改变
www.2cto.com
3.
$vim ~/.bash_profile
修改PATH行,把/etc/apache/bin添加进去
这种方法是针对用户起作用的
NOTE:
想改变PATH,必须重新登陆才能生效,以下方法可以简化工作:
如果修改了/etc/profile,
那么编辑结束后执行
$source profile(source /etc/profile)
或 执行点命令
$ ./profile,
PATH的值就会立即生效了。
这个方法的原理就是再执行一次/etc/profile shell脚本,
注意如果用sh /etc/profile是不行的,因为sh是在子shell进程中执行的,即使PATH改变了也不会反应到当前环境中,
但是source是在当前 shell进程中执行的,所以我们能看到PATH的改变。
这样你就学会Linux系统下修改环境变量PATH路径的方法。
www.2cto.com
补充说明
工作环境设置文件
环境设置文件有两种:系统环境设置文件 和 个人环境设置文件
1.系统中的用户工作环境设置文件:
登录环境设置文件:/etc/profile
非登录环境设置文件:/etc/bashrc
2.用户个人设置的环境设置文件:
登录环境设置文件: $HOME/.bash_profile //这个是环境变量设置的地方
非登录环境设置文件:$HOME/.bashrc //这个是定义别名的地方
登录环境:指用户登录系统后的工作环境
非登录环境:指用户再调用子shell时所使用的用户环境
关于PATH的作用: www.2cto.com
PATH说简单点就是一个字符串变量,当输入命令的时候LINUX会去查找PATH里面记录的路径。
比如在根目录/下可以输入命令ls,
在/usr目录下也可以输入ls,
但其实ls这个命令根本不在这个两个目录下。
事实上当你输入命令的时候LINUX会去/bin,/usr/bin,/sbin等目录下面去找你此时输入的命令,
而PATH的值恰恰就是/bin:/sbin:/usr/bin:……。
其中的冒号使目录与目录之间隔开。
www.2cto.com
关于新增自定义路径:
假设新安装了一个命令在/usr/locar/new/bin下面,
如果想像ls一样在任何地方都使用这个命令,
就需要修改环境变量PATH了。
准确的说就是给PATH增加一个值/usr/locar/new/bin。
需要一行bash命令:
export PATH=$PATH:/usr/locar/new/bin
这条命令的意思为: 使PATH自增:/usr/locar/new/bin,
既PATH=PATH+":/usr/locar/new/bin";
通常的做法是:
把这行bash命令写到/root/.bashrc的末尾,
然后当你重新登陆LINUX的时候(应该是linux启动时就会执行这个文件),
新的默认路径就添加进去了。
当然,
也可以直接用命令:
source /root/.bashrc
执行这个文件重新登陆了。
可以用echo $PATH命令查看PATH的值。
www.2cto.com
关于删除自定义路径:
如果发现新增的路径/usr/locar/new/bin已经没用了,
可以修改/root/.bashrc文件里面你新增的路径。
或者修改/etc/profile文件删除不需要的路径
修改/root/.bashrc文件,
删除相应环境变量选项,然后
¥source /root/.bashrc
即可。
或者可以利用命令。如要删除PATH里的/usr/local/del/bin:变量,则可直接在命令行里输入
$export PATH=$(echo $PATH | sed 's/:\/usr\/local\/del\/bin:/:/g')
注意:"/"代表转意字符
比如要把/etc/apache/bin目录添加到PATH中,方法有三:
1.
$PATH=$PATH:/etc/apache/bin
使用这种方法,只对当前会话有效,
也就是说每当登出或注销系统以后,PATH 设置就会失效
2.
$vim /etc/profile
在适当位置添加 PATH=$PATH:/etc/apache/bin (注意:= 即等号两边不能有任何空格)
这种方法最好,除非你手动强制修改PATH的值,否则将不会被改变
www.2cto.com
3.
$vim ~/.bash_profile
修改PATH行,把/etc/apache/bin添加进去
这种方法是针对用户起作用的
NOTE:
想改变PATH,必须重新登陆才能生效,以下方法可以简化工作:
如果修改了/etc/profile,
那么编辑结束后执行
$source profile(source /etc/profile)
或 执行点命令
$ ./profile,
PATH的值就会立即生效了。
这个方法的原理就是再执行一次/etc/profile shell脚本,
注意如果用sh /etc/profile是不行的,因为sh是在子shell进程中执行的,即使PATH改变了也不会反应到当前环境中,
但是source是在当前 shell进程中执行的,所以我们能看到PATH的改变。
这样你就学会Linux系统下修改环境变量PATH路径的方法。
www.2cto.com
补充说明
工作环境设置文件
环境设置文件有两种:系统环境设置文件 和 个人环境设置文件
1.系统中的用户工作环境设置文件:
登录环境设置文件:/etc/profile
非登录环境设置文件:/etc/bashrc
2.用户个人设置的环境设置文件:
登录环境设置文件: $HOME/.bash_profile //这个是环境变量设置的地方
非登录环境设置文件:$HOME/.bashrc //这个是定义别名的地方
登录环境:指用户登录系统后的工作环境
非登录环境:指用户再调用子shell时所使用的用户环境
相关文章推荐
- 【Java TCP/IP Socket】UDP Socket(含代码)
- HttpSessionBindingListener的使用
- RESTful API 设计指南
- 找工作之计算机网络复习
- 计算机网络单位换算
- 玩转Android Camera开发(五):基于Google自带算法实时检测人脸并绘制人脸框(网络首发,附完整demo)
- http error
- 转:VMware中三种网络连接的区别
- 网络请求xml PULL解析
- http://t.cn/xx 等链接的生成与还原
- 网络知识之七 httpclient 访问第三方服务的时候导致 connection reset
- 用vs调试项目的时候报HTTP 错误 403.14 - Forbidden
- Linux-Tcp-IP
- Http协议详解
- 在Node.js中使用TCP套接字编程
- 网络通信tcp的困惑和解决(一)
- linux上TCP connection timeout的原因查找
- linux上TCP connection timeout的原因查找
- HTTP网络超时
- TCP协议的连接机制---三次握手信号的原理