在登录bash时,所涉及的文件:
1.系统设置值所涉及的文件
/etc/sysconfig/i18n文件 : 系统语系设置文件。
/etc/profile文件 : 这个文件设置了几个重要的变量,如“PATH,USER,MAIL,HOSTNAME,HISTSIZE,umask”等,
同时也确定/etc /inputrc这个针对键盘热键设置的文件的数据内容。也可以在这里设置总体的PATH等
信息。同时,这个文件也规划出了/etc/profile.d 及/etc/inputrc这两个目录。
/etc/bashrc文件: 这个文件确定umask的功能,同行死也确定来提示符的内容。
/etc/profile.d/*.sh文件:
/etc/man.config文件 : 确定了使用man的时候,到哪里去查找man page的路径。
2.个人设置值
- ~/.bash_profile,~/.bash_login,~/.profile : 可以定义个性化的路径PATH与环境变量,等等。不过有顺序上的差异,bash启动时, 会先读 取~/.bash_profile,找不到时,就去读取~/.bash_login,然后才是~/.profile
- ~/.bashrc : 建议将自己的需要输入到这个文件,例如命令别名,路径等。每次执行shell脚本的时候,都会重新读取这个文件,所以时最完整的。而~/.bash_profile则只有在登录时才读取一次。
- ~/.bash_history: 历史命令就记录在这里,而这个文件能够记录多少数据,则与HISTSIZE变量有关。每次登录bash后,bash会先读取这个文件,将所有的历史命令读入内存
- ~/.bash_logout: 记录当注销bah后,系统都做了什么
3.在登录bash时,设置文件的读取顺序
- 先读取/etc/profile,在根据/etc/profile的内容取读取其他附加的设置文件,例如:/etc/profile.d与/etc/inputrc等设置文件。
- 根据不同的用户,到家用户目录去读取~/.bash_profle或~/.bash_login或~/.profile等设置文件。
- 根据不同的用户,到家目录去读取~/.bashrc
所以,登录bash后,最终读取的设置文件是~/.bashrc
4.关于修改设置文件
一般来说,如果修改完了设置文件,通常就是logout后在重新login到bash内,就能够重新读环境设置文件了,不过我们可以用以下方式
让该设置文件立即生效:
在命令行中输入:source file #利用source或 . ,都可以将设置文件的内容读进当前的shell环境中
如:source ~/.bashrc 或 . ~/.bashrc
5.登录shell与非登录shell
登录shell:当用户登录到Linux系统时,所取得的那个shell
非登录shell:当登录后,再去执行其他shell时,其他shell就是非登录shell。
注意:在X环境下所启动的终端中,那些shell都是非登录shell.
非登录shell,读取的仅有~/.bashrc.