Chinaunix首页 | 论坛 | 博客
  • 博客访问: 539410
  • 博文数量: 260
  • 博客积分: 10435
  • 博客等级: 上将
  • 技术积分: 1939
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-24 14:50
文章分类

全部博文(260)

文章存档

2011年(22)

2010年(209)

2009年(29)

我的朋友

分类: LINUX

2010-04-27 15:40:21

Linux修改环境变量PS1(命令行提示符),可以使用vi编辑/etc/profile文件,在最后加上:

export PS1='[\u@\h \W]\$ '

即可,其中\u显示当前用户账号,\h显示当前主机名,\W显示当前路径,\$显示'$'符号

\W 代替 \w 就可以实现绝对路径到相对路径的转换

下面简单说说环境下默认的特殊符号所代表的意义:

\d :代表日期,格式为weekday month date,例如:"Mon Aug 1"

\H :完整的主机名称。例如:我的机器名称为:fc4.linux,则这个名称就是fc4.linux

\h :仅取主机的第一个名字,如上例,则为fc4,.linux则被省略

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

\T :显示时间为12小时格式

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

\u :当前用户的账号名称

\v :BASH的版本信息

\w :完整的工作目录名称。家目录会以 ~代替

\W :利用basename取得工作目录名称,所以只会列出最后一个目录

\# :下达的第几个命令

\$ :提示字符,如果是root时,提示符为:# ,普通用户则为:$

但是这样设置之后显示的提示符是没有颜色的,如果希望加入颜色设置,可以这样:

PS1="\e[1;32m\u\e[m\e[1;33m@\e[m\e[1;35m\h\e[m:\w\$ "
    此时,在终端中的显示应该是彩色的提示符了,其中的\e[1;xxm和\e[m就是改变终端字体颜色的部分,前者是修改颜色,后者是恢复到正常显示。但是 这时还会有问题,在提示符中输入第一行时,回车换行不正常,导致显示很混乱,因此,除了这个修改之外,还需要将全部非打印字符用专用的 bash 转义序列 "\[" 和 "\]" 括起来。这两个序列通知 bash,被括起来的字符不占用行上的任何空间,这样就使自动换行能够继续正常工作。最终版本如下(可解决带颜色提示符的不换行问题):

PS1="\[\e[1;32m\]\u\[\e[m\]\[\e[1;33m\]@\[\e[m\]\[\e[1;35m\]\h\[\e[m\]:\w\$ "

 

   其中,颜色表示为:30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white。

   如果需要改变目录在命令行下显示颜色:

   1、将/etc/DIR_COLORS文件cp到~/下,并改名为.dir_colors。

   2、编辑.dir_colors文件,找到“DIR 01;34   # directory”,将34改为36。
你可以找到文件的两行注释:
# Text color codes:
# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white

按照颜色对应的数字,你还可以把目录显示颜色改成其他的。
同样其他的显示效果(包括背景)也可以参照说明进行修改。
这样你就可以定制自己的linux下命令行方式下的个性化显示效果了。
   3、重新登录,就可以看到修改后的效果了。
阅读(619) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~