linux终端字体颜色设置、路径名设置以及ls命令设置


http://www.2cto.com/uploadfile/Collfiles/20140928/2014092808582563.

Linux可以根据个人喜好去定制系统配置

个人配置文件介绍如下:

系统默认状态下的终端显示为紫底白字(皮皮(小编)的linux为ubuntu 12.04 LTS)

在没有经过自定义配置的终端下因为所有输入输出都是一个颜色,对查找一些命令的执行结果很不方便。
除了颜色,默认终端配置下的长长的路径名也是一个让人比较蛋疼的地方。
要知道原来对终端的配置,可以写到不同的文件之中,例如:~/.bashrc、/etc/bash.bashrc、/etc/profile这几个文件。这些文件的的作用时机
/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置.此文件默认调用/etc/bash.bashrc文件。 /etc/bashrc:为每一个运行bash shell的用户执行此文件.当bashshell被打开时,该文件被读取. ~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件. ~/.bashrc:该文件包含专用于你的bashshell的bash信息。 ~/.bash_logout:当每次退出系统(退出bashshell)时,执行该文件.
可以明白的是:针对于用户的配置,应该将配置信息写入~/.bashrc文件。

1.终端颜色配置 为了设置终端颜色,我们需要对~/.bashrc文件中的PS1变量进行定制。首先通过“gedit~/.bashrc“命令打开文件,找到PS1变量所在位置:
if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
在颜色模式打开的情况下,PS1变量代表的内容就是用户名+主机名+路径名(长路径)+$。
eg: pipi@ubuntu:~$ 中用户名-pipi;主机名-ubuntu;路径名-~

以下对PS1变量的设置进行具体分析:

颜色=\033[代码;前景;背景m

如\033[1;31;1m代表高亮红色前景和透明背景

以上解析用颜色设置有关的几张表说明:

---------------------------------------

代码序列说明

\aASCII响铃字符(也可以键入 \007)

\d "Wed Sep06"格式的日期

\eASCII转义字符(也可以键入 \033)

\h 主机名的第一部分(如 "mybox")

\H 主机的全称(如 "mybox.mydomain.com")

\j 在此 shell中通过按 ^Z挂起的进程数

\l 此 shell的终端设备名(如 "ttyp4")

\n 换行符

\r 回车符

\sshell的名称(如 "bash")

\t24小时制时间(如 "23:01:01")

\T12小时制时间(如 "11:01:01")

\@ 带有 am/pm的 12小时制时间

\u 用户名

\vbash的版本(如 2.04)

\VBash版本(包括补丁级别) ?/td>;

\w 当前工作目录(如 "/home/drobbins")

\W 当前工作目录的“基名 (basename)”(如 "drobbins")

\! 当前命令在历史缓冲区中的位置

\# 命令编号(只要您键入内容,它就会在每次提示时累加)

\$ 如果您不是超级用户 (root),则插入一个 "$";如果您是超级用户,则显示一个 "#"

\xxx 插入一个用三位数 xxx(用零代替未使用的数字,如 "/007")表示的 ASCII 字符

\\ 反斜杠

\[这个序列应该出现在不移动光标的字符序列(如颜色转义序列)之前。它使 bash能够正确计算自动换行。

\] 这个序列应该出现在非打印字符序列之后。

--------------------------------------- --------------------------------------- ---------------------------------------

代码 意义

0 OFF

1 高亮显示

4 underline

5 闪烁

7 反白显示

8 不可见

---------------------------------------

前景 背景 颜色

30 40 黑色

31 41 紅色

32 42 綠色

33 43 黃色

34 44 藍色

35 45 紫紅色

36 46 青藍色

37 47 白色

1 1 透明色

---------------------------------------

终端颜色设置的实际操作:
在终端中使用命令“cp ~/.bashrc~/.bashrc.backup”对配置文件进行备份(如果需要对配置文件之类的东西进行修改的话,最好进行备份,以防出错之后导致系统无法登录之类的问题)
然后“gedit~/.bashrc"打开文件,找到PS1变量设置的代码,注释之(在每一行代码前插入”#“)。
这时可以在文件的末尾加上”PS1='\u@\h:\w\$'“(这也是终端的默认设置,即不加任何颜色):

#if [ "$color_prompt" = yes ]; then
#    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
#else
#    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
#fi
<span style="color:#999999;">#setup XIM environment, needn't if use SCIM as gtk-immodules
export XMODIFIERS=@im=fcitx
export GTK_IM_MODULE=xim
export QT_IM_MODULE=xim</span>

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

PS1中加入颜色的设置:

颜色=\033[代码;前景;背景m

注意:

要将全部非打印字符用 bash 转义序列 "\["和 "\]"括起来。(这两个序列通知 bash,被括起来的字符不占用行上的任何空间,这样就使自动换行能够继续正常工作。

这点很关键要不然等你设好了颜色,你的终端换行会乱七八糟)

例如在\u前面加上\[\033[1;31;1m\]

PS1='\[\033[1;31;1m\]\u@\h:\w\$'让用户名以红色高亮显示

\

完成后保存并退出GEdit编辑器,回到终端后输入“source ~/.bashrc”。

我们要想办法让信息显示以不同颜色展示。这里颜色设置的作用范围是从当前设置命令到下一颜色设置命令的,也就是说,如果我们只在\u前设置了颜色,那么终端的字体应该都是红色的,不仅信息项是红色的,就连输入命令都是红色的。 明白了对PS1变量进行设置的原理之后,可以在PS1变量中插入字符串,或者为每个信息项设置不同的颜色,或者控制信息栏显示的内容:我们可以让用户名(红色)、路径(绿色)、美元符号(黄色)、命令(白色)显示如下图的样子: PS1='\[\033[1;31;1m\]\u@\h:\[\033[1;32;1m\]\w\[\033[1;33;1m\]\$\[\033[1;37;1m\]'
source一下,效果如下:

2.终端中路径名过长问题 有时候在终端需要连续打开几层的文件夹才能访问到我们所需的文件,而这个时候在终端中显示的路径名就像是一条长长的尾巴
使终端只显示用户当前工作目录的名字:
其实在前边的序列说明中已经提及,我们可以在PS1变量设置终端只显示工作目录的基名,即将PS1变量中的\w的小写的w换成大写的W,修改后的PS1变量为: PS1='\[\033[1;31;1m\]\u@\h:\[\033[1;32;1m\]\W\[\033[1;33;1m\]\$\[\033[1;37;1m\]'
下面通过图片说明二者的效果:(截屏快捷键ctrl+alt+a设置见ubuntu 中截图工具及快捷键设置) \
在.bashrc中将ps1改为 PS1='\[\033[1;31;1m\]\u@\h:\[\033[1;32;1m\]\W\[\033[1;33;1m\]\$\[\033[1;37;1m\]'
\inaimg.cn/mw690/6d0cbb034cf623f79ed6b&690
可以发现,经过修改PS1变量的值之后,终端将只显示当前工作目录的基名了~。 综合以上所说也可以设置为不显示主机名(@\h去掉)并且显示短路径名的: PS1='\[\033[1;31;1m\]\u:\[\033[1;32;1m\]\W\[\033[1;33;1m\]\$\[\033[1;37;1m\]' \

最后,如果打开新的终端,用户定义的配置并没有显示出来,而还是显示默认的配置。 这个时候可以通过source命令去手动加载.bashrc文件,这时候,我们所设置的配置又回来了。可是每次打开终端都要source一次。
回到文章开头的地方,我们说/etc/profile文件从/etc/profile.d目录的配置文件中搜集shell的设置.此文件默认调用/etc/bashrc文件,打开profile文件: “sudo gedit /etc/bashrc”(注意这里需要加上sudo!)
在文件中有一句调用/etc/bash.bashrc文件的代码,前文所说profile文件自动加载bash.bashrc文件,事实上就是由代码实现的,可以在这里添加一句新的代码,以使profile自动加载用户的.bashrc文件,实现不需每次打开终端都要source的需求 \
保存之后关闭编辑器,新打开一个终端,可以发现,我们之前的配置已经能够自动加载了。
最后,之前看到的我的终端都是黑底的,其实用户可以直接在终端中设置首选项以实现半透明背景,或者是以一张图片作为背景也可以:
打开一个terminal,鼠标指到屏幕最上面,选择菜单中选择 编辑>配置文件首选项>背景 再设置一下就可以了


3.ls命令设置 在终端一个常用的命令就是ls命令了,我们可以通过在.bashrc文件中设置alias以实现ls命令的一些自定义设置: \
alias其实是相当于一个命令引用的东西,例如最后一句,每当你在终端里边输入ls命令,终端会根据.bashrc文件中的alias的设置查找到引用的命令:ls--color=auto,所以你每次输入“ls”其实就相当于输入了“ls--color=auto”,而这句命令的作用是显示当前目录的可见文件,并且以颜色区分不同类型的文件,比如文件夹和普通文件。

from:http://www.2cto.com/uploadfile/Collfiles/20140928/2014092808582563.

ref:改变linux终端颜色

Ubuntu终端颜色设置、路径名设置以及ls命令设置

相关内容