linuxps1的設置
❶ linux 字體顏色設置
在linux中,我們在編輯時需要對文檔編輯或者一些信息的顯示加上顏色,增強閱讀的效果
格式: echo -e "\033[字體顏色;字背景顏色m字元串\033[0m"
要顯示什麼顏色,優先是先判斷位置,按語法上來說,應該是先字體色,然後是背景色,但是字體色的地方數值為43,所以判斷為背景的顏色,而在後面的31本應該是背景色,結果數值31位字體的顏色,所以顯示的效果是字體的顏色為紅色,而不是背景紅色,假設如彎這個31是數值41,則表示背景的為紅色,整體的效果就是紅色背景,字體處沒有顏色,為默認的白色,且效果是閃爍。
其中設置顏色的格式為:\033[ ; m …… \033[0m,其中ascii code是對顏色調用的始末.也可以表示為\e[F;Bm…….\e[0m
字背景顏色范圍: 40--49 字顏色: 30--39
例如顯示紅色,其中紅色^[[31mred^[[0m其中^[是在插入編輯模式下按鍵進去額ctr+v+[這三個按鍵輸入的。
假設寫在文檔tt1寫入對應的語句來查看,通過cat tt1驗證效果
^[[31mred^[[0m :表示對應的字是紅色字體,沒有底色,如下截圖
^[[31mred^[[44m:表示紅色字體,底色為紫紅色。假設寫在文檔tt1,後面cat tt1.這個屏幕底色都是藍色,字都是紅色如下截圖
^[[31;44mred^[[0m:表示紅色字體,字和屏幕的底色為藍色,背景沒有底色,和^[[31mred^[[44m效果一樣。如下截圖
^[[31;44mred^[[44m:表示紅色字體,底色都是藍色
在命令行里輸入命令:echo -e '\e[43;31;4mmage\e[0m',得到如下的效果
PS1是Linux終端用戶的一個環境變數,用來說明命令行提示符的設置。在終端輸入命令:echo $PS1,就會輸出PS1的定義:
默認的PS1變數值為 : PS1="[\u@\h \W]$"
PS1的定義中個常用的參數的含義如下:
給PS1賦值如下:
PS1="[\[\e[31;40m\]\u\[\e[37;40m\]@\[\e[34;40m\]\h\[\e[37;40m\] \W]\\$\[\e[0m"
這里需要注意,顏色的結束調用符號,要放在最後面,否則當使用命令history查看歷史命令時,會出現各種異常的顯示
正確的結果得到的結果如下圖
當把結束符調整到$前面,如PS1="[\[\e[31;40m\]\u\[\e[37;40m\]@\[\e[34;40m\]\h\[\e[37;40m\] \W]\[\e[0m\\$",使用history查找的時候出現了如下的異常顯示
注意,這里賦值的時候要用單引號才能得到要帶橡拆的效果,只是單純改變顏色,其他值不改變,如果賦值用雙引號,如蠢棗下
錯誤寫法:PS1="[\[\e[31;40m\]\u\[\e[37;40m\]@\[\e[34;40m\]\h\[\e[37;40m\]\W]\[\e[0m\$"
得到的效果如下:
如果是root時,提示符為:# ,普通用戶則為:$,但是雙引號後root的提示符為$,是不對的
解決辦法:如果用雙引號,需要再\$前再加一個\,語句如下
PS1="[\[\e[31;40m\]\u\[\e[37;40m\]@\[\e[34;40m\]\h\[\e[37;40m\] \W]\\$\[\e[0m"
賦值為PS1='\[\e[43m\][\[\e[31m\]\u@\[\e[34m\]\h \W]\$\e[0m'
效果如下截圖
這個例子,我們可以明顯看出,\e[顏色值m這個是說明接下來的顏色從這里開始是什麼顏色,\e[0m說明的是顏色的結束位置,
這里需要注意的是,如果沒有通過\[ \]對每一個顏色進行界定,使用過程,如上翻歷史頁,就會出現顯示異常。
將設置好的PS1變數寫到家目錄下的.bashrc 裡面,這樣後面開啟的終端都有效。
$ vim .bashrc
打開後添加一行
PS1="[\[\e[31;40m\]\u\[\e[37;40m\]@\[\e[34;40m\]\h\[\e[37;40m\]\W]\[\e[0m\\$"
保存退出再次登錄時顯示的顏色也會是我們設定的值了。
❷ 我想在我的 linux 環境下設置PS1 要求是ps1裡面有當前時間 並且隨著每次的shell 時間隨著改變。請問能辦到
PS1變數主要的參數說明
07-16 by LinuxA
在變數中,有PS1和PS2,他們都是命令提示符,PS1是最長見的,我們在命令行中輸入命令的時候,會在前面看到類似這樣的東西[root@localhost ~],這就是PS1的命令提示符;PS2就是我們在一行中要寫入很長的命令,但是我現在想換行了,PS2就是你使用「\」換行符後,見到的提示符。下面是提示符變數中能用遲鎮的一些主要參數
\d :代表日期,格式為 Weekday Month Date,
\H :完整的主機名稱。
\h :僅顯示主機名稱中第一個名備搜字。
\t :顯示時間,格式是 24 小時制(HH:MM:SS)
\A :顯示時間,格式是24 小時制(HH:MM)
\T :顯示時間,格式是12 小時制
\u :目前使用者的賬號名
\v :BASH shell的版本
\w :完整的工作目錄名仿旦歷稱
\W :利用 basename 取得工作目錄名稱,所以僅會列出最後一個目錄名。
\# :所使用的第幾個命令
\$ :如果是 root用戶時,則提示字元是 # ,非root用戶時提示符是 $
❸ linux下變數PS1的設置問題
PS1='[\u@\h \w #\#7]\$'
\u:目前賬戶
\h:主機名
\w:顯示完整的工作目錄
\#:執行的第幾條笑昌命令
不是以\開頭就是字元串字面值,#\#7這裡面第一個#號和最後一個7就是字面的意思,中間的\#就代表是第改升蘆幾條命令。
這樣就看明白了吧,比如你在主目錄核帶執行第一條命令就是:
[root@localhost ~ #17]#
第二條命令就是:
[root@localhost ~ #27]#
❹ Linux終端提示符PS1設置
linux終端提示符默認如下顯示效果
這里主要想在終端提示這里看襪滾到 登錄用戶 、 伺服器ip 和 絕對路徑 ,如下顯示:
這里主要通過PS1變數來進行設置
ps1默認備好帆為 [u@h W]$
各提示符的含義如下:
由此可知,默認顯示當前用戶、主機的第一個仿雹名字、當前工作目錄
可以將PS1修改為如下:
上面還包含提示符顏色的設置,具體可以參考 PS1設置
如果想PS1的設置永久有效,可以在/etc/profile或.bashrc文件里進行設置,然後打開一個新的終端就會看到新設置的提示符生效了。
但是這里可能會發現,主機名顯示的不是ip,顯示如下:
原因是這里的hostname不是ip
因為需要修改hostname,提供一個快速永久修改hostname的方法
這時hostname就改成主機的ip了,
重新打開終端後就變成了想要的終端提示符
關於linux的 PS2、PS3、PS4 可以參考 linux下PS1、PS2、PS3、PS4最全詳解
❺ Linux Shell的提示字元設置 - PS1變數用法
當每次在Linux中使用回車執行命令之後,都會回到最開始的提示字元處,這個過程就是取用了set命令下自定義變數PS1的值。
此處的 [\u@\h \W]\$ 就是 [cadmin@localhost ~]$ 的通用格式,通過修改PS1變數可以達到修改提示字元的目的。在這之前,需要先了解此處用的符號含義:
經過調整,自己最習慣的排列方式為 \u @ \h:\w\$
PS1中的顏色參數格式為\[\e[F;Bm\],F代表文本前景色,B代表背景色,這一串參數的位置就是這個顏色開始生效的位置,且後出現的顏色參數會覆蓋前面的顏色參數。
例如 \[\033[01;32m\]\u @ \h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ 賦值給PS1後,提示字元變成:
在當前shell裡面的修改都只是暫時性的,只有將對應變數的賦值加入到對應用戶的.bashrc下,才能在啟動時就生效。
在文件最後加上 PS1="\[\033[01;32m\]\u @ \h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$" ,然後 source .bashrc 即可。
❻ linux中的PS1=%是什麼
PS1:命令行提示符環境變數
下面是PS1變數中各特殊符號的含義:
\a 顯示系統日期,格式:星期 日期
例:PS1="\d >" 結果:六 10月 24 >
\A 顯示系統時間,格式:HH:MM
例:PS1="\A >" 結果:21:04 >
\t 顯示系統時間,格式:HH:MM:SS (24小時制)
例:PS1="\t >" 結果:21:04:32 >
\T 顯示系統時間,格式:HH:MM:SS (12小時制)
例:PS1="\T >" 結果:09:04:32 >
\h 顯示主機名稱(簡稱)
例:PS1="\h >" 結果:CentOS >
\H 顯示主機名稱(全稱)
例:PS1="\H >" 結果:CentOS.localdomain >
註:這里對主機名稱說明一下,如果查看本機主機名稱,直接執行命令"hostname",如果想修改主機名稱,則要以"root"用戶許可權,對 "/etc/sysconfig/network "文件進行修改
\u 顯示用戶名稱
例:PS1="\u >" 結果:root >
\v 顯示 bash 版本號
例:PS1="\v >" 結果:3.2.25 >
\w :完整的工作目錄名稱。根目錄會以 ~代替
例:當前路徑 /root/test
PS1="\w >" 結果:~/test >
\W :顯示以 "basename" 命令取得路徑信息的最底層目錄名稱
例:當前路徑 /root/test
PS1="\W >" 結果:test >
\# :顯示當前用戶要求系統執行的命令的序號
例:執行 PS1="\u \# >" 結果:root 1 >
再執行 ls -la 結果:root 2 >
再執行 clear 結果:root 3 >
\$ :提示字元,如果是root時,提示符為:# ,普通用戶則為:$
註:這個提示字元我試驗了,可試改過後,即使是"root"用戶,也是顯示"$",不大明白是為什麼。
這個我找到原因了,"\$"一定要寫成 "\\$" 這樣就可以了。
默認的PS1內容為: PS1='[\u@\h \W]\$ ' ,所以默認的提示符就是: [root@CentOS ~]#
如果想要永久的變更系統命令提示符,則要對 "/etc/bashrc" 進行修改,退出再進入,就不會恢復原來的了。
方法如下:執行 "cat /etc/bashrc | grep PS1",找到提示符變數設置的代碼,然後執行 "vi /etc/bashrc"對前一命令查到的代碼進行修改,並保存。
❼ Linux命令行提示符美化(PS1&PS2&PS3&PS4)
PS1是主提示符變數,也是默認提讓信示符擾滑埋變數。默認值 [u@h W]$ ,顯示用緩螞戶主機名稱和工作目錄。
基本上通過設置PS1來定義命令行提示字元即可,最常用的需求就是顯示登錄的用戶名、主目錄、主機名等。
默認的是:
PS1變數可以使用的參數值有如下:
PS2一般使用於命令行里較長命令的換行提示信息,比如:
❽ linux 怎麼設置PS1
這個PS1
(是數字1不是字母i)是我們的
命令提示符.
每當我們按下[Enter]按鍵去執行某個命令的時候,最螞戚後會再次出現提示字元時,則會主動的去讀取這個變數的值了.
每個版本bash的SPI變數內的特殊符號也許會有悶皮陵一些差異.我們可以用man
bash去查詢一下相關的變數.
下面列出幾個常用的PS1變數內特殊符號的意義.
\d
:代表日期,格式為
weekday
month
date
\H
:完整的主機名
\h
:僅僅取得主機名稱的第一個名字
\t
:顯示時間,為24小時格式.例如:HH:MM:SS
\T
:顯示時間,為12小時格式.
\A
:顯示時間,為24小時格式,
HH:MM
\u
:目前使用者的帳號名稱
\v
:BASH的版本信息
\w
:完整的目錄工作名稱.根目錄會以~取代.
\W
:利用basename取得工作目錄名稱,所以僅僅會列出最後一個目錄名
\#
:下達的第幾個命令
\$
:提示字元,如果是管理員的則提示為#,否則就是$
根據自己當前Linux的提示內容,可以得出PS1的內容為:'\[\u@\h
\W\]\$'
這樣就理解為什麼我們的提示字元會是:[root@linux
~]#了吧.
我們也可以自己設置一個
設置以下命令:PS1='[\u@\h
\w
\A
#\#]\$
'
那麼我們的命令提示符則為:[root@linux
/home
17:02
#85]#
注意,時間後面的是,我們當前執行命令的次數,沒執行一次命令則會握頌加1