http://blog.csdn.net/pipisorry/article/details/39584489

{本文介绍Linux终端字体颜色设置、终端提示符显示内容设置、自定义alias命令}

linux打开终端快捷键:

ctrl + alt + t  新窗口中打开

ctrl + shift +t 新标签页中打开

个人配置文件介绍

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

   在没有经过自定义配置的终端下因为所有输入输出都是一个颜色(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[00m

:

\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\$'“(这也是终端的默认设置,即不加任何颜色)
  1. #setup XIM environment, needn't if use SCIM as gtk-immodules
  2. export XMODIFIERS=@im=fcitx
  3. export GTK_IM_MODULE=xim
  4. export QT_IM_MODULE=xim
  5. PS1='\u@\h:\w\$'

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

Note: 要将全部非打印字符用bash 转义序列 "\["和 "\]"括起来。"

 

"是为了把转义序列的字符串括起来,防止转义序列的文本显示在 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前设置了颜色,那么终端的字体应该都是红色的,不仅信息项是红色的,就连输入命令都是红色的。
  明白了对PS1变量进行设置的原理之后,可以在PS1变量中插入字符串,或者为每个信息项设置不同的颜色,或者控制信息栏显示的内容:
我们可以让用户名(红色)、路径(绿色)、美元符号(黄色)、命令(白色)
PS1='

\033[1;31;1m

\u@\h:

\033[1;32;1m

\w

\033[1;33;1m

\$

\033[1;37;1m

'

不显示主机名(@\h去掉)并且显示长路径名
PS1='

\033[1;31;1m

\u:

\033[1;32;1m

\w

\033[1;33;1m

\$

\033[1;37;1m

'

source一下:source ~/.bashrc

终端中路径名过长问题

有时候在终端需要连续打开几层的文件夹才能访问到我们所需的文件,而这个时候在终端中显示的路径名就像是一条长长的尾巴

使终端只显示用户当前工作目录的名字

可以在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

'

不显示主机名(@\h去掉)并且显示短路径名

PS1='

\033[1;31;1m

\u:

\033[1;32;1m

\W

\033[1;33;1m

\$

\033[1;37;1m

'

实现不需每次打开终端都要source的需求

如果打开新的终端,用户定义的配置并没有显示出来,还是默认配置。 这个时候可以通过source命令去手动加载.bashrc文件,可是每次打开终端都要source一次。
回到文章开头的地方,我们说/etc/profile文件从/etc/profile.d目录的配置文件中搜集shell的设置,此文件默认调用/etc/bashrc文件,打开profile文件:
sudo gedit /etc/profile
   在文件中有一句调用/etc/bash.bashrc文件的代码,前文所说profile文件自动加载bash.bashrc文件,事实上就是由代码实现的,可以在这里添加一句新的代码,以使profile自动加载用户的.bashrc文件,实现不需每次打开终端都要source的需求
if [ "$PS1" ]; then
  if [ "$BASH" ] && [ "$BASH" != "/bin/sh" ]; then
    # The file bash.bashrc already sets the default PS1.
    # PS1='\h:\w\$ '
    if [ -f /etc/bash.bashrc ]; then
      . /etc/bash.bashrc
      . ~/.bashrc
    fi
  else
    if [ "`id -u`" -eq 0 ]; then
      PS1='# '
    else
      PS1='$ '
    fi
  fi
fi
保存。
打开一个终端,可以发现,我们之前的配置已经能够自动加载了。 

终端其它设置

之前看到的我的终端都是黑底的,其实用户可以直接在终端中设置首选项以实现半透明背景,或者是以一张图片作为背景也可以:
打开一个terminal,鼠标指到屏幕最上面,选择菜单中选择 编辑>配置文件首选项>背景 再设置一下就可以了
 
 

alias命令设置

  可以通过在.bashrc文件中设置alias以实现ls命令的一些自定义设置:
# enable color support of ls and also add handy aliases
...
    alias ls='ls --color=auto'
    #alias dir='dir --color=auto'
    #alias vdir='vdir --color=auto'

    alias grep='grep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias egrep='egrep --color=auto'
    #pipi add
    alias vi='vim'
    alias ssu='sudo su'
    alias cp='cp -i'
    alias mv='mv -i'
    alias rm='rm -i'
    alias dm='docker-machine'
    alias gc='git commit -m 'update''
...

# 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. 不过好像没办法让输入的命令与输出的文件名显示不同颜色,这个怎么解决?(求留言)

from:http://blog.csdn.net/pipisorry/article/details/39584489

ref:通过alias等配置linux的shell颜色技巧

[如何在 Linux 上录制你的终端操作]

 
 

linux终端terminal个性化配置(转)的更多相关文章

  1. Linux终端(terminal)清屏命令

    windows CMD终端的清屏命令是cls Linux终端中的清屏命令有 1) clear 2) reset

  2. Linux终端Terminal常用快捷键

    快捷键 功能CTRL+ALT+T 打开终端Ctrl+a 光标移动到开始位置Ctrl+e 光标移动到最末尾Ctrl+k 删除此处至末尾的所有内容Ctrl+u 删除此处至开始的所有内容Ctrl+d 删除当 ...

  3. Linux终端 terminal

    终端 一个可以进行人机交互的界面 物理终端 设备终端:键盘.鼠标.显示器 终端类型 控制台终端: /dev/console 串行终端:/dev/ttyS# 虚拟终端:tty:teletypewrite ...

  4. Linux - 终端terminal进入交互环境的快捷键

    1. 上一页 ctrl + b 2. 下一页 空格 / ctrl + f 3. 上半页 ctrl + u 4. 下半页 ctrl + d 5. 上一行 k 6. 下一行 j 7. 向上查找 ?key ...

  5. WINDOWS远程控制LINUX终端XSHELL

    WINDOWS远程控制LINUX终端XSHELL 笔者购买的腾讯云CENTOS7,通过腾讯云的控制台登录,每次都要打开相关网页.输入密码,感觉操作非常不方便. 使用XSHELL远程控制LINUX终端, ...

  6. 黑科技抢先尝(续) - Windows terminal中WSL Linux 终端的极简美化指南

    目录 修改默认源,为apt-get安装提速 安装python 和 python pip 安装 zsh 安装powerline-font中的特定字体 安装powerline-shell 修改~目录下的配 ...

  7. 在Linux终端执行clear或top命令时出现:'xterm': unknown terminal type

    在Linux终端执行clear或top命令时出现:'xterm': unknown terminal type的错误. 例如: [root@localhost phpmyadmin]# clear ' ...

  8. 【Linux探索之旅】第二部分第一课:终端Terminal,好戏上场

    内容简介 1.第二部分第一课:终端Terminal,好戏上场 2.第二部分第二课预告:命令行,世界尽在掌握 终端Terminal,好戏上场 随着第一部分的结束,我们进入了第二部分(小编你这好像是废话. ...

  9. Linux 桌面玩家指南:04. Linux 桌面系统字体配置要略

    特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...

随机推荐

  1. <select> 标签使用

    jQuery获取Select选择的Text和Value: 1. var checkText=jQuery("#select_id").find("option:selec ...

  2. MySQL Workbench “Error Code: 1175” 的解决方法

    转自:http://www.linuxidc.com/Linux/2012-04/59333.htm 当用MySQL Workbench进行数据库的批量更新时,执行一个语句会碰到以下错误提示: Err ...

  3. Nodejs创建客户端

    Node 创建 Web 客户端需要引入 http 模块,创建 client.js 文件,代码如下所示: var http = require('http'); //用于请求的选项 var option ...

  4. form中的GET与POST

     form标签是强大的:如果没有form标签,Internet将变成一个枯燥文档的只读存储库.Web Forms没有完全利用form标签的强大功能(也可以说是Web Forms为实现自己的目标才管理和 ...

  5. MFC 响应控件消息

    第一种,消息映射 第二种,重写OnCommand BOOL CmfcdlgDlg::OnCommand(WPARAM wParam, LPARAM lParam){ switch(wParam) { ...

  6. JS传递对象数组为参数给后端,后端获取

    前端JS代码: var conditons = []; var test1 = new Object(); test1.name="1"; test1.id="2&quo ...

  7. jquery easyui校验select下拉列表值是否为空的问题

    属性名 类型 描述 默认值 required 布尔 定义文本域是否为必填项 false validType 字符串 定义字段的验证类型,比如email, url, etc. null missingM ...

  8. Upload files to aliyunOSS with bootstrap-fileinput

    本文主要涉及两个概念: 阿里云OSS:对象存储(Object Storage Service,简称OSS),是阿里云对外提供的海量.安全和高可靠的云存储服务. bootstrap-fileinput: ...

  9. UEditor使用说明

    页面加入ue<!-- umeditor --><script type="text/javascript" charset="utf-8" s ...

  10. PHP操作MongoDB学习笔记

    <?php/*** PHP操作MongoDB学习笔记*///*************************//**   连接MongoDB数据库  **////*************** ...