十個你可能沒用過的Linux命令(點評版)

berlinix發表於2012-06-22

原文:10 Linux Commands You Probably Don’t Use

備註:此文已有兩篇翻譯。參考 譯文美化版 。美化版作者(veldts)說原譯文有不少可改進之處,因此手癢重譯。而我則覺得原文有不少可改進之處,因此手癢,評述一二。

這些命令,作者有些語焉不詳,竊以為原文大有可改進之處,點評如下。

1. 使用pgrep快速查詢PID

pgrep能快速查詢程式ID。接下來呢?最常見的場景是kill掉一個程式,例如:

$ pgrep top
8016
$ kill 8016

這樣幹有點傻,為何不直接用pkill top呢?有多個top程式的話,用killall top

2. 執行最近一次執行過的命令

執行最近一次的命令有很多途徑,以簡潔性而言,我更鐘愛而不是!!,因為前者按鍵更少。不過需要把手指移動到主鍵盤之外,不是很方便。

3.執行最近一次以特定字母開頭的命令

!cmd執行最近一次的cmd命令,並使用同樣的引數。好處是省卻輸入大量引數的麻煩。例如:

$ history |grep scp
  355   scp localf berlinix@www.berlinix.com:/tmp/remotef

如果在scp ...之後執行了多個命令,要想再次執行這個命令並攜帶相同的引數,有幾個方法:

  • 手工輸入一次。
  • history找到命令,複製、貼上並執行,或用!N,其中Nhistory記錄編號。
  • Ctrl-R,進入命令搜尋模式,輸入sscscp等,即可自動找到歷史命令。
  • !scp,即作者推薦方法。

以操作便利性而言,Ctrl-R命令搜尋和!cmd模式最便利。

以上,條目2和3都是針對歷史命令,可參考 這裡

4. 反覆執行一個命令並在螢幕上輸出

在網路、I/O等可能快速變化的場合使用watch遠比目錄檔案變化更為常見。如觀察TCP連線:

$ watch -n 1 netstat -nt

5. 在VI/VIM中快速儲存

Shift + zz快速退出Vim有點傻,因為很快你又要再次啟動Vim,為何不用Ctrl-Z將Vim放到後臺,然後隨意執行命令,想返回Vim時再用fg(把後臺程式調出)。

6. 快速退出終端會話

我能想到用Ctrl-D快速退出終端會話的場景是,你執行了一個如cat /bin/ls這樣的操作,把螢幕搞出如下的樣子:

enter image description here

這時,你需要Ctrl-D快速退出終端,接下來,再次快速進入終端。不過,且慢,更好的方法是用reset清理螢幕,無論你退出多快,都趕不上reset。提示:你輸入reset這幾個字時,可能在一片廢墟上(看不清你的輸入),但不要管它,輸入完回車即可。

7. 返回上一次所在的目錄

這條很簡單,沒什麼好說。cd -使用頻率很高。

8. 巧妙建立父目錄

這條很簡單,沒什麼好說。mkdir -p使用率很高。

9. 刪除一整行

如果你是Vim使用者,我建議把命令列輸入配置為Vi模式(預設為Emacs模式),這樣特別是輸入長命令時,發生中途輸入錯誤,就可以用w, b, 0, $, h, l, x等在命令字元上快速跳轉樂。

Vi模式配置,在~/.bashrc中新增set -o vi,再執行. ~/.bashrc即可。

10. 設定檔案的時間戳

這條很簡單,沒什麼好說。但並不常用。

相關文章