linux終端字型顏色設定、路徑名設定以及ls命令設定
http://www.2cto.com/uploadfile/Collfiles/20140928/2014092808582563.
Linux可以根據個人喜好去定製系統配置
個人設定檔介紹如下:
系統預設狀態下的終端顯示為紫底白字(皮皮(小編)的linux為ubuntu 12.04 LTS)
在沒有經過自訂配置的終端下因為所有輸入輸出都是一個顏色,對尋找一些命令的執行結果很不方便。
除了顏色,預設終端配置下的長長的路徑名也是一個讓人比較蛋疼的地方。
要知道原來對終端的配置,可以寫到不同的檔案之中,例如:~/.bashrc、/etc/bash.bashrc、/etc/profile這幾個檔案。這些檔案的
的作用時機:
/etc/profile:此檔案為系統的每個使用者佈建環境資訊,當使用者第一次登入時,該檔案被執行.並從/etc/profile.d目錄的設定檔中搜集shell的設定.此檔案預設調用
/etc/bash.bashrc檔案。
/etc/bashrc:為每一個運行bash shell的使用者執行此檔案.當bashshell被開啟時,該檔案被讀取.
~/.bash_profile:每個使用者都可使用該檔案輸入專用於自己使用的shell資訊,當使用者登入時,該檔案僅僅執行一次!預設情況下,他設定一些環境變數,執行使用者的.bashrc檔案.
~/.bashrc:該檔案包含專用於你的bashshell的bash資訊。
~/.bash_logout:當每次退出系統(退出bashshell)時,執行該檔案.
可以明白的是:針對於使用者的配置,應該將配置資訊寫入~/.bashrc檔案。
1.終端顏色配置 為了設定終端顏色,我們需要對
~/.bashrc檔案中的
PS1變數進行定製。首先通過“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變數代表的內容就是使用者名稱+主機名稱+路徑名(長路徑)+$。
eg: pipi@ubuntu:~$ 中使用者名稱-pipi;主機名稱-ubuntu;路徑名-~
以下對PS1變數的設定進行具體分析:
顏色=\033[代碼;前景;背景m
如\033[1;31;1m代表高亮紅色前景和透明背景
以上解析用顏色設定有關的幾張表說明:
---------------------------------------
代碼序列說明
\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.backup”對設定檔進行備份(如果需要對設定檔之類的東西進行修改的話,最好進行備份,以防出錯之後導致系統無法登入之類的問題)
然後“gedit~/.bashrc"開啟檔案,找到PS1變數設定的代碼,注釋之(在每一行代碼前插入”#“)。
這時可以在檔案的末尾加上”PS1='\u@\h:\w\$'“(這也是終端的預設設定,即不加任何顏色):
#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
<span style="color:#999999;">#setup XIM environment, needn't if use SCIM as gtk-immodulesexport XMODIFIERS=@im=fcitxexport GTK_IM_MODULE=ximexport QT_IM_MODULE=xim</span>PS1='\u@\h:\w\$'
PS1中加入顏色的設定:
顏色=\033[代碼;前景;背景m
注意:
要將全部非列印字元用 bash 逸出序列 "\["和 "\]"括起來。(這兩個序列通知 bash,被括起來的字元不佔用行上的任何空間,這樣就使自動換行能夠繼續正常工作。
這點很關鍵要不然等你設好了顏色,你的終端換行會亂七八糟)
例如在\u前面加上\[\033[1;31;1m\]
PS1='\[\033[1;31;1m\]\u@\h:\w\$'讓使用者名稱以紅色高亮顯示
完成後儲存並退出GEdit編輯器,回到終端後輸入“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\]'
source一下,效果如下:
2.終端中路徑名過長問題 有時候在終端需要連續開啟幾層的檔案夾才能訪問到我們所需的檔案,而這個時候在終端中顯示的路徑名就像是一條長長的尾巴
使終端只顯示使用者當前工作目錄的名字:
其實在前邊的序列說明中已經提及,我們可以在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\]'
下面通過圖片說明二者的效果:(截屏快速鍵ctrl+alt+a設定見ubuntu 中工具及快速鍵設定)
在.bashrc中將ps1改為
PS1='\[\033[1;31;1m\]\u@\h:\[\033[1;32;1m\]\W\[\033[1;33;1m\]\$\[\033[1;37;1m\]'
inaimg.cn/mw690/6d0cbb034cf623f79ed6b&690
可以發現,經過修改PS1變數的值之後,終端將只顯示當前工作目錄的基名了~。 綜合以上所說也可以設定為不顯示主機名稱(@\h去掉)並且顯示短路徑名的:
PS1='\[\033[1;31;1m\]\u:\[\033[1;32;1m\]\W\[\033[1;33;1m\]\$\[\033[1;37;1m\]'
最後,
如果開啟新的終端,使用者定義的配置並沒有顯示出來,而還是顯示預設的配置。 這個時候可以通過source命令去手動載入.bashrc檔案,這時候,我們所設定的配置又回來了。可是每次開啟終端都要source一次。
回到文章開頭的地方,我們說
/etc/profile檔案從/etc/profile.d目錄的設定檔中搜集shell的設定.此檔案預設調用
/etc/bashrc檔案,開啟profile檔案: “sudo gedit /etc/bashrc”(注意這裡需要加上sudo!)
在檔案中有一句調用/etc/bash.bashrc檔案的代碼,前文所說profile檔案自動載入bash.bashrc檔案,事實上就是由代碼實現的,可以在這裡添加一句新的代碼,以使profile自動載入使用者的.bashrc檔案,實現不需每次開啟終端都要source的需求
儲存之後關閉編輯器,新開啟一個終端,可以發現,我們之前的配置已經能夠自動載入了。
最後,之前看到的我的終端都是黑底的,其實使用者可以直接在終端中設定喜好設定以實現半透明背景,或者是以一張圖片作為背景也可以:
開啟一個terminal,滑鼠指到螢幕最上面,選擇菜單中選擇 編輯>設定檔喜好設定>背景 再設定一下就可以了
3.ls命令設定 在終端一個常用的命令就是ls命令了,我們可以通過在.bashrc檔案中設定alias以實現ls命令的一些自訂設定:
alias其實是相當於一個命令引用的東西,例如最後一句,每當你在終端裡邊輸入ls命令,終端會根據.bashrc檔案中的alias的設定尋找到引用的命令:ls--color=auto,所以你每次輸入“ls”其實就相當於輸入了“ls--color=auto”,而這句命令的作用是顯示目前的目錄的可見檔案,並且以顏色區分不同類型的檔案,比如檔案夾和普通檔案。
from:http://www.2cto.com/uploadfile/Collfiles/20140928/2014092808582563.
ref:改變linux終端顏色
Ubuntu終端顏色設定、路徑名設定以及ls命令設定