mysterin / question_and_answer

1 stars 0 forks source link

linux 配置文件顺序 #178

Closed mysterin closed 5 years ago

mysterin commented 5 years ago

前提

linux 的交互式模式分为login shellnon-login shell两种.

login shell

需要输入用户名密码登录的 shell.

  1. 使用 tty1-tty6 登录就进入 login shell 的 bash.
  2. 在 X Window 中启动终端, 然后用su -命令切换用户登录的, 这也是进入 login shell.

    non-login shell

    不需要输入用户名和密码登录的 shell.

  3. 在 X Window 中启动终端就不需要密码, 这个就是non-login shell.
  4. 执行bash后也不需要用户密码, 也是non-login shell.

login shell 配置文件顺序

  1. /etc/profile 这个是全局配置文件, 只要登录进入 shell 就会执行这个配置文件. 在这个配置文件里还设置执行/etc/bash.bashrc/etc/profile.d/*.sh.
  2. ~/.bash_profile或者~/.bash_login或者~/.profile 这个属于用户个人配置文件, 在用户目录下面的. 在这个配置文件里也设置执行~/.bashrc.

non-login shell 配置文件顺序

  1. ~/.bashrc 只执行这个配置文件.
mysterin commented 5 years ago

注意: 对于Zsh, 它对应的login shell的个人配置文件应该是~/.zprofile, 而它的non-login shell配置文件是~/.zshrc.