Bash 的操作坏境

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的时候,就可以解决一些烦人的事情了


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值