天天看点

与登录相关的设置

1,PS1:(提示符的设置)

bash中PS1变量内的特殊符号所代表的含义

\d 代表日期,格式为 "星期 月 日"

\H 完整的主机名,例如:linux.china.cn

\h 仅取主机名的第一个名字,例如:linux,china.cn被省略

\t 显示时间,24小时格式,HH:MM:SS

\T 显示时间,12小时格式

\A 显示时间,24小时格式,HH:MM

\u 当前用户的账号名

\v bash的版本信息

\w(小写) 完整的工作目录名,家目录为~

\W(大写) 利用basename取得工作目录名,所以仅列出最后一个目录名

\# 执行的第几个命令

\$ 提示符,如果是root时,提示符为#,否则为$

<a href="http://xuchengji.blog.51cto.com/attachment/201005/19/160472_1274284350lsKM.png"></a>

当前用户为root,主机名为rhel5,当前的工作目录为家目录~,当前时间为23:15,执行是第12命令,提示符为#

这个提示符的设置在/etc/bashrc中设置.根据各人喜好也可以在~/.bashrc文件中做设置(这个文件一般做个性化设置,比如别名).

2,登录消息显示数据:/etc/issue,/etc/motd (1)与/etc/issue相关代码意义

\d 本地端的时间的日期

\l(小写) 显示第几个终端的接口

\m 显示硬件的等级

\n 显示主机的网络名

\o 显示域名

\r 操作系统的版本,相当于uname –r

\t 本地端的时间

\s(小写) 操作系统的名称

\v 操作系统的版本

/etc/issue.net 当telnet到主机时使用的是这个文件,而不是/etc/issue.

(2)/etc/motd

用户登录时获取的消息就是在这个文件中设置的.

<a href="http://xuchengji.blog.51cto.com/attachment/201005/19/160472_1274284351Sqos.png"></a>

3,环境设置文件

(1)系统设置文件

/etc/profile

这个档案设定了几个重要的变量,例如:PATH、USER、MAIL、 HOSTNAME、HISTSIZE、umask』等等,也同时规划出 /etc/inputrc 这个针对键盘热建设定的档案的数据内容。你可以在这里设定总体的 PATH 等等的信息! 同时,这个档案也规划出 /etc/profile.d 及 /etc/inputrc 这两个目录与档案!设定上需要特别小心,因为所有的使用者皆会使用到这个档案的信息

以下是一个ubuntu8.04 server 下的profile文件内容。

# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...). 

if [ -d /etc/profile.d ]; then 

  for i in /etc/profile.d/*.sh; do 

    if [ -r $i ]; then 

      . $i 

    fi 

  done 

  unset i 

fi

if [ "$PS1" ]; then 

  if [ "$BASH" ]; then 

    PS1='\u@\h:\w\$ ' 

    if [ -f /etc/bash.bashrc ]; then 

        . /etc/bash.bashrc 

  else 

    if [ "`id -u`" -eq 0 ]; then 

      PS1='# ' 

    else 

      PS1='$ ' 

  fi 

fi 

umask 022

*:从以上的内容中可以看到,定义了PS1,umask; . /etc/bash.bashrc 中的那个“点”可以将设定档的内容读进来目前的 shell 环境中或利用 source /etc/bash.bashrc

/etc/bashrc

这个档案在规划 umask 的功能,也同时规划出提示字符的内容 (就是里头那个 PS1 啦!) 。特别留意的是,这个档案在不同的 Linux distribution 里面,摆放的位置可能不太一样呢! 所以需要查询一下才行

*:我在ubuntu 8.04 中就没找到这个文件,但是有bash.bashrc

/etc/profile.d/*.sh 

/etc/profile.d 是一个目录,里面针对 bash 及 C-shell 规范了一些数据。 这个目录里面就针对了颜色、语系、vim 及 which 等指令进行一些额外的设定, 例如 alias 之类的规范值。我们的 vim 被用 alias 命名为 vi 就是在这个目录下被设定好的。 当然啦,这个目录的由来其实是在 /etc/profile 这个档案内规范的啦! 你可以自行设定一些 *.sh 的文件名的档案来书写自己的系统设定

(2)个人设定

~/.bash_profile, ~/.bash_login, ~/.profile 

这三个档案通常只要一个就够了,一般预设是以 ~/.bash_profile 的文件名存在。 会有这么多的档案,其实是因应其它 shell 转换过来的使用者的习惯而已。 这个档案可以定义个人化的路径 (PATH) 与环境变量等等。不过,还是有顺位上的差异, bash 启动时,会先去读取 ~/.bash_profile,找不到时,就去读取 ~/.bash_login ,然后才是 ~/.profile。

*:在ubuntu 8.04中就是只有~/.profile

~/.bashrc 

个人化设定值都会写在这里例如命令别名、路径等等。 这个档案在您每次执行 shell script 的时候都会被重新使用一遍,所以是最完整的。 而上头的 ~/.bash_profile 则只有在登入的时候会被读取一次。

*:在ubuntu 8.04中也有这个文件

/.bash_history

历史命令就记录在这里

~/.bash_logout

当我注销 bash 后,系统再帮我做完什么动作后才离开

*:我在ubuntu 8.04 中就没找到这个文件

4,环境设置文件的执行顺序

(1)登录shell,先后为:

~/.bash_profile

~/.bashrc

/etc/.bashrc

(2)非登录shell,先后为:

总结:根据以上内容,就可以设置自已的环境了,修改/etc/profile,或是修改~/.bashrc,也可以自已写shell,让其设置自己的环境.

*:以上是读&lt;&lt;鸟哥私房菜&gt;&gt;后笔记.

本文转自xcjgutong 51CTO博客,原文链接:http://blog.51cto.com/xuchengji/318358

继续阅读