shell的配置文件

1. bash shell 的配置文件

bash shell的配置文件很多,可以分成下面类别

1.1 按生效范围划分两类

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

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

个人配置:只针对特定用户有效

~/.bash_profile
~/.bashrc

1.2 shell登录两种方式分类

1.2.1 交互式登录

  • 直接通过终端输入账号密码登录

  • 使用su - UserName切换的用户

配置文件生效和执行顺序:

# 放在每个文件最前 
/etc/profile 
/etc/profile.d/*. sh 
/etc/bashrc
~/ .bash_profile
~/ .bashrc
/etc/bashrc


# 放在每个文件最后 
/etc/profile.d/*.sh 
/etc/bashrc
/etc/profile
/etc/bashrc        # 此文件执行两次 
~/.bashrc
~/.bash_profile

注意:文件之间的调用关系,写在同一个文件的不同位置,将影响文件的执行顺序

1.2.2 非交互式登录

  • su UserName

  • 图形界面下打开的终端

  • 执行脚本

  • 任何其它的bash实例

执行顺序

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

1.3 按功能划分分类

profile类和bashrc类

1.3.1 Profile类

profile类为交互式登录的shell提供配置

全局:/etc/profile, /etc/profile.d/*.sh
个人:~/.bash_profile

使用场景:

  • 用于定义环境变量

  • 运行命令或脚本

1.3.2 Bashrc类

bashrc类:为非交互式和交互式登录的shell提供配置

全局:/etc/bashrc 
个人:~/.bashrc

使用场景

  • 定义命令别名和函数
  • 定义本地变量

1.4 编辑配置文件生效

修改profile和bashrc文件后需生效两种方法:

  1. 重新启动shell进程

  2. source | . 配置文件

注意:source 会在当前shell中执行脚本,所有一般只用于执行置文件,或在脚本中调用另一个脚本的场景

示例

. ~/.bashrc

1.5 Bash 退出任务

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

功能:

  • 创建自动备份

  • 清除临时文件

posted @ 2021-04-07 19:03  临江仙我亦是行人  阅读(273)  评论(0编辑  收藏  举报