幫助Linux管理員節省時間10條命令行
Linux管理員很辛苦,要不斷的、反復的使用命令,來回的調用,本文介紹幫助Linux管理員節省時間10條命令行為的內容,可以幫Linux管理員減輕負擔。盡管Linux桌面在過去二十年中經歷了巨大的改變(最顯著的變化可能是Ubuntu Unity界面),根據可以提供給有經驗系統管理員的力量,命令行依然是非平行的。盡管接下來的十個技巧大部分關于Bash shell,所有這些技巧都可以很容易地應用到其它現在shell上。
1、運用一條命令來創建并進入目錄
創建接著進入一個新目錄是一個非常普通的任務,似乎在shell中執行兩種命令都該有捷徑。雖然沒有捷徑,你可以將以下函數添加到你的.bashrc文件:
- mkcd()
- {
- mkdir $1
- cd $1
- }
接著運行源.bashrc來讀取內存中的變化,并運用mkcd命令完成兩個服務:
- wjgilmore@ubuntu:~$ mkcd articles
- wjgilmore@ubuntu:~/articles $
2、回到前一目錄
當你需要從結構復雜的目錄中轉移并想要回到初始目錄時,你可以將之前一路徑傳遞到cd命令,但是鮮為人知的cd命令讓這件事變得瑣碎。該順序展示了該行為:
- wjgilmore@ubuntu-laptop:~/Documents/techtarget_articles/ten_command_line_tricks/test2$ cd
- wjgilmore@ubuntu-laptop:~$ cd -
- ~/Documents/techtarget_articles/ten_command_line_tricks/test2$
- wjgilmore@ubuntu-laptop:~/Documents/techtarget_articles/ten_command_line_tricks/test2$
3、創建目錄書簽
繼續跟隨目錄互動的主題,你會不可避免地一次次回到某些目錄。可以通過添加到$CDPATH shell變體的路徑(在你的.bashrc文件中)來創建能讓你快速導航到這些目錄的書簽:
- CDPATH='.:/home/wjgilmore/books'
一旦添加,你可以從操作系統路徑中的任一處直接導航到書簽目錄,只需要執行如下命令:
- $ cd books
4、熟練地編輯命令行
你有多少次在沉悶地編輯和執行一系列略微不同的命令?例如我在忙于創建來自Markdown源的不同書本章節的PDF版本時,我通常執行以下命令:
- $ pandoc -o html/chapter06.html chapters/chapter06.md --template=templates/html.template
為了也創建chapter04.md源文件,命令行初學者會很快厭倦用向上箭頭在歷史中檢索之前執行(上一)命令,然后用左指箭頭直到用chapter04.md更換了所有chapter06.md實例。還有很多更高效的方式來執行該任務。首先,考慮使用Bash的命令行編輯鍵盤快捷鍵(兩種支持模式:Emacs和vi),這讓你可以快速地導航到想去的位置:
- Ctrl + a:去往首行
- Ctrl + e: 去往末行
- Alt + f: 前進一個字
- Alt + b: 退后一個字
第二種且可能更有效的方法是使用命令行替換。接下來的命令會將在之前執行命令中發現的06用04代替:
- $ pandoc -o html/chapter06.html chapters/chapter06.md --template=templates/html.template
- $ !!:gs/06/04
- pandoc -o html/chapter04.html chapters/chapter04.md --template=templates/html.template
如果你正偶然地使用GNOME終端,那么元(Alt)鍵不會如描述般工作,因為GNO ME終端已經綁定Alt鍵到工具欄命令。你還可以選擇使用Shift + Alt作為元鍵,但是這有點笨拙。相反地,如果你不需要工具欄命令快捷鍵,通過導航到編輯-> 鍵盤快捷鍵來關閉它們…也能關閉啟用菜單訪問鍵選項。
5、為之后的使用保存長命令
當通過一列系統管理員操作的工作時,可以輸入特定的長命令并在執行它之前意識到省去序列中的一個步驟。相比于刪除該命令,你可以將其保存到歷史,而不用通過添加井號鍵(#)到命令開端:
- $ #this is some ridiculously long command that I want to save
在按下Enter鍵后,用向上箭頭,你會看見保存的命令。要執行該命令,只要在執行前從行的開始移開井號鍵。
6、運用命令別名保存輸入
ls命令的長列表格式(ls -l)可以頻繁地運用,但是連字符讓它在大量輸入時有點不實用。你可以使用.bashrc內的別名命令創建命令別名用于長命令。在這個例子中,命令別名dir是ls –l的替代。
- alias dir='ls -l'
7、通過忽略輸入錯誤保存更多輸入
你正處于終端區域,在任意地復制、更新和移除文件時從一個目錄激發到下一個?;蛘吣悴辉诮K端區域,由于手指比大腦運動得更快,甚至鍵盤反應時間可以處理,這導致你要不斷地返回并更正你的輸入錯誤。在你的.bashrc文件中添加以下行,shell會在識別文件或路徑名字時自動地修正所有輸入錯誤。
- shopt -s cdspell
8、在后臺打開應用程序
當巡視命令行時,你也許會需要進行另一個任務,如響應一封郵件。當然,可以按你執行其它命令的方式從終端打開GUI應用,只需通過調用它們的名字完成,在這個例子中,打開Gimp:
- $ gimp
但是有效地這么做結束了你的終端會話,因為應用程序會在前臺打開。如果你正從命令行中常規打開一個特定程序,考慮在你的.bashrc文件里修改它的默認調用:
- gimp()
- {
- command gimp "$@" &
- }
重載你的.bashrc文件(見源命令),你將能調用Gimp應用,和任意你想要打開的圖像文件名稱一起傳遞,還有保留終端控制的附加福利。
9、以少換多
更多的命令在快速細讀文本文件內容時實用。一旦文件負載到頁面,你可以運用/來搜索文件。問題并是一旦你發現想要的行,向上導航并檢查看上去高于該行的內容不可能。更少的命令并不是劣勢,它允許你可以實現向上和向下的文本滾動。以相同的方式調用越少的命令得到的越多:
- $ less sometextfile.txt
10、清理你的命令行歷史
歷史命令(history command)很容易成為你能支配的最有力工具之一。但是有一個節省時間的命令尤其值得一提:$HISTIGNORE shell變量。
隨著時間,你的歷史列表會變得非常長。利用$HISTIGNORE變量來排泄你認為不相關的記錄:
- $ export $HISTIGNORE="&:cd:exit:ls"
這會導致所有復制的命令、cd、離開和ls命令從歷史命令中遺漏。
速度是管理命令行的關鍵,而這十個技巧應該可以幫助你開始你的命令行管理。如果你想與我們分享其它技巧,請通過網站與我聯系。
小結:幫助Linux管理員節省時間10條命令行為的內容介紹完了,希望通過linux技巧內容的學習能對你有所幫助!
原文鏈接:http://www.searchsv.com.cn/showcontent_50993.htm