Linux 环境变量配置全攻略,初学者必会…
在自定义安装软件时,经常需要配置环境变量。下面是各种配置环境变量的方法。
在下面的例子中,我们使用的环境如下:
- 操作系统:Ubuntu 14.0
- 用户名:uusama
- 需要配置 MySQL 环境变量的路径:/home/uusama/mysql/bin
在 Linux 中查看环境变量
以下是查看环境变量的方法:
-
使用
export
命令可以显示当前系统定义的所有环境变量。 -
使用
echo $PATH
命令可以输出当前的PATH
环境变量的值。
执行这两个命令的效果如下所示:
uusama@ubuntu:~$ export declare -x HOME="/home/uusama" declare -x LANG="en_US.UTF-8" declare -x LANGUAGE="en_US:" declare -x LESSCLOSE="/usr/bin/lesspipe %s %s" declare -x LESSOPEN="| /usr/bin/lesspipe %s" declare -x LOGNAME="uusama" declare -x MAIL="/var/mail/uusama" declare -x PATH="/home/uusama/bin:/home/uusama/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" declare -x SSH_TTY="/dev/pts/0" declare -x TERM="xterm" declare -x USER="uusama" uusama@ubuntu:~$ echo $PATH /home/uusama/bin:/home/uusama/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
其中PATH
变量定义了运行命令的查找路径,以冒号:
分割不同的路径,使用export
定义的时候可加双引号也可不加。
Linux环境变量配置方法一: export PATH
使用export
命令直接修改PATH
的值,配置MySQL进入环境变量的方法:
export PATH=/home/uusama/mysql/bin:$PATH # 或者把PATH放在前面 export PATH=$PATH:/home/uusama/mysql/bin
注意事项:
- 生效时间:立即生效
- 生效期限:当前终端有效,窗口关闭后无效
- 生效范围:仅对当前用户有效
-
配置的环境变量中不要忘了加上原来的配置,即
$PATH
部分,避免覆盖原来配置
Linux环境变量配置方法二: vim ~/.bashrc
通过修改用户目录下的~/.bashrc
文件进行配置:
vim ~/.bashrc # 在最后一行加上 export PATH=$PATH:/home/uusama/mysql/bin
注意事项:
-
生效时间:使用相同的用户打开新的终端时生效,或者手动
source ~/.bashrc
生效 - 生效期限:永久有效
- 生效范围:仅对当前用户有效
-
如果有后续的环境变量加载文件覆盖了
PATH
定义,则可能不生效
Linux环境变量配置方法三: vim ~/.bash_profile
和修改~/.bashrc
文件类似,也是要在文件最后加上新的路径即可
vim ~/.bash_profile # 在最后一行加上 export PATH=$PATH:/home/uusama/mysql/bin
注意事项:
-
生效时间:使用相同的用户打开新的终端时生效,或者手动
source ~/.bash_profile
生效 - 生效期限:永久有效
- 生效范围:仅对当前用户有效
-
如果没有
~/.bash_profile
文件,则可以编辑~/.profile
文件或者新建一个
Linux环境变量配置方法四:vim /etc/bashrc
该方法是修改系统配置,需要管理员权限(如root)或者对该文件的写入权限:
# 如果/etc/bashrc文件不可编辑,需要修改为可编辑 chmod -v u+w /etc/bashrc vim /etc/bashrc # 在最后一行加上 export PATH=$PATH:/home/uusama/mysql/bin
注意事项:
-
生效时间:新开终端生效,或者手动
source /etc/bashrc
生效 - 生效期限:永久有效
- 生效范围:对所有用户有效
Linux环境变量配置方法五: vim /etc/profile
该方法修改系统配置,需要管理员权限或者对该文件的写入权限,和vim /etc/bashrc
类似:
# 如果/etc/profile文件不可编辑,需要修改为可编辑 chmod -v u+w /etc/profile vim /etc/profile # 在最后一行加上 export PATH=$PATH:/home/uusama/mysql/bin
注意事项:
-
生效时间:新开终端生效,或者手动
source /etc/profile
生效 - 生效期限:永久有效
- 生效范围:对所有用户有效
Linux环境变量配置方法六:vim /etc/environment“
该方法是修改系统环境配置文件,需要管理员权限或者对该文件的写入权限:
# 如果/etc/bashrc文件不可编辑,需要修改为可编辑 chmod -v u+w /etc/environment vim /etc/profile # 在最后一行加上 export PATH=$PATH:/home/uusama/mysql/bin
注意事项:
-
生效时间:新开终端生效,或者手动
source /etc/environment
生效 - 生效期限:永久有效
- 生效范围:对所有用户有效
Linux环境变量加载原理解析
上面列出了环境变量的各种配置方法,那么Linux是如何加载这些配置的呢?是以什么样的顺序加载的呢?
特定的加载顺序会导致相同名称的环境变量定义被覆盖或者不生效。
环境变量的分类
环境变量可以简单的分成用户自定义的环境变量以及系统级别的环境变量。
-
用户级别环境变量定义文件:
~/.bashrc
、~/.profile
(部分系统为:~/.bash_profile
) -
系统级别环境变量定义文件:
/etc/bashrc
、/etc/profile
(部分系统为:/etc/bash_profile
)、/etc/environment
另外在用户环境变量中,系统会首先读取~/.bash_profile
(或者~/.profile
)文件,如果没有该文件则读取~/.bash_login
,根据这些文件中内容再去读取~/.bashrc
。
测试Linux环境变量加载顺序的方法
为了测试各个不同文件的环境变量加载顺序,我们在每个环境变量定义文件中的第一行都定义相同的环境变量UU_ORDER
,该变量的值为本身的值连接上当前文件名称。
需要修改的文件如下:
- /etc/environment
- /etc/profile
- /etc/profile.d/test.sh,新建文件,没有文件夹可略过
- /etc/bashrc,或者/etc/bash.bashrc
- ~/.bash_profile,或者~/.profile
- ~/.bashrc
在每个文件中的第一行都加上下面这句代码,并相应的把冒号后的内容修改为当前文件的绝对文件名。
export UU_ORDER="$UU_ORDER:~/.bash_profile"
修改完之后保存,新开一个窗口,然后echo $UU_ORDER
观察变量的值:
uusama@ubuntu:~$ echo $UU_ORDER $UU_ORDER:/etc/environment:/etc/profile:/etc/bash.bashrc:/etc/profile.d/test.sh:~/.profile:~/.bashrc
可以推测出Linux加载环境变量的顺序如下:
- /etc/environment
- /etc/profile
- /etc/bash.bashrc
- /etc/profile.d/test.sh
- ~/.profile
- ~/.bashrc
Linux环境变量文件加载详解
由上面的测试可容易得出Linux加载环境变量的顺序如下,:
系统环境变量 -> 用户自定义环境变量
/etc/environment -> /etc/profile -> ~/.profile
打开/etc/profile
文件你会发现,该文件的代码中会加载/etc/bash.bashrc
文件,然后检查/etc/profile.d/
目录下的.sh
文件并加载。
# /etc/profile: system-wide .profile file for the Bourne shell (sh(1)) # and Bourne compatible shells (bash(1), ksh(1), ash(1), ...). if [ "$PS1" ]; then if [ "$BASH" ] && [ "$BASH" != "/bin/sh" ]; then # The file bash.bashrc already sets the default PS1. # PS1='\h:\w\$ ' if [ -f /etc/bash.bashrc ]; then . /etc/bash.bashrc fi else if [ "`id -u`" -eq 0 ]; then PS1='# ' else PS1='$ ' fi fi fi if [ -d /etc/profile.d ]; then for i in /etc/profile.d/*.sh; do if [ -r $i ]; then . $i fi done unset i fi
其次再打开~/.profile
文件,会发现该文件中加载了~/.bashrc
文件。
# if running bash if [ -n "$BASH_VERSION" ]; then # include .bashrc if it exists if [ -f "$HOME/.bashrc" ]; then . "$HOME/.bashrc" fi fi # set PATH so it includes user's private bin directories PATH="$HOME/bin:$HOME/.local/bin:$PATH"
从~/.profile
文件中代码不难发现,/.profile
文件只在用户登录的时候读取一次,而/.bashrc
会在每次运行Shell
脚本的时候读取一次。
一些小技巧
可以自定义一个环境变量文件,比如在某个项目下定义uusama.profile
,在这个文件中使用export
定义一系列变量,然后在~/.profile
文件后面加上:sourc uusama.profile
,这样你每次登陆都可以在Shell脚本中使用自己定义的一系列变量。
也可以使用alias
命令定义一些命令的别名,比如alias rm="rm -i"
(双引号必须),并把这个代码加入到~/.profile
中,这样你每次使用rm
命令的时候,都相当于使用rm -i
命令,非常方便。
以上是Linux 环境变量配置全攻略,初学者必会…的详细内容。更多信息请关注PHP中文网其他相关文章!

学习Linux并不难。1.Linux是一个开源操作系统,基于Unix,广泛应用于服务器、嵌入式系统和个人电脑。2.理解文件系统和权限管理是关键,文件系统是层次化的,权限包括读、写和执行。3.包管理系统如apt和dnf使得软件管理方便。4.进程管理通过ps和top命令实现。5.从基本命令如mkdir、cd、touch和nano开始学习,再尝试高级用法如shell脚本和文本处理。6.常见错误如权限问题可以通过sudo和chmod解决。7.性能优化建议包括使用htop监控资源、清理不必要文件和使用sy

Linux管理员的平均年薪在美国为75,000至95,000美元,欧洲为40,000至60,000欧元。提升薪资可以通过:1.持续学习新技术,如云计算和容器技术;2.积累项目经验并建立Portfolio;3.建立职业网络,拓展人脉。

Linux的主要用途包括:1.服务器操作系统,2.嵌入式系统,3.桌面操作系统,4.开发和测试环境。Linux在这些领域表现出色,提供了稳定性、安全性和高效的开发工具。

互联网运行不依赖单一操作系统,但Linux在其中扮演重要角色。Linux广泛应用于服务器和网络设备,因其稳定性、安全性和可扩展性受欢迎。

Linux操作系统的核心是其命令行界面,通过命令行可以执行各种操作。1.文件和目录操作使用ls、cd、mkdir、rm等命令管理文件和目录。2.用户和权限管理通过useradd、passwd、chmod等命令确保系统安全和资源分配。3.进程管理使用ps、kill等命令监控和控制系统进程。4.网络操作包括ping、ifconfig、ssh等命令配置和管理网络连接。5.系统监控和维护通过top、df、du等命令了解系统运行状态和资源使用情况。

介绍 Linux是一个强大的操作系统,由于其灵活性和效率,开发人员,系统管理员和电源用户都喜欢。但是,经常使用长而复杂的命令可能是乏味的

Linux适用于服务器、开发环境和嵌入式系统。1.作为服务器操作系统,Linux稳定高效,常用于部署高并发应用。2.作为开发环境,Linux提供高效的命令行工具和包管理系统,提升开发效率。3.在嵌入式系统中,Linux轻量且可定制,适合资源有限的环境。

简介:通过基于Linux的道德黑客攻击数字边界 在我们越来越相互联系的世界中,网络安全至关重要。 道德黑客入侵和渗透测试对于主动识别和减轻脆弱性至关重要


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

记事本++7.3.1
好用且免费的代码编辑器