但是,其實…你可以在 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,有一些很好用的功能。
自動推薦功能讓 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 http://download.opensuse.org/repositories/shells:fish:release:2/CentOS_7/shells:fish:release:2.repo
用下面的指令更新倉庫:
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 這樣的工具,你不用消耗太多記憶來回憶那些幫你完成任務的指令。
以上是三個常用的Linux指令工具的詳細內容。更多資訊請關注PHP中文網其他相關文章!