Linux系统中,常用的配置文件包括:
~/.bashrc
/etc/profile
用户级别的配置文件和系统级别的配置文件在功能和作用上存在一些区别:
用户级别的配置文件:
位置:通常存储在用户的主目录中,例如 ~/.bashrc
适用范围:仅对当前用户生效,不会影响其他用户
使用场景:适用于个人用户自定义的配置,可以设置个人的环境变量、别名、函数等
系统级别的配置文件:
位置:通过存储在系统的全局配置目录下,例如 /etc/profile
适用范围:对系统中所有用户都生效,是全局共享的配置
使用场景:适用于管理员或系统级别的配置,可以设置系统环境变量、全局别名、系统启动脚本等
用户级别的配置文件优先级高于系统级别的配置文件,当同一环境变量在用户级别和系统级别同时存在时,用户级别的配置会覆盖系统级别的配置。
可以通过 vim ~/.bashrc
或 gedit ~/.bashrc
命令来打开并编辑配置文件,vim和gedit都是常用的文本编辑器。
可以通过 export VARIABLE_NAME=variable_value
将环境变量添加到配置文件中,其中 VARIABLE_NAME
是环境变量名,variable_value
是环境变量的值。
export PATH=/usr/local/bin:$PATH
是一个设置环境变量的例子,具体解释如下:
export
:这个关键字用于将变量导出到当前的shell环境中,使其成为环境变量PATH
:PATH
是一个特殊的环境变量,它包含了一个以冒号分隔的目录列表。操作系统会根据这个环境变量来查找可执行文件的路径。当在终端输入一个命令时,操作系统会在 PATH
定义的目录中按顺序搜索该命令的可执行文件/usr/local/bin
:这是一个目录路径,表示将 /usr/local/bin
添加到 PATH
环境变量中。/usr/local/bin
是一个常用的目录,用于存放用户自定义的可执行文件$PATH
:$PATH
表示已经存在的 PATH
环境变量的值。在这个例子中,将 /usr/local/bin
添加到 PATH
变量的目录列表开头,然后加上原来的值。这样做是为了使得新添加的路径能够先被搜索,以免和其他可能存在的具有相同名称的可执行文件冲突总之,export PATH=/usr/local/bin:$PATH
表示将 /usr/local/bin
添加到 PATH
环境变量中,并且保留原来 PATH
的值。这样,当输入命令时,系统会先搜索 /usr/local/bin
目录,然后再按照原来的搜索顺序进行搜索。这样做可以让你在终端中直接运行位于 /usr/local/bin
目录下的可执行文件。
可以使用 echo $VARIABLE_NAME
命令来验证环境变量是否设置成功。例如,可以运行 echo $PATH
来打印输出 PATH
环境变量的值。
/etc/environment
:在系统启动时被读取,对所有用户和进程都生效。
/etc/profile
:在用户登录时被读取,为所有用户的登录Shell会话设置环境变量。
~/.bash_profile
:如果存在 ~/.bash_profile
文件,则会优先于 ~/.profile
被读取作为登录Shell的配置文件,它是当前用户的登录Shell个人配置文件。
~/.profile
:如果不存在 ~/.bash_profile
,则会读取 ~/.profile
文件作为登录Shell的配置文件,它也是当前用户的登录Shell个人配置文件。
~/.bashrc
:默认情况下,Bash Shell在加载时会先读取 ~/.bashrc
文件,然后在该文件中引用(source) ~/.bash_profile
或 ~/.profile
文件。
因此,加载顺序为:
/etc/environment
-> /etc/profile
-> ~/.bashrc
-> ~/.bash_profile
-> ~/.profile