記不住 Linux 命令?這三個工具可以幫你
在我的 Elementary OS 系統(tǒng)里,目錄 /usr/bin 下有 2029 個可執(zhí)行文件。盡管我只會用到其中的一小部分,我要怎么才能記住這一部分呢? -- Jack Wallen
本文導航
-Bash 命令歷史 …… 20%
-apropos …… 46%
-Fish …… 61%
-保持學習 …… 89%
編譯自: https://www.linux.com/learn/intro-to-linux/2017/10/3-tools-help-you-remember-linux-commands作者: Jack Wallen
譯者: zpl1025
Linux 桌面從開始的簡陋到現(xiàn)在走了很長的路。在我早期使用 Linux 的那段日子里,掌握命令行是最基本的 —— 即使是在桌面版。不過現(xiàn)在變了,很多人可能從沒用過命令行。但對于 Linux 系統(tǒng)管理員來說,可不能這樣。實際上,對于任何 Linux 管理員(不管是服務器還是桌面),命令行仍是必須的。從管理網(wǎng)絡到系統(tǒng)安全,再到應用和系統(tǒng)設定 —— 沒有什么工具比命令行更強大。
但是,實際上……你可以在 Linux 系統(tǒng)里找到非常多命令。比如只看 /usr/bin 目錄,你就可以找到很多命令執(zhí)行文件(你可以運行 ls/usr/bin/ | wc -l 看一下你的系統(tǒng)里這個目錄下到底有多少命令)。當然,它們并不全是針對用戶的執(zhí)行文件,但是可以讓你感受下 Linux 命令數(shù)量。在我的 Elementary OS 系統(tǒng)里,目錄 /usr/bin 下有 2029 個可執(zhí)行文件。盡管我只會用到其中的一小部分,我要怎么才能記住這一部分呢?
幸運的是,你可以使用一些工具和技巧,這樣你就不用每天掙扎著去記憶這些命令了。我想和大家分享幾個這樣的小技巧,希望能讓你們能稍微有效地使用命令行(順便節(jié)省點腦力)。
我們從一個系統(tǒng)內置的工具開始介紹,然后再介紹兩個可以安裝的非常實用的程序。
Bash 命令歷史
不管你知不知道,Bash(***的 Linux shell)會保留你執(zhí)行過的命令的歷史。想實際操作下看看嗎?有兩種方式。打開終端窗口然后按向上方向鍵。你應該可以看到會有命令出現(xiàn),一個接一個。一旦你找到了想用的命令,不用修改的話,可以直接按 Enter 鍵執(zhí)行,或者修改后再按 Enter 鍵。
要重新執(zhí)行(或修改一下再執(zhí)行)之前運行過的命令,這是一個很好的方式。我經(jīng)常用這個功能。它不僅僅讓我不用去記憶一個命令的所有細節(jié),而且可以不用一遍遍重復地輸入同樣的命令。
說到 Bash 的命令歷史,如果你執(zhí)行命令 history,你可以列出你過去執(zhí)行過的命令列表(圖 1)。
圖 1: 你能找到我敲的命令里的錯誤嗎?
你的 Bash 命令歷史保存的歷史命令的數(shù)量可以在 ~/.bashrc 文件里設置。在這個文件里,你可以找到下面兩行:
HISTSIZE=1000HISTFILESIZE=2000
HISTSIZE 是命令歷史列表里記錄的命令的***數(shù)量,而 HISTFILESIZE 是命令歷史文件的***行數(shù)。
顯然,默認情況下,Bash 會記錄你的 1000 條歷史命令。這已經(jīng)很多了。有時候,這也被認為是一個安全漏洞。如果你在意的話,你可以隨意減小這個數(shù)值,在安全性和實用性之間平衡。如果你不希望 Bash 記錄你的命令歷史,可以將 HISTSIZE 設置為 0。
如果你修改了 ~/.bashrc 文件,記得要登出后再重新登錄(否則改動不會生效)。
apropos
這是***個我要介紹的工具,可以幫助你記憶 Linux 命令。apropos (意即“關于”)能夠搜索 Linux 幫助文檔來幫你找到你想要的命令。比如說,你不記得你用的發(fā)行版用的什么防火墻工具了。你可以輸入 apropos “firewall” ,然后這個工具會返回相關的命令(圖 2)。
圖 2: 你用的什么防火墻?
再假如你需要一個操作目錄的命令,但是完全不知道要用哪個呢?輸入 apropos “directory” 就可以列出在幫助文檔里包含了字符 “directory” 的所有命令(圖 3)。
圖 3: 可以操作目錄的工具有哪些呢?
apropos 工具在幾乎所有 Linux 發(fā)行版里都會默認安裝。
Fish
還有另一個能幫助你記憶命令的很好的工具。Fish 是 Linux/Unix/Mac OS 的一個命令行 shell,有一些很好用的功能。
-
自動推薦
-
VGA 顏色
-
***的腳本支持
-
基于網(wǎng)頁的配置
-
幫助文檔自動補全
-
語法高亮
-
以及更多
自動推薦功能讓 fish 非常方便(特別是你想不起來一些命令的時候)。
你可能覺得挺好,但是 fish 沒有被默認安裝。對于 Ubuntu(以及它的衍生版),你可以用下面的命令安裝:
sudo apt-add-repository ppa:fish-shell/release-2sudo apt update
sudo apt install fish
對于類 CentOS 系統(tǒng),可以這樣安裝 fish。用下面的命令增加倉庫:
sudo -scd /etc/yum.repos.d/
wget //download.opensuse.org/repositories/shells:fish:release:2/CentOS_7/shells:fish:release:2.repo
用下面的命令更新倉庫:
yum repolistyum update
然后用下面的命令安裝 fish:
yum install fish
fish 用起來可能沒你想象的那么直觀。記住,fish 是一個 shell,所以在使用命令之前你得先登錄進去。在你的終端里,運行命令 fish 然后你就會看到自己已經(jīng)打開了一個新的 shell(圖 4)。
圖 4: fish 的交互式 shell。
在開始輸入命令的時候,fish 會自動補齊命令。如果推薦的命令不是你想要的,按下鍵盤的 Tab 鍵可以瀏覽更多選擇。如果正好是你想要的,按下鍵盤的向右鍵補齊命令,然后按下 Enter 執(zhí)行。在用完 fish 后,輸入 exit 來退出 shell。
Fish 還可以做更多事情,但是這里只介紹用來幫助你記住命令,自動推薦功能足夠了。
保持學習
Linux 上有太多的命令了。但你也不用記住所有命令。多虧有 Bash 命令歷史以及像 apropos 和 fish 這樣的工具,你不用消耗太多記憶來回憶那些幫你完成任務的命令。
via: https://www.linux.com/learn/intro-to-linux/2017/10/3-tools-help-you-remember-linux-commands
作者:JACK WALLEN[1] 譯者:zpl1025 校對:wxy
本文由 LCTT 原創(chuàng)編譯,Linux中國 榮譽推出