Bash的进站与欢迎信息: /etc/issue,/etc/motd
[root@www ~] cat /etc/issue #/etc/issue会在登陆用户之前显示的一段信息
CentOS release 5.3 (Final)
Kernel \r on an \m
issue内各代码意义:
\d 本地端时间的日期;
\l 显示第几个终端机接口;
\m 显示硬件的等级(i386/i486/i586/i686);
\n 显示主机的网络名称;
\o 显示domain name;
\r 操作系统的版本(相当于uname -r);
\t 显示本地端的时间的时间;
\s 操作系统的名称 ;
\v 操作系统的版本;
列题:如果你在tty3的进站画面看到如下显示,该如何配置才能得到如下画面?
CentOS release 5.3 (Final) (terminal:tty3)
Date: 2016-9-23 9:38:20
Kernel 2.6.18-128.el5 on an i686
Welcome!
[root@www ~] cat /etc/issue
CentOS release 5.3 (Final) (terminal:\l)
Date: \d \t
Kernel \r on an \m
Welcome!
除了/etc/issue之外还有个/etc/issue.net, /etc/issue.net是提供给telnet这样的远程登陆程序使用的,当我们使用telnet连接主机时,主机的登陆画面就会显示/etc/issue.net而不是/etc/issue了
[root@www ~] cat /etc/motd #用户登录之后显示的一段信息
Hello everyone,
Our server will be maintained at 2016/12/28 0:00 ~24:00
Please don't login server at that time.
那么当你的使用者(包括所有的一般账号与root)登陆主机后,就会显示这样的信息:
Last login: Thu Feb 5 22:35:47 2009 from 127.0.0.1
Hello everyone,
Our server will be maintained at 2016/12/28 0:00 ~24:00
Please don't login server at that time.
Bash 的环境配置文件
系统在一进入bash时就有一推有用的变量,这是因为系统有一些环境配置文件的存在,让bash在启动时直接读取这些配置文件,来规划好bash的操作环境,而这样的配置文件又分为环境配置文件(/etc/profile)和用户个人偏好配置文件(~/.bash_profile)
login与non-login shell
login shell :取得bash时需要完整的登陆流程,就称为login shell。你要由tty1~tty6登陆,需要输入用户的账号与密码,此时取得的bash就称为loginshell
non-login: shell: 取得的bash时不需要重复登陆的举动。(1)你以 X Windown 登陆linux后,再以X的图形化接口启动终端机,此时启动的那个终端机并没有需要再次的输入账号与密码,那个bash的环境就称为non-login shell了。(2)你在原本的bash环境下再次下达bash这个命令,桐华扬的也没有输入账号密码,那第二个bash(子程序)也是non-login shell
在取得login与non-login 这两个bash中,它们读取的环境配置文件是不一样的
login shell读取的环境配置文件
/etc/profile: 这是所有使用者整体的bash环境配置文件
~/.bash_profile 或 ~/.bash_login或 ~/.profile : 这是使用者个人的bash环境配置文件,只会读取其中的一个,读取的顺序:如果~/.bash_profile存在,那么其他两个文件不论有无存在,都不会被读取。如果~/.bash_profile不存在才会读取~/.bash_login,而前两者都不存在才会读取~/.profile。会有这么多的文件,其实是因其他shell转换过来的使用者习惯而已,这个文件会去执行~/.bashrc文件
/etc/profile配置文件的主要变量有:
PATH:会依据UID决定PATH变量要不要含有sbin的系统命令目录;
MAIL:依据账号配置好使用者的mailbox到/var/spool/mail/账号名;
USER:根据用户的账号配置此一变量内容;
HOSTNAME: 依据主机的hostname命令决定此一变量内容;
HISTSIZE:历史命令记录笔数。CentOS 5.x 配置为1000;
/etcprofile还会去使用其它的配置文件,以下这些配置文件会被/etc/profile使用到
/etc/inputrc : 文件内容规定这bash热键(tab要不要有声音等数据),/etc/profile会主动判断使用者有没有自定义输入的按键功能,没有的话就会决定配置 INPUTRC=/etc/inputrcz这个变量
/etc/profile.d/*.sh: 规定这bash操wen'j作接口的颜色、语系、ll与ls等命令的命令别名,如果你需要帮所有使用者配置一些共享的命令别名时,可以在这个目录底下z自行创建扩展名为.sh的文件,并将所需要的数据写入即可
/etc/sysconfig/i18n :这个文件会被/etc/profile.d/lang.sh使用到,这个文件决定着bash默认使用何种语系的重要配置文件,文件里最重要的就是LANG变量
non-login读取的环境配置文件:
~/.bashrc : 会使用/etc/bashrc文件
/etc/bashrc : 会依据不同的UID规范出提示字符(就是PS1变量),会使用/etc/profiled/*.sh文件
所以如果你没有了~/.bashrc,就没有了/etc/bashrc,没有了/etc/bashrc,也就是说PS1变量没有规范,那么你的bash提示符就有可能是这个样子,并不会影响你的bash使用
你可以把/etc/skel/.bashrc复制到你的家目录中,修订一下你所想要的内容,用source命令执行一下~/.bashrc,那么你的命令提示字符就回来了
~/.bash_logout
这个文件记录了 当我注销bash后,系统再帮我做玩什么动作后才离开,你也可以将一些备份或者是其他你认为重要的工作写在这个文件中(例如清空缓存盘),那么当你离开Linux的时候,就可以解决一些烦人的事情了