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 上錄製你的終端操做]

相關文章
相關標籤/搜索