一招讓你時刻分清虛擬機與線上服務器,找到命令行

背景:很多時候我們會同事開着虛擬機和線上服務器,最怕的就是犯迷糊將線上服務器當成自己的虛擬機。xshell連接Linux之後默認的命令行是是黑底白字。與有些命令回顯顏色一樣。在大篇幅的內容中去找命令行很費勁。介於此,我們可以設置命令行爲其他顏色,想照命令行的時候一目瞭然。

延伸:設想一下如果我們可以控制命令行的顏色,是不是就可以用來區分不同的環境。比如很重要的,本地虛擬機和線上主機。比如說,我們可以設置自己的虛擬機命令行爲彩色字體。線上主機不更改。從虛擬機切換到線上的主機。瞬間就只道當前的操作環境是線上。這樣以來可以一定程度的避免線上錯誤操作。

好了廢話不說了,直接開幹吧。

1、首先要了解一下PS1,(這裏是大寫字母P和大寫字母S):PS1是Linux終端用戶的一個環境變量,用來定義命令行提示符的參數。

[root@localhost ~]# echo $PS1
[\u@\h \W]\$

這是系統已經定義好的顯示內容和顏色。

PS1的常用參數以及含義羅列如下:

  \d :代表日期,格式爲weekday month date,例如:”Mon Aug 1”

  \H :完整的主機名稱

  \h :僅取主機名中的第一個名字

  \t :顯示時間爲24小時格式,如:HH:MM:SS

  \T :顯示時間爲12小時格式

  \A :顯示時間爲24小時格式:HH:MM

  \u :當前用戶的賬號名稱

  \v :BASH的版本信息

  \w :完整的工作目錄名稱

  \W :利用basename取得工作目錄名稱,只顯示最後一個目錄名

  # :下達的第幾個命令

  $ :提示字符,如果是root用戶,提示符爲 # ,普通用戶則爲 $
 
 由此可見,[\u@\h \W]\$ 表示的是:[當前用戶的賬號名稱@主機名的第一個名字 工作目錄的最後一層目錄名]#

2、現在開始給命令行設置顏色吧

在PS1中設置字符顏色的格式爲:[\e[F;Bm]……..[\e[0m],其中“F“爲字體顏色,編號爲30-37,“B”爲背景顏色,編號爲40-47,[\e[0m]作爲顏色設定的結束。

在命令行鍵入:PS1='[\[\e[32;40m\]\u@\h \w \t]$ \[\e[0m\]'
回車執行後可以看到
這裏寫圖片描述

這裏可以看到顏色已經變了。但是這個有點不好看,對吧。顯示的內容也不習慣。
這時候按照自己的喜好根據上面的參數列表設置顯示內容,和顏色即可。
常用顏色對應如下:
顏色對照表:

    F B

    30 40 黑色

    31 41 紅色

    32 42 綠色

    33 43 黃色

    34 44 藍色

    35 45 紫紅色

    36 46 青藍色

    37 47 白色

個人認爲,系統設置顯示的內容還是很好用的。加之習慣。就用默認的設置內容,改個顏色就好了。比如:PS1="\[\e[37;40m\][\[\e[32;40m\]\u\[\e[37;40m\]@\h \[\e[36;40m\]\w\[\e[0m\]]\\$ "
就是這個樣子:
這裏寫圖片描述

3、永久設置
上面的設置的作用域只有當前終端的登陸有效,關閉終端或退出登錄即刻失效。永久有效辦法當然是有的:
在root下vim .bashrc文件加上你心儀的顏色和內容。保存退出使之生效就可以了:

[root@ansible /etc/nginx]# cd
  oot@ansible ~]# vim .bashrc
# .bashrc
PS1="\[\e[37;40m\][\[\e[32;40m\]\u\[\e[37;40m\]@\h \[\e[36;40m\]\w\[\e[0m\]]\
\$ "
…
[root@ansible /etc/nginx]# source .bashrc

這就可以了,找命令行的時候就一目瞭然了。
這裏寫圖片描述

而且如果發現命令行變成了白色,就會立刻注意到。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章