日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

linux终端设置-集成说明

發布時間:2025/3/13 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux终端设置-集成说明 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. linux終端前綴顯示說明

轉載:

代碼先鋒網?

https://www.codeleading.com/article/50975169627/

花里胡哨之自定義linux終端前綴顯示

?

文章目錄

    • 花里胡哨之自定義linux終端前綴顯示
      • 1、先看默認的linux終端前綴
      • 2、查看默認的終端前綴變量
      • 3、符號所代表的意義
      • 4、修改PS1變量,達成自定義效果
        • 4.1、只顯示主機名和完整目錄
        • 4.2、給他點顏色看看
      • 5、謝幕

?

1、先看默認的linux終端前綴

[root@VM-0-16-centos ~]#
  • 1

2、查看默認的終端前綴變量

centos: [root@VM-0-16-centos ~]# echo $PS1 [\u@\h \W]\$

3、符號所代表的意義

\d : '代表日期 \H : '完整的主機名稱 \h : '僅取主機的第一個名字 \t : '顯示時間為24小時格式,如:HH:MM:SS \T : '顯示時間為12小時格式 \A : '顯示時間為24小時格式:HH:MM \u : '用戶名 \v : 'BASH的版本信息 \w : '完整的工作目錄名稱 \W : '列出最后一個目錄 \$ : '提示字符,如果是root時,提示符為:# ,普通用戶則為:$

4、修改PS1變量,達成自定義效果

4.1、只顯示主機名和完整目錄

"只對當前用戶生效,就修改~/.bashrc;如果想要所有用戶生效,就修改/etc/profile" [root@VM-0-16-centos ~]# vim ~/.bashrc export PS1='\h:\w \$ ' [root@VM-0-16-centos ~]# source ~/.bashrc VM-0-16-centos:~ # "這里吧前后的[]方括號去除了,就變成了suse的風格了" "顯示完整目錄有一個缺點,就是進入的目錄層級越深,前綴就越長,根據個人喜好來就行"

4.2、給他點顏色看看

VM-0-16-centos:~ # vim ~/.bashrc export PS1='\e[1;31m\h:\w \$ \e[0m' VM-0-16-centos:~ # source ~/.bashrc "有那么點suse的味道了"

"如果你喜歡綠色,他也會原諒你的喲" VM-0-16-centos:~ # vim ~/.bashrc export PS1='\e[1;32m\h:\w \$ \e[0m' VM-0-16-centos:~ # source ~/.bashrc

  • ?

"甚至還可以交通燈" VM-0-16-centos:~ # vim ~/.bashrc export PS1='\e[1;31m\d-\e[0m\e[1;33m\h\e[0m\e[1;32m:\w \$ \e[0m' VM-0-16-centos:~ # source ~/.bashrc

5、謝幕

  • 大家可以按照自己喜歡的樣式,DIY一個屬于自己的終端前綴

  • 什么,你問我為什么喜歡花里胡哨的東西?

  • 顏狗選擇的標準只有一個:好看!好看!好看!就完事了,沒有這么多BBLL

?

?

2.修改簡潔終端前綴思考與實例

轉載:

你不需要花哨的命令提示符

韋易笑

?

游戲開發、編程、游戲等 4 個話題下的優秀答主

https://zhuanlan.zhihu.com/p/51008087

?

以前很喜歡折騰命令提示符,bash/zsh 下面很多提示符都試過,一開始挺有意思,但用久了都有些別扭,他們不當影響觀感,而且奇慢無比,比如下面這款集成 git branch 信息的:

典型的性能殺手,低配電腦/cygwin/msys 環境提示符計算分支很慢,按一次回車卡一秒。就連好點的機器也能感到明顯的延遲,我想問一下:這個代價值得么?branch 真的是那么重要的信息需要每行命令都看?即便不在 git 倉庫中,每按一下回車也要空跑一下計算程序?還用了奇怪的非標準字符,導致換個終端,你可能顯示不正常。

很多 zsh 的新用戶常常抱怨“zsh 太慢了”,我跟他們說,為啥我的 zsh 很流暢呢?把你的 prompt 給禁止掉,看看還慢不慢?順便把 oh-my-zsh 刪了,最慢的就是這個。這還算好的提示符了,還有更花哨的:

連時間,分支,還有 ruby 的 virtualenv(好像)全都給我塞進去了,我想問一下,既然 ruby 的 virtualenv 都顯示了,為何不給我顯示 python 的 virtualenv 呢?我還想看 CPU 占用呢,要不要每行給我輸出一個?你們知道這玩意兒在我的 nas 下面多慢?按一次回車卡 1.2秒。

我發現 oh-my-zsh 的用戶特別喜歡折騰 PROMPT,花哨程度只有更高,沒有最高:

我已經開啟了命令行語法高亮,PROMPT 還在那里花里胡哨的話,容易讓我眼花繚亂,人家服裝設計一般都要控制衣服顏色不超過3種,命令提示符花里胡哨的干嘛呢?

試過了很多命令提示符以后,我開始思考,怎樣才是我想要的 PROMPT?

  • 他真的需要集成那么多信息么?重要的信息太多,一直往 prompt 里塞是個辦法么?
  • 色彩高亮到底是為了讓人醒目?還是讓人覺得混亂?
  • 我到底是要好看還是要效率?
  • 想完這三個問題以后,我把這些亂七八糟的 prompt themes 全部刪除了, 然后開始思考如果我自己設計命令提示符,我需要設計成什么樣呢?于是整理了一個清單:

  • 速度:絕對不能卡,哪怕在我的路由器上,按回車一定要流暢,否則再怎么強大都免談,所以必須盡量避免每次顯示 PROMPT 的時候都要啟動新進程。
  • 精簡:不能占用太多空間,同屏/同行看到的信息越多我工作效率越高,prompt 就不該占用太多,應該盡量把空間留出來,git branch 這些完全可以 alias 一下,要看時 gb 就夠了。
  • 素雅:避免讓我眼花繚亂。
  • 兼容:我是混用 bash/zsh 的,一個提示符不能讓我 zsh 可以用,換臺機器就沒法用了。
  • 總之就是一句話:prompt 應該是為我提高效率的,不是來拖我后腿的東西。

    本著上面四條原則,我重新設計的兩個主題,然后感覺整個世界都清凈了,再也沒有折騰過 prompt 了,一直安心的用了到現在,這里推薦給大家:

    ?

    默認主題

    其實就是 debian/ubuntu 的默認主題,顯示:用戶名,主機名和路徑,有時候真的就夠了,末尾如果是普通用戶的話,顯示一個“$”,如果是 root 則顯示一個 "#"。

    避免去到 centos 或者路由器上不一致,我們新建一個 prompt_default.sh 文件,內容如下:

    if [ -n "$BASH_VERSION" ]; thenexport PS1='\u@\h:\w\$ ' elseif [ "$UID" -eq 0 ]; thenexport PROMPT='%f%n@%m:%~%# 'elseexport PROMPT='%f%n@%m:%~\$ 'fi fi

    然后,再你的 bash 配置文件里面 source 一下該文件,當然,你也可以全部塞在你的 bashrc 或者?init.sh?里面,只是分離文件的話,換主題方便些,改下 source 后面的文件名就行。

    Bash 下面如果是 root 會自動將 $ 替換成 #,zsh 需要具體指明一下,效果如下:

    什么?太素了?沒顏色?好吧,我們新建 prompt_color.sh,支持 8 色終端:

    if [ -n "$BASH_VERSION" ]; thenexport PS1='\[\e[01;32m\]\u@\h\[\e[00m\]:\[\e[01;34m\]\w\[\e[00m\]\$ ' elseif [ "$UID" -eq 0 ]; thenexport PROMPT='%F{10}%n@%m%f:%F{12}%~%f%# 'elseexport PROMPT='%F{10}%n@%m%f:%F{12}%~%f\$ 'fi fi

    現在看起來好了那么一點:

    你也可以在 bash 那段加個判斷,uid 是 0 的話(root),將用戶名顯示未紅色:

    export PS1='\[\e[01;31m\]\u@\h\[\e[00m\]:\[\e[01;34m\]\w\[\e[00m\]\$ '

    這樣更醒目些,提醒你現在是 root 了,凡事要小心:

    搞了半天還和默認不配置效果一樣,這不是浪費時間么?別急,上面只是些基本配置和配置的組織方式,上面這些太土沒關系,至少支持各種終端,接下來我們弄個稍微洋氣點的,支持 256 色,新建文件 prompt_256.sh:

    if [ -n "$BASH_VERSION" ]; thenexport PS1='\[\e[38;5;135m\]\u\[\e[0m\]@\[\e[38;5;166m\]\h\[\e[0m\] \[\e[38;5;118m\]\w\[\e[0m\] \$ ' elseif [ "$UID" -eq 0 ]; thenexport PROMPT="%F{135}%n%f@%F{166}%m%f %F{118}%~%f %# "elseexport PROMPT="%F{135}%n%f@%F{166}%m%f %F{118}%~%f \$ "fi fi

    效果如下:

    這個配色參考的 prezto 里一個比較素雅的主題 skwp,很清爽吧?但是速度比它快多了,以上這些都是類似 debian/ubuntu 的默認提示符,只是配色稍加修改,這是我的第一個主題。

    ?

    后期處理

    設置完 $PS1 或者 $PROMPT 環境變后就結束了么?我們還需要在他們前面加一些終端控制符,好讓每次切換路徑的時候更改下終端標題,比如:

    export PS1="\[\e]0;\u@\h: \w\a\]$PS1"

    通過終端控制命令,在每次顯示命令提示符,都會把終端軟件的標題設置成包含:用戶,主機名以及當前路徑的一串字符串。這和以前一模一樣,和我一樣嫌棄它太長的話,可以修剪下,只顯示:用戶名+主機名,標題不會隨著當前路徑改變而改變:

    export PS1="\[\e]0;\u@\h\a\]$PS1"

    這是我最常用的方式,zsh 的 $PROMPT 變量里不能這么設置改變標題,解析不了,一般是寫到 precmd_function 這個 hook 里,各大框架都有做,可以繼續沿用。唯一要做的是設置一下 $RPROMPT:

    export RPROMPT="%F{red}%(?..%?)%f"

    這樣就能在右邊用紅色顯示上一個程序的返回碼了,如果是0的話(程序正常)就不顯示,非零代表錯誤返回值。

    到這里我們就完成了后期處理,這些代碼可以放到 bashrc/init.sh 里面,但是要保證是在 source 上面那些主題之后再設置,避免被覆蓋。

    ?

    Fish 路徑折疊

    除了上面的默認主題外,我常用的還有一款類似 fish shell 的主題:

    fish 默認命令提示符最明顯的特點就是“路徑折疊”,即提示符只保留最后一級目錄的完整名稱,其他父目錄全部折疊成一個字母的前綴。

    有時候路徑太長的話,默認 prompt 基本上要占到我半個屏幕的寬度,如果采用 tmux 左右分屏,或者 vim/emacs 的一個分屏內嵌終端,那么我敲命令的空間,還沒有路徑名占用的那么多。比如你用 MacOS 到 xcode 文件夾下面找個文件,路徑提示符都快頂到最右邊了。

    所以我當年才見到 fish 的這個“路徑折疊”就十分喜歡,它解決了痛點,保留了必要的信息,又不至于占用太多空間,我可以再 xcode 里最深的一個文件夾里漫游,也不會擔心 prompt 太過礙眼。

    還有一個好處是用色很少,fish/zsh 下面本身就有語法高亮,如果 prompt 這里再花哨一些的話,真的會亂不清楚兩行命令的交界在哪里。

    所以 fish 確實是一個經過深思熟慮設計出來的 shell,那么我們把它移植到 bash/zsh 下面,注意 oh-my-zsh 下面有一個 fishy 的主題可以做上面的事情,大家千萬別用,因為里面是調用 perl 來計算路徑折疊,每次你按回車都要執行一次 perl 什么概念?

    明明純 shell 就可以了,我們新建 prompt_fish.sh 文件,先定義個函數:

    function _fish_collapsed_pwd() {local pwd="$1"local home="$HOME"local size=${#home}[[ $# == 0 ]] && pwd="$PWD"[[ -z "$pwd" ]] && returnif [[ "$pwd" == "/" ]]; thenecho "/"returnelif [[ "$pwd" == "$home" ]]; thenecho "~"returnfi[[ "$pwd" == "$home/"* ]] && pwd="~${pwd:$size}"if [[ -n "$BASH_VERSION" ]]; thenlocal IFS="/"local elements=($pwd)local length=${#elements[@]}for ((i=0;i<length-1;i++)); dolocal elem=${elements[$i]}if [[ ${#elem} -gt 1 ]]; thenelements[$i]=${elem:0:1}fidoneelselocal elements=("${(s:/:)pwd}")local length=${#elements}for i in {1..$((length-1))}; dolocal elem=${elements[$i]}if [[ ${#elem} > 1 ]]; thenelements[$i]=${elem[1]}fidonefilocal IFS="/"echo "${elements[*]}" }

    該函數用于計算路徑,并且同時兼容 bash/zsh,速度比調用 perl 快二十多倍,接著設置:

    if [ -n "$BASH_VERSION" ]; thenif [ "$UID" -eq 0 ]; thenexport PS1='\u@\h \[\e[31m\]$(_fish_collapsed_pwd)\[\e[0m\]# 'elseexport PS1='\u@\h \[\e[32m\]$(_fish_collapsed_pwd)\[\e[0m\]> 'fi elseif [ $UID -eq 0 ]; thenexport PROMPT='%f%n@%m %F{1}$(_fish_collapsed_pwd)%f# 'elseexport PROMPT='%f%n@%m %F{2}$(_fish_collapsed_pwd)%f> 'fi fi

    恩,保存文件,source 一下看看效果:

    成了!bash 下路徑效果和 fish 一樣了,包括 root 下的狀態:

    可以看出,root 下也和 fish 一樣采用了紅色顯示當前路徑,并且把 ">" 換成了 "#" 符號。關鍵是速度非常快,比 oh-my-zsh 下面那個模擬 fish 的 fishy 主題快上幾十倍,和默認主題一樣的速度。主要是執行 shell 內建函數代替了 oh-my-zsh 里面的調用 perl 來計算路徑折疊。

    這是我常用的第二個主題。

    ?

    Shell 混用與語法高亮問題

    我的兩個主題一般是 bash 用前面那個 256 色的,好看醒目,而 zsh 用這個 fish 路徑折疊的,以示區別。而且 zsh 和 fish 一樣啟用了命令語法高亮,適合選擇各色少的主題:

    這是我 zsh 使用 fish 路徑折疊主題搭配語法高亮,還有 $RPROMPT 的效果。可以想象,本身高亮就已經夠搶眼了,如果 prompt 還是很花哨的話,容易讓眼睛抓不住重點。

    Bash 下面沒有語法高亮,本身就比較素,所以我用 256 那個比較好看又醒目。

    所以如果和我一樣混用 bash/zsh 的同學們也可以參考做一些取舍,如果 bash/zsh 都用 fish 主題的話,注意稍微調整一下,以示區別,比如 bash 下面都用 ">" 符號,zsh 下面都用 "#" 符號之類的,以示區別,root 用戶以顏色區分就好。

    ?

    話題總結

    今天先說了各種花哨主題存在的問題,思考了主題存在的價值和意義,最后和大家分享了我正在使用的兩款比較干凈素雅的主題,并且通過上面的設置過程,讓大家了解了 bash/zsh 下面該如何制作自己的主題,如何設置顏色?如何調用函數?怎么區別 root 和非 root ?及相應的后期處理。

    相信大家可以輕松的設計出讓自己滿意的 prompt 了。

    ?

    ---

    補充1:覺得自己的 oh-my-zsh 主題很快的同學們,可以做個試驗,系統設置里將鍵盤重復設置成最快,然后到你的 oh-my-zsh 下面按下回車不放,兩秒鐘后放手,看看 PROMPT 生成的相應如何,再對比下什么都沒有的 bash 有何不同?

    補充2:實在覺得 git 信息離不開的人,可把 git status/branch 綁定到 F5 快捷鍵啊,既讓你方便看到 branch,又避免了每按一次回車就啟動一堆新進程的開銷。

    ?

    ?

    編輯于 2019-09-27

    ?

    3.具體實例2-針對ubuntu18的終端前綴設置

    ?

    轉載:https://www.linuxidc.com/Linux/2020-01/162142.htm

    ?

    Ubuntu 18.04終端顏色個性化設置

    [日期:2020-01-27]來源:Linux公社? 作者:醉落紅塵,LinuxMi[字體:大?中?小]

    Linux給人最大的優點之一就是可以根據個人喜好去定制令自己喜歡的系統配置,比如終端顏色的設置就是一個經典例子。

    對于初次使用Ubuntu的同學們,打開終端(快捷鍵為Ctrl + Alt + T),就會發現命令行里的用戶名、主機名還是命令都是白色的,當然,我們用 ls 列出文件的時候是會多一種顏色的。但是對于開發者來說,還是不夠高效的因為有時候你需要去幾十行甚至上百行代碼里面去找一些你運行過的命令或你想要的信息。因此將終端(Terminal)配色也變的很重要。

    本文操作的例子操作系統為:Ubuntu 18.04 LTS

    對于用戶的配置,我們應該將配置信息寫入~/.bashrc文件。

    1、顏色配置

    為了設置終端顏色,我們需要對~/.bashrc文件中的PS1變量進行定制。首先通過“vim ~/.bashrc“命令打開文件,找到PS1變量所在位置:

    bashrc文件中的PS1變量

    上圖就是我們需要修改的命令行提示符的顏色設置。

    注釋掉 #force_color_prompt=yes。在顏色模式打開的情況下,PS1變量代表的內容就是用戶名+主機名+路徑名(長路徑)+ $

    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '

    現在,我們就需要對顯示的信息的字體顏色進行設置,首先看一下顏色是如何設置的:

    一個單獨的顏色設置:? \033[代碼;前景;背景m? ? ? ,如:\[\033[1;32;40m\]表示高亮顯示字體為綠色,背景色為黑色。

    注意:顏色的設置,放在相應的要設置的前面,如用戶名顏色設置:? \[\033[01;35;40m\]\u

    我們可以把第一個PS1替換成如下代碼:

    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;35;40m\]\u\[\033[00;00;40m\]@\[\033[01;35;40m\]\h\[\033[00;31;40m\]:\[\033[00;00;40m\]\w \[\033[01;32;40m\]\$ \[\033[01;36;40m\]'

    或者我們把第一個PS1替換成如下代碼

    #PS1='\[\e[37;1m\][\[\e[31;1m\]\u\[\e[34;1m\]@\[\e[32;1m\]\h \[\e[31;1m\]\w \[\e[33;1m\]\t\[\e[37;1m\]]\[\e[32;1m\]\$\[\e[m\]'

    然后你重啟終端,就可以看到剛才的配色效果,或者執行?source ~/.bashrc?命令也可以運行剛才的新配色終端。如下:

    以下對PS1變量的設置進行具體分析,首先我們要知道如下幾張表:

    下面來說說配色的過程:

    前景? ? ? ? ? ? ??背景? ? ? ? ? ? ??顏色

    30? ? ? ? ? ? ? ? 40? ? ? ? ? ? ? ?黑色

    31? ? ? ? ? ? ? ? 41? ? ? ? ? ? ? ?紅色

    32? ? ? ? ? ? ? ? 42? ? ? ? ? ? ? ?綠色

    33? ? ? ? ? ? ? ? 43? ? ? ? ? ? ? ?黃色

    34? ? ? ? ? ? ? ? 44? ? ? ? ? ? ? ?藍色

    35? ? ? ? ? ? ? ? 45? ? ? ? ? ? ? ?紫紅色

    36? ? ? ? ? ? ? ? 46? ? ? ? ? ? ? ?青藍色

    37? ? ? ? ? ? ? ? 47? ? ? ? ? ? ? ?白色

    ? ? ? ? ? ?1 ? ? ? ? ? ? ? ? ? ? ? ? 透明色

    代碼? ? ? ? ? ? ?意義

    0? ? ? ? ? ? ? ? ?OFF

    1? ? ? ? ? ? ? ? ?高亮顯示

    4? ? ? ? ? ? ? ? ?underline

    5? ? ? ? ? ? ? ? ?閃爍

    7? ? ? ? ? ? ? ? ?反白顯示

    8? ? ? ? ? ? ? ? ?不可見

    我個人比較喜歡把終端框設置成半透明的,在終端菜單→編輯→首選項→未命名→顏色,選擇透明背景,調成你喜歡的透明度即可。

    效果圖如下:

    一些適合終端的字體:

    [linuxmi@linux:~/Linux迷$] sudo apt-get install ttf-dejavu

    [linuxmi@linux:~/Linux迷$] sudo apt-get install xfonts-terminus

    Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx

    本文永久更新鏈接地址:https://www.linuxidc.com/Linux/2020-01/162142.htm

    ?

    總結

    以上是生活随笔為你收集整理的linux终端设置-集成说明的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。