登录主机的时候,屏幕会显示一些说明文字,我们习惯的环境变量、命令别名等是否可以登录就主动帮我设置好?这些都是需要注意的。例外这些设置值又可以分为系统整体设置值与各人喜好设置值,仅是一些文件放置的地点不同。
1 路径与命令查找顺序
命令运行的顺序:
1)以相对/绝对路径执行命令,例如“/bin/ls”或“./ls”;
2)由alias找到该命令来执行;
3)由bash内置的(bulitin)命令来执行;
4)通过$PATH这个变量的顺序找到第一个命令来执行。
可以通过 ”type -a 变量“ 查看变量执行的顺序
2 bash 的登录与欢迎信息:/etc/issue,/etc/motd
1)终端接口(tty1-tty6)登录的时候,会有几行提示的字符串,那就是登录界面。字符串写在/etc/issue里面的
2)可以让用户登录后获取一些信息
vi /etc/motd,,输入以下代码
3 bash的环境配置文件
1)login与non-login shell
login shell:取得bash时需要完整的登录流程,称为login shell。
non-login shell:取得bash接口的方法不需要重复登录的举动。
login shell 是只会读取这两个配置文件:
a、/etc/profile:这是系统整体的设置,最好不要修改这个文件;
b、~/.bash_profile 或 ~/.bash_login或 ~ /.profile:属于用户个人设置,你要改自己的数据,就写入这里。
2)/etc/profile(login shell才会读)
可以使用vim来阅读一下这个文件的内容。这个配置文件可以利用用户标识符(UID)来决定很重要的变量数据,也是每个用户登录取得bash时一定会读取的配置的文件。这个文件主要包含的变量:
- PATH:会依据UID决定PATH变量要不要含有sbin的系统命令目录;
- MAIL:依据账号设置用户的mailbox到/var/spool/mail/账户名;
- USER:根据用户的账号设置此变量内容;
- HOSTNAME:历史命令记录条数;
- /etc/inputrc:此文件内容为bash的热键、[tab]有没有声音等的数据
- /etc/profile,d/*.sh:这是个目录内的众多文件。只要在/etc/profile.d/这个目录内且扩展名为.sh,用户能够具有r的权限,那么该文件就会被/etc/profile调用。
- /etc/sysconfig/i18n:这个文件是由/etc/profile.d/lang.sh调用。这也是决定bash默认使用何种语系的重要配置文件。文件中最重要的LANG这个变量的设置。
- ~/.bash_profile(login shell才会读):bash在读完了整体环境设置的/etc/profile并借此调用其他配置文件后,接下来会读取用户的个人配置文件。
3)source:读入环境配置文件的命令
都是注销再登录后该设置才会生效。那么能不能直接读取配置文件而不注销登录,那就需要source这个命令。
下面是将主文件夹的~/.bashrc 的设置读入目前的bash环境中
4 终端机的环境设置:stty,set
查阅目前的一些按键内容,可以利用stty。stty也可以帮助设置终端机的输入按键代表意义。
stty [-a]
参数:
-a:将目前所有的stty参数列出来。
set [-uvCHhmBx]
参数:
-u:默认不启用,若启用后,当使用未设置变量时,会显示错误信息;
-v:默认不启用。启用后,在讯息被输出前,会先显示信息的原始内容;
-x:默认不启用,若启用后,在命令被执行前,会显示命令内容;
-h:默认启用,与历史命令有关;
-H:默认启用,与历史命令有关;
-m:默认启用,与工作管理有关;
-B:默认启用,与刮号[]的作用有关;
-C:默认不启用,使用>等时,则若文件存在时,该文件补好被覆盖。
bash默认组合键