linux终端terminal个性化配置(转)

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

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

linux打开终端快捷键:linux

ctrl + alt + t  新窗口中打开git

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

 

我的配置文件介绍

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

   在没有通过自定义配置的终端下由于全部输入输出都是一个颜色(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[代码;前景;背景mubuntu

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

\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

颜色设置有关的几张表

 ---------------------------------------bash

代码序列说明

\aASCII响铃字符(也能够键入 \007)dom

\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\$'“(这也是终端的默认设置,即不加任何颜色)
[plain]  view plain  copy
 
 print?在CODE上查看代码片派生到个人代码片
  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.   
  6. 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 上录制你的终端操做]

相关文章
相关标签/搜索