Linux shell环境的配置


shell配置文件分类

  • 按生效范围分类:全局和局部
  • 按登录方式分类:交互式和非交互式
  • 按功能分类:profile和bashrc

shell配置文件按生效范围分类:

全局配置:针对有所用户有效

/etc/profile
/etc/profile.d/*.sh
/etc/bashrc
位于/etc下面的就是全局配置文件

局部配置:针对特定用户有效

~/.bash_profile
~/.bashrc
位于用户家目录下面的就是局部配置文件

shell登录的两种方式

交互式登录

  1. 使用终端输入账号密码登录
  2. 使用 su - UserName 切换的用户(完全切换)

配置文件生效顺序:

#如果在配置文件种添加的指令放在每个配置文件最前面
/etc/profile
/etc/profile.d/. sh
/etc/bashrc
~/ .bash_ profile
~/ .bashrc
/etc/bashrc
rc:run command
#若在配置文件种添加的指令放在每个配置文件最后面
/etc/profile.d/
.sh
/etc/bashrc
/etc/profile
/etc/bashrc    #此文件执行两次
~/.bashrc
~/.bash_profile
特点:写在同一个文件的不同位置,将影响文件的执行顺序

非交互式登录:

  1. su UserName(不完全切换)
  2. 图形界面下打开的终端
  3. 执行脚本
  4. 任何其它的bash实例

配置文件执行顺序:

/etc/profile.d/*.sh
/etc/bashrc
~/.bashrc

shell配置文件按功能分类

profile类和bashrc类

(1) Profile类

profile类为交互式登录的shell提供配置
全局:/etc/profile, /etc/profile.d/*.sh
个人:~/.bash_profile

功用:(人为规定,非强制)

(1) 用于定义环境变量
(2) 运行命令或脚本

(2) Bashrc类

bashrc类:为非交互式和交互式登录的shell提供配置
全局:/etc/bashrc
个人:~/.bashrc

功用:(人为规定,非强制)

(1) 定义命令别名和函数
(2) 定义本地变量

编辑shell配置文件生效

shell配置文件再登录的时候才会运行。
修改shell的配置文件以后,生效的两种方法
方法一:重新启动shell,比如退出以后再登录
方法二:使用source命令 格式: source 配置文件(点(.) 配置文件)
注意:source 会在当前shell中执行脚本,所有一般只用于执行置文件,或在脚本中调用另一个脚本的场景

Bash 退出任务

保存在~/.bash_logout文件中(用户),在退出登录shell时运行
用户退出的时候触发

功能:

创建自动备份
清除临时文件