Shell基础(四)环境变量配置文件
source命令
使用source命令可以重新加载配置文件,让配置生效。
[root@localhost ~]# source 配置文件
或
[root@localhost ~]# . 配置文件
环境变量配置文件
登录时生效的环境变量配置文件
在Linux系统登录时生效的环境变量配置文件有以下五个:
- /etc/profile
- /etc/profile.d/*.sh
- ~/.bash_profile
- ~/.bashrc
- /etc/bashrc
环境变量调用过程,前两个是登录后调用过程:
- /etc/profile ——>~/.bash_profile——> ~/.bashrc ——>/etc/bash——>命令提示符
- /etc/profile ——>/etc/profile.d/*.sh——> /etc/profile.d/lang.sh——>/etc/sys_config/i18n
- /etc/bashrc——>/etc/profile.d/*.sh
用户登录过程中会先调用/etc/profile文件
在这个环境变量配置文件中会定义这些默认环境变量:
变量名称 | 作用 |
---|---|
USER变量 | 根据登录的用户,给这个变量赋值(就是让USER的值是当前的用户) |
LOGNAME变量 | 根据USER变量的值,给这个变量赋值。 |
MAIL变量 | 根据登录的用户,定义用户的邮箱为/var/spool/mail用户名。 |
PATH变量 | 根据登录用户的UID是否为0,判断PATH变量是否包含/sbin、/usr/sbin和/usr/local/sbin这三个系统命令目录。 |
HOSTNAME变量 | 更加主机名,给这个变量赋值。 |
HISTSIZE变量 | 定义历史命令的保存条数。 |
umask | 定义umask默认权限。 |
调用/etc/profile.d/*.sh文件 | 调用/etc/profile.d/目录下所有以".sh"结尾的文件。 |
注销时生效的环境变量配置文件
在用户退出登录时,只会调用一个环境变量配置文件,就是~/.bash_logout,这个文件默认没有写入任何内容,可是如果想要在退出时执行一些操作,比如清楚历史命令,备份某些数据就可以把命令写入这个文件。
注:退出指的是正常用命令退出登录,不是直接关闭终端。
其他配置文件
还有一些其他的配置文件,比如~/.bash_history文件,是历史命令保存文件。
Shell登录信息
/etc/issue
在登录本地终端时,会有几行的欢迎界面,这些欢迎信息保存在/etc/issue文件中,可以自定义。
[root@localhost ~]# cat /etc/issue
\S
Kernel \r on an \m
列出常用的转义符作用:
转义符 | 作用 |
---|---|
\d | 显示当前系统日期。 |
\s | 显示操作系统名称。 |
\l | 显示登录的终端号。 |
\m | 显示硬件体系结构,如x86_64。 |
\n | 显示主机名。 |
\o | 显示域名。 |
\r | 显示内核版本。 |
\t | 显示当前系统时间。 |
\u | 显示当前登录用户的系列号。 |
/etc/issue.net
/etc/issue是本地终端欢迎信息,/etc/issue.net是远程终端欢迎信息。
注意:
- 首先,在/etc/issue中的支持的转义符,在/etc/issue.net文件中不能使用。
- 其次,ssh远程登录是否显示/etc/issue.net文件中的欢迎信息,是由ssh的配置文件决定的。
如果需要ssh远程登录可以显示/etc/issue.net中的欢迎信息,那么首先要修改ssh的配置文件/etc/ssh/sshd_config,加入下面的内容。
[root@localhost ~]# vim /etc/ssh/sshd_config
......
129 #Banner none
130 Banner /etc/issue.net
......
#将"Banner none"注释掉,添加"Banner /etc/issue.net"
/etc/motd
/etc/motd文件也是显示欢迎信息的,和前两个文件的区别在于,前两个文件是显示登录前欢迎信息的,/etc/motd是显示登录后欢迎信息的。
定义Bash快捷键
[root@localhost ~]# stty -a
......
#查询所有的快捷键
更改快捷键:
[root@localhost ~]# stty 关键字 快捷键
注:虽然快捷键可以修改,但一般不建议修改默认快捷键。
ps:尚硅谷linux视频课程学习笔记