Linux 命令行终端 配色
引言
要修改 linux 终端命令行颜色,我们需要用到PS1,PS1 是 Linux 终端用户的一个环境变量,用来说明命令行提示符的设置。
在终端输入命令:set,即可在输出中找到关于PS1的定义如下:
# linux默认的命令行提示信息为:[当前用户的账号名称@主机的第一个名字 工作目录的最后一项]
set | grep PS1
PS1='[\u@\h \W]\$ '
其中:
\u
:表示用户 (username);\h
:表示主机 (hostname);\w
:表示当前工作目录 (directory);$
:超级用户 (root) 插入#
, 普通用户插入$
。
配置方法
编辑 ~/.bashrc
并加入:
PS1='[\u@\h \W]\$ '
随后使用 source ~/.bashrc
更新。
我的配置
配色方案 1 - 花里胡哨
PS1='\[\033[1;33m\][\[\033[1;35m\]\u\[\033[0m\]@\[\033[1;32m\]\h \[\033[0m\]\[\033[1;34m\]\W\[\033[0m\]\[\033[1;33m\]]\$ \[\033[0m\]'
配色方案 2 - Kali (仿)
PS1='\[\033[1;34m\](\[\033[1;35m\]\u\[\033[1;34m\]@\[\033[1;36m\]\h\[\033[1;34m\])-[\[\033[0m\]\W\[\033[1;34m\]]\$ \[\033[0m\]'
配色方案 3 - Kali (真)
PS1='\[\033[0;34m\]┌──\[\033[1;34m\](\[\033[1;35m\]\u\[\033[1;34m\]@\[\033[1;36m\]\h\[\033[1;34m\])-[\[\033[0m\]\[\033[0;37m\]\w\[\033[0m\]\[\033[1;34m\]]\n\[\033[0;34m\]└─\[\033[1;34m\]\$> \[\033[0m\]'
常用参数含义
\d :代表日期,格式为weekday month date,例如:"Mon Aug 1"
\e: ASCII转义字符 (等价于 \033)
\H :完整的主机名称
\h :仅取主机的第一个名字
\j:shell当前管理的作业数
\1:shell终端设备名的基本名称
\n:ASCII换行字符
\r:ASCII回车
\s:shell的名称
\t :显示时间为24小时格式,如:HH:MM:SS
\T :显示时间为12小时格式
\@:格式为am/pm的12小时制的当前时间
\A :显示时间为24小时格式:HH:MM
\u :当前用户的账号名称
\v :BASH的版本信息
\V:bash shell的发布级别
\w :完整的工作目录名称
\W :利用basename取得工作目录名称,所以只会列出最后一个目录
\ :下达的第几个命令
\!:该命令的bash shell历史数
\#:该命令的命令数量
\$ :提示字符,如果是普通用户,则为美元符号$;如果超级用户(root 用户),则为井号#。
\nnn:对应于八进制值 nnn 的字符
\\:斜杠
\[:控制码序列的开头
\]:控制码序列的结尾
字体颜色配置
30m==黑色; 31m==红色; 32m==绿色; 33m==黄色;
34m==蓝色; 35m==洋红; 36m==青色; 37m==白色
背景颜色配置
40m==黑色; 41m==红色; 42m==绿色; 43m==黄色;
44m==蓝色; 45m==洋红; 46m==青色; 47m==白色
颜色截止
\[\e[0m\]
其他功能数字
0==OFF
1==加粗 (常用)
4==underline
5==闪烁
7==反白显示
8==不可见