Linux 环境变量配置文件

本部分主要介绍:在 Ubuntu 系统下, source 对配置文件的操作;5 类配置文件在 shell bash 启动顺序

source 命令

  1. 命令 source 配置文件. 配置文件
    • 修改配置文件系统必须重新登录,此命令解决系统重启
    • .source 一样,.source 得缩写
  2. 介绍
    • 环境变量配置文件中主要是定义对系统得操作环境生效得系统默认环境变量,比如 PATH(定义系统查找命令得路径)、HISTSIZE(历史命令的显示命令条数)、PS1(提示符)、HOSTNAME(主机名) 等等默认环境变量。
    • centOS (Linux也一样)的环境变量配置文件体系是一个层级体系。这与其他用户应用系统配置文件类似,有全局、有局部(用户),另外不同层级有时类似继承关系。

5 类环境配置文件及启动过程

  1. 5 类配置文件(在 /etc/ 下的配置文件对所有用户都生效,在某个用户家目录下的配置文件对这个用户有效)

    • /etc/profile
      1. 第一次系统启动后第一个用户登录时执行 /etc/profile 文件,该文件是 Shell 默认主启动文件。
      2. bash 执行该文件时,会读取 /etc/profile.d/ 下所有 *.sh 文件,通过 . 或者 source 来加载变量
      3. bash 执行该文件时,会调用 /etc/bashrc(Ubuntu 下为 /etc/bash.bashrc) 文件来执行
      4. /etc/profile/etc/bash.bashrc/etc/profile.d/*.sh 都是全局环境变量,对所有用户有效
      5. /etc/environment 保存环境变量 PATH 的值。据说 /etc/profile 保存所有用户的环境变量,/etc/environment 保存系统的环境变量
    • /etc/profile.d/*.sh(为一组配置文件)
      1. 全局环境变量,对所有用户有效。
      2. 通过 /etc/profile 调用
    • /etc/bashrc(Ubuntu /etc/ 下的文件是 bash.bashrc
      • 全局环境变量,对所有用户有效
      • 通过 /etc/profile 调用
    • ~/.bash_profile (Ubuntu 用户家目录下的文件是 .profile)
      1. 家目录下的启动文件都是用户专属启动文件,定义了该用户的环境变量
      2. bash 执行该文件,会调用 /etc/.bashrc
      3. bash 会按照下列顺序,执行第一个找到的文件,余下被忽略
        • ~/.bash_profile
        • ~/.bash_login
        • ~/.profile
        • 仅对此用户有效
    • ~.bashrc
      1. 仅对此用户有效
      2. 通过 ~/.profile 调用
  2. 5 类配置文件的优先级(在 Ubuntu 系统下;每一个 Linux 的发行版本都不样)

    说明:数字越大,优先级越低

    • /etc/profile 的优先级为 5
    • /etc/profile.d/etc/profile 调用,并继承上述配置文件,优先级为 4
    • /etc/bash.bashrc/etc/profile` 调用,并继承上述配置文件,优先级为 3
    • ~/.profile 的优先级为 2
    • ~/.bashrc~/.profile 调用,并继承上述配置文件,优先级为 1
    • 修改环境配置在以上 5 个文件都可以,只是优先级高的会覆盖掉优先级低的。

你可能感兴趣的:(Linux 环境变量配置文件)