您的位置:首頁>正文

記不住 Linux 命令?這三個工具可以幫你

Linux 桌面從開始的簡陋到現在走了很長的路。 在我早期使用 Linux 的那段日子裡, 掌握命令列是最基本的 —— 即使是在桌上出版。 不過現在變了, 很多人可能從沒用過命令列。 但對於 Linux 系統管理員來說, 可不能這樣。 實際上, 對於任何 Linux 管理員(不管是伺服器還是桌面), 命令列仍是必須的。 從管理網路到系統安全, 再到應用和系統設定 —— 沒有什麼工具比命令列更強大。

但是, 實際上……你可以在 Linux 系統裡找到非常多命令。 比如只看/usr/bin目錄, 你就可以找到很多命令執行檔(你可以運行ls/usr/bin/ | wc -l看一下你的系統裡這個目錄下到底有多少命令)。

當然, 它們並不全是針對用戶的執行檔, 但是可以讓你感受下 Linux 命令數量。 在我的 Elementary OS 系統裡, 目錄/usr/bin下有 2029 個可執行檔。 儘管我只會用到其中的一小部分, 我要怎麼才能記住這一部分呢?

幸運的是, 你可以使用一些工具和技巧, 這樣你就不用每天掙扎著去記憶這些命令了。 我想和大家分享幾個這樣的小技巧, 希望能讓你們能稍微有效地使用命令列(順便節省點腦力)。

我們從一個系統內置的工具開始介紹, 然後再介紹兩個可以安裝的非常實用的程式。

Bash 命令歷史

不管你知不知道, Bash(最流行的 Linux shell)會保留你執行過的命令的歷史。 想實際操作下看看嗎?有兩種方式。 打開終端視窗然後按向上方向鍵。 你應該可以看到會有命令出現,

一個接一個。 一旦你找到了想用的命令, 不用修改的話, 可以直接按 Enter 鍵執行, 或者修改後再按 Enter 鍵。

要重新執行(或修改一下再執行)之前運行過的命令, 這是一個很好的方式。 我經常用這個功能。 它不僅僅讓我不用去記憶一個命令的所有細節, 而且可以不用一遍遍重複地輸入同樣的命令。

說到 Bash 的命令歷史, 如果你執行命令history, 你可以列出你過去執行過的命令列表(圖 1)。

圖 1: 你能找到我敲的命令裡的錯誤嗎?

你的 Bash 命令歷史保存的歷史命令的數量可以在~/.bashrc檔裡設置。 在這個檔裡, 你可以找到下面兩行:

HISTSIZE=1000

HISTFILESIZE=2000

HISTSIZE是命令歷史清單裡記錄的命令的最大數量, 而HISTFILESIZE是命令歷史文件的最大行數。

顯然, 預設情況下, Bash 會記錄你的 1000 條歷史命令。 這已經很多了。 有時候, 這也被認為是一個安全性漏洞。 如果你在意的話, 你可以隨意減小這個數值, 在安全性和實用性之間平衡。 如果你不希望 Bash 記錄你的命令歷史, 可以將HISTSIZE設置為0

如果你修改了~/.bashrc檔, 記得要登出後再重新登錄(否則改動不會生效)。

apropos

這是第一個我要介紹的工具,

可以幫助你記憶 Linux 命令。 apropos (意即“關於”)能夠搜索 Linux 幫助文檔來幫你找到你想要的命令。 比如說, 你不記得你用的發行版本用的什麼防火牆工具了。 你可以輸入apropos “firewall”, 然後這個工具會返回相關的命令(圖 2)。

圖 2: 你用的什麼防火牆?

再假如你需要一個操作目錄的命令,

但是完全不知道要用哪個呢?輸入apropos “directory”就可以列出在幫助文檔裡包含了字元 “directory” 的所有命令(圖 3)。

圖 3: 可以操作目錄的工具有哪些呢?

apropos 工具在幾乎所有 Linux 發行版本裡都會預設安裝。

Fish

還有另一個能幫助你記憶命令的很好的工具。 Fish 是 Linux/Unix/Mac OS 的一個命令列 shell, 有一些很好用的功能。

自動推薦

VGA 顏色

完美的腳本支持

基於網頁的配置

説明文檔自動補全

語法高亮

以及更多

自動推薦功能讓 fish 非常方便(特別是你想不起來一些命令的時候)。

你可能覺得挺好,但是 fish 沒有被默認安裝。對於 Ubuntu(以及它的衍生版),你可以用下面的命令安裝:

sudo apt-add-repository ppa:fish-shell/release-2

sudo apt update

sudo apt install fish

對於類 CentOS 系統,可以這樣安裝 fish。用下面的命令增加倉庫:

sudo -s

cd /etc/yum.repos.d/

wget連結

用下麵的命令更新倉庫:

yum repolist

yum update

然後用下面的命令安裝 fish:

yum install fish

fish 用起來可能沒你想像的那麼直觀。記住,fish 是一個 shell,所以在使用命令之前你得先登錄進去。在你的終端裡,運行命令 fish 然後你就會看到自己已經打開了一個新的 shell(圖 4)。

圖 4: fish 的互動式 shell。

在開始輸入命令的時候,fish 會自動補齊命令。如果推薦的命令不是你想要的,按下鍵盤的 Tab 鍵可以流覽更多選擇。如果正好是你想要的,按下鍵盤的向右鍵補齊命令,然後按下 Enter 執行。在用完 fish 後,輸入 exit 來退出 shell。

Fish 還可以做更多事情,但是這裡只介紹用來幫助你記住命令,自動推薦功能足夠了。

保持學習

Linux 上有太多的命令了。但你也不用記住所有命令。多虧有 Bash 命令歷史以及像 apropos 和 fish 這樣的工具,你不用消耗太多記憶來回憶那些幫你完成任務的命令。

有一些很好用的功能。

自動推薦

VGA 顏色

完美的腳本支持

基於網頁的配置

説明文檔自動補全

語法高亮

以及更多

自動推薦功能讓 fish 非常方便(特別是你想不起來一些命令的時候)。

你可能覺得挺好,但是 fish 沒有被默認安裝。對於 Ubuntu(以及它的衍生版),你可以用下面的命令安裝:

sudo apt-add-repository ppa:fish-shell/release-2

sudo apt update

sudo apt install fish

對於類 CentOS 系統,可以這樣安裝 fish。用下面的命令增加倉庫:

sudo -s

cd /etc/yum.repos.d/

wget連結

用下麵的命令更新倉庫:

yum repolist

yum update

然後用下面的命令安裝 fish:

yum install fish

fish 用起來可能沒你想像的那麼直觀。記住,fish 是一個 shell,所以在使用命令之前你得先登錄進去。在你的終端裡,運行命令 fish 然後你就會看到自己已經打開了一個新的 shell(圖 4)。

圖 4: fish 的互動式 shell。

在開始輸入命令的時候,fish 會自動補齊命令。如果推薦的命令不是你想要的,按下鍵盤的 Tab 鍵可以流覽更多選擇。如果正好是你想要的,按下鍵盤的向右鍵補齊命令,然後按下 Enter 執行。在用完 fish 後,輸入 exit 來退出 shell。

Fish 還可以做更多事情,但是這裡只介紹用來幫助你記住命令,自動推薦功能足夠了。

保持學習

Linux 上有太多的命令了。但你也不用記住所有命令。多虧有 Bash 命令歷史以及像 apropos 和 fish 這樣的工具,你不用消耗太多記憶來回憶那些幫你完成任務的命令。

同類文章
Next Article
喜欢就按个赞吧!!!
点击关闭提示