在linux環境下使用終端,命令前會有命令提示符,一般包括使用者名稱、主機名、還有目錄名。如果命令提示符佔據絕大部分,留給我們輸入命令的空間就有限,當然也可以換行,但是這不夠直觀。
在我的終端裡,我實際的命令是cat spark-defaults.conf.template | grep "spark"
,但是因為使用者名稱、主機名和目錄名佔據了40%左右的空間,導致我的命令不能在一行完全輸入,當命令更加複雜的情況下很不直觀。
接下來我給出兩個解決辦法
1. 命令換行,即命令和命令提示符不在一行
2. 減少命令提示符的長度
解決方法是有了,但是怎麼執行呢?有關於命令提示符的修改在~/.bashrc
檔案中,如果是root使用者,即/root/.bashrc
,如果是普通使用者則是/home/使用者名稱/.bashrc
。
1.開啟.bashrc檔案
vim ~/.bashrc
注意:這裡檔名有個點,linux檔名開頭為.表示隱藏檔案,直接用ls
命令是看不到的
2.找到有關命令提示符的語句
vim中輸入/@
,查詢@
這個字元(vim命令模式/
可以查詢指定字元)。因為命令提示符是使用者名稱@主機名,所以我當時猜測相關語句應該有@
這個字元,果不其然。
3.修改.bashrc
回到我們之前的兩個解決辦法
(1)換行
程式設計師都知道換行符是\n
,在linux的shell中也不意外,所以我們在命令提示符結尾加入\n
。可以看到這裡有個if語句,經過我的測試,else語句會被執行到,當然也可以和我一樣if和else後的語句都修改
然後執行source ~/.bashrc
使之前的修改生效
(2)從命令提示符下手
命令提示符包括使用者名稱、主機名、目錄名,我們就將他們縮短或者不顯示也可以解決問題。
刪除使用者名稱
沒有多使用者需求的小夥伴可以採用此方法,像我就乙個使用者和root使用者,所以我就刪除了使用者名稱,將\u
刪除即可,也可以一起刪除@
這個字元,因為@
是使用者名稱和主機名的分隔符,刪除了其中乙個,@
自然也沒有存在的必要了
刪除使用者名稱和@
source一下檢視結果,如下:
刪除主機名
如果沒有ssh到其他主機需求的話,可以使用此方法。刪除@\h
就可以了。
主機名和目錄名之間有個:
,不需要的話也可以一併刪除
主機名被我刪除了,裡面沒有@\h
字樣。
顯示當前目錄
如果不想顯示全路徑,只想顯示當前路徑名,可以把\w
換成\w
,小寫換成大寫。
為了演示,我採用多種方法來解決「命令提示符太長」這個問題,實際情況大家可以採用其中的一種。當然將使用者名稱和主機名縮短也是可以的,這也不需要修改.bashrc
檔案
vim中使用/
命令來搜尋命令
刪除了@
之後可以通過:n
來定位我們想要的行號,如我就採用了:67
\d :代表日期,格式為weekday month date,例如:」mon aug 1」
\h :完整的主機名稱。例如:我的機器名稱為:fc4.linux,則這個名稱就是fc4.linux
\h :僅取主機的第乙個名字,如上例,則為fc4,.linux則被省略
\t :顯示時間為24小時格式,如:hh:mm:ss
\t :顯示時間為12小時格式
\a :顯示時間為24小時格式:hh:mm
\u :當前使用者的賬號名稱
\v :bash的版本資訊
\w :完整的工作目錄名稱。家目錄會以 ~代替
\w :利用basename取得工作目錄名稱,所以只會列出最後乙個目錄
$ :提示字元,如果是root時,提示符為:# ,普通使用者則為:$
Linux命令提示符
格式 mkdir 目錄名mkdir p 目錄名1 目錄名2 目錄名3 巢狀 注意 新建目錄的名稱不能與當前目錄中已有的目錄或檔案 同名示例 mkdir opt dir1mkdir p opt dir1 dir2 dir3 dir4 格式 rm 資料夾 有提示 rm f 資料夾 取消提示 rm rf ...
Linux命令提示符
1 命令提示符解釋 root localhost root 當前登入使用者名稱 localhost 當前主機名 當前所在目錄,不帶路徑 表示管理員,表示普通使用者 2 檢視命令提示符設定 1 root localhost echo ps1 2 u h w d 代表日期,格式為weekday mont...
命令提示符
cd 改變當前目錄 dir 顯示檔案列表 diskcopy 複製軟盤 format 格式化磁碟 md 建立子目錄 type 顯示檔案內容 rd 刪除目錄 ren 改變檔名 cls 清屏 正在執行命令的命令提示符 正在執行命令的命令提示符 適用場合 螢幕上太亂了,或是螢幕上出現亂碼了,清除螢幕上顯示內...