在没有经过自定义配置的终端下因为所有输入输出都是一个颜色(ls命令除外),对查找一些命令的执行结果很不方便。
对终端的配置,可以写到不同的文件之中,如:~/.bashrc、/etc/bash.bashrc、/etc/profile这几个文件。
这些文件的的作用时机
/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置.此文件默认调用/etc/bash.bashrc文件。
/etc/bashrc:为每一个运行bash shell的用户执行此文件.当bashshell被打开时,该文件被读取.
~/.bash_profile/~/.bash_login/~/.profile:用户登录执行,source立即生效。每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.
~/.bashrc:每次打开新窗口时执行。该文件包含专用于你的bashshell的bash信息。与/etc/bashrc冲突则执行前者~。
~/.bash_logout:当每次退出系统(退出bashshell)时,执行该文件.
可以明白的是:针对于用户的配置,应该将配置信息写入~/.bashrc文件。(只对当前用户有效,重新打开的如果不是当前用户的terminal当然没有效果!所以lz一般设置两次,一个root用户,一个当前普通用户)
终端terminal 补全设置为大小写不敏感
编辑~/.inputrc(没有的话,就新建一个),在最后加一行:
set completion-ignore-case on
保存,重新打开终端就可以了。
还有命令行输入字符之后,就可以用方向键Up,Down来搜索以该串字符开头的历史命令。
终端颜色配置
为了设置终端颜色,我们需要对~/.bashrc文件中的PS1变量进行定制。
在颜色模式打开的情况下,PS1变量代表的内容就是用户名+主机名+路径名(长路径)+$。
eg: pipi@ubuntu:~$ 中用户名-pipi;主机名-ubuntu;路径名-~
颜色=\033[代码;前景;背景m
如\033[1;31;1m代表高亮红色前景和透明背景
\033[0m #采用终端默认设置,即取消颜色设置
Terminal properties
Terminal | bold | dark | underline | blink | reverse | concealed |
xterm | yes | no | yes | bold | yes | yes |
linux | yes | yes | bold | yes | yes | no |
rxvt | yes | no | yes | bold/black | yes | no |
dtterm | yes | yes | yes | reverse | yes | yes |
teraterm | reverse | no | yes | rev/red | yes | no |
aixterm | normal | no | yes | no | yes | yes |
PuTTY | color | no | yes | no | yes | no |
Windows | no | no | no | no | yes | no |
Cygwin SSH | yes | no | color | color | color | yes |
Mac Terminal | yes | no | yes | yes | yes | yes |
【
https://pypi.python.org/pypi/termcolor/】
【
http://en.wikipedia.org/wiki/ANSI_escape_code】
颜色设置有关的几张表
---------------------------------------
代码序列说明\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.bak
然后打开文件
gedit ~/.bashrc
找到PS1变量设置的代码,注释之
#if [
color_prompt" = yes]; then # PS1='{debian_chroot:+($debian_chroot)}
\033[01;32m
\u@\h:\033[01;34m
\w\033[00m
\$ '
#else
# PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
#fi
可以直接修改PS1='${debian_chroot:+($debian_chroot)}\033[01;32m
\u@\h\033[00m
:\033[01;34m
\w\033[00m
\$ '
或者可以在文件的末尾加上”PS1='\u@\h:\w$'“(这也是终端的默认设置,即不加任何颜色)
- #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
-
- PS1='\u@\h:\w$'
颜色=\033[代码;前景;背景m
Note: 要将全部非打印字符用bash 转义序列 "
"和
[Math Processing Error]"括起来。"
"是为了把转义序列的字符串括起来,防止转义序列的文本显示在 shell 里占用太多的空间。
\033 声明了转义序列的开始,然后是 [ 开始定义颜色。 后面的 0 定义了默认的字体宽度,接着的中间的数字定义字符颜色。最后面的数字定义了字符背景色。字母m是定义本身所必须的,字母m后面的字符就是你想改变的字符了。
Ps1 ="\[ -------------> 最外面的括弧
\033[1;32;40m[
----> 定义最右边的" [ " ;
1:字体宽度,好像有加亮功能.
32:字符颜色。32表示绿色。
40:背景色,40表示黑色。
再例如在\u前面加上
\033[1;31;1m
PS1='
\033[1;31;1m
\u@\h:\w
$'让用户名以红色高亮显示
保存回到终端后输入“source ~/.bashrc”。
我们要想办法让信息显示以不同颜色展示。这里颜色设置的作用范围是从当前设置命令到下一颜色设置命令的,也就是说,如果我们只在\u前设置了颜色,那么终端的字体应该都是红色的,不仅信息项是红色的,就连输入命令都是红色的。
如果打开新的终端,用户定义的配置并没有显示出来,还是默认配置。 这个时候可以通过source命令去手动加载.bashrc文件,可是每次打开终端都要source一次。
回到文章开头的地方,我们说/etc/profile文件从/etc/profile.d目录的配置文件中搜集shell的设置,此文件默认调用/etc/bashrc文件,打开profile文件:
在文件中有一句调用/etc/bash.bashrc文件的代码,前文所说profile文件自动加载bash.bashrc文件,事实上就是由代码实现的,可以在这里添加一句新的代码,以使profile自动加载用户的.bashrc文件,实现不需每次打开终端都要source的需求
...
# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'
ps:
1.完成后保存并退出GEdit编辑器,回到终端后输入“source ~/.bashrc”(14.04不用输入都可以),再重新打开termial就ok了
2. 不过好像没办法让输入的命令与输出的文件名显示不同颜色,这个怎么解决?(求留言)