5個經典有趣的 Linux 命令列技巧

linux.cn發表於2015-05-23

你有將Linux物盡其用嗎?對很多Linux使用者來說,有很多看起來是技巧的有用特性。有些時候你會需要這些技巧。本文會幫助你更好得使用一些命令,發揮其更強大的功能。

5個有趣的Linux命令列技巧

圖1:5個命令列技巧

我們開始一個新的系列,在這裡我們還會寫一些技巧,並且用盡量小的篇幅寫清楚。

1. 我們可以使用history命令來檢視曾經執行過的命令。

這裡是一個history命令的示例輸出。

# history

5個有趣的Linux命令列技巧

圖2:history命令例子

從history命令輸出看,很明顯,命令的執行時間沒有被打出來。有解決方法嗎?有的!執行如下命令:

# HISTTIMEFORMAT="%d/%m/%y %T "
# history

如果你想讓這個修改永久生效,新增如下的一行內容到~/.bashrc檔案中:

export HISTTIMEFORMAT="%d/%m/%y %T "

然後,在終端中執行:

# source ~/.bashrc

命令和選項的解釋:

  • history – 檢視執行過的命令
  • HISTIMEFORMAT – 設定時間格式的環境變數
  • %d – 天
  • %m – 月
  • %y – 年
  • %T – 時間戳
  • source – 簡而言之就是將檔案內容傳送給shell來執行
  • .bashrc – BASH以互動方式啟動時執行的指令碼檔案

5個有趣的Linux命令列技巧

圖3:history命令輸出的日誌

2. 如何測試磁碟寫入速度?

一行dd命令指令碼就可以實現。

# dd if=/dev/zero of=/tmp/output.img bs=8k count=256k conv=fdatasync; rm -rf /tmp/output.img

5個有趣的Linux命令列技巧

圖4:dd命令例子

命令和選項的解釋:

  • dd – 轉換和複製檔案
  • if=/dev/zero – 指定輸入檔案,預設為stdin(標準輸入)
  • of=/tmp/output.img – 指定輸出檔案,預設為stdout(標準輸出)
  • bs – 一次讀和寫的塊大小,最大可以以MB為單位
  • count – 複製次數
  • conv – 使用逗號分隔的策略來轉換檔案(LCTT 譯註:比如將大寫字母轉換成小寫,echo AA | dd conv=lcase)
  • rm – 刪除檔案和目錄
  • -rf – (-r) 遞迴地刪除目錄和其中的內容,(-f)強行刪除而不輸出確認資訊

3. 你如何獲取吃掉你磁碟空間的最大的6個檔案?

一個使用du命令的簡單單行指令碼即可實現,du命令主要用於獲取檔案的空間使用情況。

# du -hsx * | sort -rh | head -6

5個有趣的Linux命令列技巧

圖5:獲取磁碟空間使用情況的方法

命令和選項的解釋:

  • du – 估計檔案的空間使用情況
  • -hsx – (-h)更易讀的格式,(-s)彙總輸出,(-x)跳過其他檔案系統的檔案
  • sort – 對文字檔案按行排序
  • -rf – (-r)將比較的結果逆序輸出,(-f)忽略大小寫
  • head – 輸出檔案的頭幾行

4. 獲取一個檔案的詳細狀態資訊

可以使用stat命令

# stat filename_ext  (例如:stat abc.pdf)

5個有趣的Linux命令列技巧

圖6:獲取檔案的詳細資訊

5. 顯示幫助

最後一個技巧是為那些入門者準備的,如果你是有經驗的使用者,可能不需要它,除非你想從中尋找樂趣。入門者可能有Linux命令列恐懼症,下面的命令會隨機顯示一個man手冊頁。對入門者來說,好處是總會學到新的東西,而且不會厭倦。

# man $(ls /bin | shuf | head -1)

5個有趣的Linux命令列技巧

圖7:檢視隨機的man手冊頁

命令和選項的解釋:

  • man – Linux man手冊
  • ls – 列出檔案
  • /bin – 系統可執行檔案的路徑
  • shuf – 把輸入內容按行隨機打亂並輸出
  • head – 輸出檔案的頭幾行

這就是所有的內容了。如果你知道任何類似的技巧,可以分享給我們,我們會用你的語言在網站上發表出來。

不要忘記在下邊評論框中留下有價值的反饋。保持聯絡。可以點贊或者將本文分享來幫助我們更好地傳播內容。

相關文章