Linux 环境变量深入解析
Linux 的环境变量是一种存储系统级或用户级设置的方法,它们可以被 shell 和其他程序使用。环境变量通常用于存储诸如文件路径、系统配置以及程序的运行时设置等信息。在本文中,我们将深入探讨 Linux 环境变量的使用和配置。
常见的 Linux 环境变量
-
PATH:用于存储可执行文件的搜索路径。当在命令行中输入命令时,系统会在 PATH 中列出的目录中查找可执行文件。
-
HOME:表示当前用户的主目录。例如,
cd ~
或cd
命令会将你带到你的 HOME 目录。 -
LANG:指定了系统语言和字符编码设置,对于国际化和本地化支持非常重要。
-
USER:存储了当前登录的用户名。使用
echo $USER
命令可以查看当前用户名。
查看和设置环境变量
查看环境变量
-
使用
env
命令: 可以查看当前终端会话的所有环境变量。env
-
查看特定进程的环境变量: 通过查看
/proc/<PID>/environ
文件来获取某个进程的环境变量。cat /proc/$PID/environ | tr '\0' '\n'
设置环境变量
-
使用
export
命令: 用于设置或导出当前终端会话的环境变量。export MY_VARIABLE="my_value"
-
在脚本中设置环境变量: 当你在包含
export
命令的 shell 脚本中设置环境变量时,从该脚本执行的任何程序都会继承这些环境变量。
PATH 环境变量
PATH 环境变量是用来查找可执行文件的。当你输入一个命令时,shell 会在 PATH
环境变量所包含的目录列表中查找对应的可执行文件。PATH
通常在 /etc/environment
、/etc/profile
或 ~/.bashrc
等文件中定义。如果你需要在 PATH
中添加新的路径,可以使用以下命令:
export PATH="$PATH:/home/user/bin"
自定义提示符 PS1
PS1
是一个环境变量,用于定义 shell 提示符的外观。通过自定义 PS1
,用户可以改变提示符的样式,包括添加颜色、显示当前路径、显示用户名和主机名等。例如:
export PS1='\u@\h:\w\$ '
这会显示为 username@hostname:current_directory$
。
当前用户ID UID变量
虽然 UID
并不是一个环境变量,但它是一个与用户账户相关的系统属性,代表 “User Identifier”。你可以使用 id
命令来查看当前用户的 UID。例如,使用以下命令可以检查当前用户是否为超级用户(root):
if [ $UID -ne 0 ]; then
echo "Not root user."
else
echo "Root user."
fi