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时,提示符为#,否则为$
p_w_picpath
当前用户为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
用户登录时获取的消息就是在这个文件中设置的.
p_w_picpath
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
    fi
  else
    if [ "`id -u`" -eq 0 ]; then
      PS1='# '
    else
      PS1='$ '
    fi
  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
历史命令就记录在这里
*:在ubuntu 8.04中也有这个文件
~/.bash_logout
当我注销 bash 后,系统再帮我做完什么动作后才离开
*:我在ubuntu 8.04 中就没找到这个文件
4,环境设置文件的执行顺序
(1)登录shell,先后为:
/etc/profile
~/.bash_profile
~/.bashrc
/etc/.bashrc
(2)非登录shell,先后为:
~/.bashrc
/etc/bashrc
总结:根据以上内容,就可以设置自已的环境了,修改/etc/profile,或是修改~/.bashrc,也可以自已写shell,让其设置自己的环境.
*:以上是读<<鸟哥私房菜>>后笔记.