用于 Linux 的九個(gè)有用的交互式 CLI 工具
如果您是一名軟件開發(fā)人員,那么您遲早需要連接到 Linux 機(jī)器來執(zhí)行管理任務(wù)、訪問遠(yuǎn)程數(shù)據(jù)庫?服務(wù)器或部署應(yīng)用程序等等。如果你想精通 Linux,熟練使用命令行界面(CLI)是必須的。如果你正在尋求獲得 Linux 的信心,這里有9個(gè)基于文本的用戶界面的交互式工具,我發(fā)現(xiàn)它們很有用,它們可以幫助你熟悉 Linux CLI。
?如果您有自己的 Linux 機(jī)器,您可以使用這些工具,或者您可以使用 Docker 或虛擬機(jī)來安裝 Linux 并使用它。更好的是,您可以重新利用一臺(tái)舊筆記本電腦,例如,如果需要的話,可以將其用作在 Linux 上運(yùn)行的數(shù)據(jù)庫服務(wù)器、 Git 或 CI 環(huán)境。
因?yàn)椴煌陌l(fā)行版需要不同的步驟,所以我沒有包含如何安裝每個(gè)工具的說明。最有可能的是,如果您的 Linux 發(fā)行版默認(rèn)沒有提供這些工具,那么您的包管理器將能夠安裝它們。一個(gè)快速的在線搜索應(yīng)該會(huì)引導(dǎo)您找到正確的命令來安裝每個(gè)工具。
htop
Htop 是一個(gè)類似于 top 的進(jìn)程查看器,但它允許您垂直和水平滾動(dòng),甚至與鼠標(biāo)指針交互。您可以使用 F 鍵來執(zhí)行諸如搜索、篩選或終止進(jìn)程之類的任務(wù)。
nmon
Nmon 是一個(gè)系統(tǒng)監(jiān)視器、調(diào)諧器和基準(zhǔn)測(cè)試工具??梢允褂面I盤快捷鍵自定義顯示的信息,以添加 CPU、內(nèi)存、網(wǎng)絡(luò)、磁盤、文件系統(tǒng)、進(jìn)程和資源的部分。
nmtui
Nmtui 是一個(gè)用于配置網(wǎng)絡(luò)的基于文本的接口(在 NetworkManager 之上)。如果您不想修改配置文件,這個(gè)工具是一個(gè)很好的選擇(假設(shè)您的操作系統(tǒng)使用 NetworkManager)。
提示: 如果你在使用這個(gè)工具時(shí)得到了有趣的顏色,試著定義下面的環(huán)境變量:
NEWT_COLORS='root=white,blue' nmtui
iftop
Iftop 是一個(gè)顯示網(wǎng)絡(luò)流量和帶寬使用情況的工具。最有可能的情況是,您必須使用 sudo 運(yùn)行它并指定一個(gè)網(wǎng)絡(luò)接口。例如:
sudo iftop -i wlp3s0
iptraf
Iptraf 類似于 iftop (參見前一節(jié)) ,但是提供了一個(gè)更具交互性的界面。它監(jiān)視 IP LAN 網(wǎng)絡(luò)流量,并顯示 TCP 信息、 UDP 計(jì)數(shù)、 ICMP 和 OSPF 信息、以太網(wǎng)負(fù)載信息、節(jié)點(diǎn)狀態(tài)、 IP 校驗(yàn)和錯(cuò)誤等。您需要以 root (sudo)身份運(yùn)行此工具。
mc
Mc 或 GNU Midnight Command (我個(gè)人有時(shí)會(huì)把它稱為強(qiáng)大的指揮官,只是為了好玩)是 Linux 的一個(gè)流行的可視 shell。更具體地說,它允許您導(dǎo)航和瀏覽系統(tǒng)中的文件。我發(fā)現(xiàn)在配置系統(tǒng)并需要在不同的配置文件之間來回切換時(shí),它非常有用。它支持鼠標(biāo)和許多鍵盤快捷鍵(運(yùn)行 manmc 獲取更多信息)。
mcedit
Mcedit 是 mc 的內(nèi)部文本編輯器(參見上一節(jié))。不過,你也可以在 mc 之外使用這個(gè)工具,并利用它的許多特性,特別是在一個(gè)功能齊全的窗口編輯器中的鼠標(biāo)支持、鍵盤快捷鍵、代碼導(dǎo)航、語法突顯和宏記錄功能。
nano
Nano 是另一個(gè)流行的小型文本編輯器,適合快速編輯文件。它具有很酷的特性,比如打開多個(gè)文件、每行滾動(dòng)、撤銷/重做操作、語法著色、行編號(hào)和軟包裝行。如果您正在尋找一個(gè)更高級(jí)和可配置的文本編輯器,那么您肯定需要檢查 vim。
mprocs
Mprocs 允許您在一個(gè)基于文本的界面中運(yùn)行多個(gè)進(jìn)程:
mcprocs sh sh sh sh
我想要多少就有多少。當(dāng)您在配置東西時(shí),需要同時(shí)調(diào)整配置文件和運(yùn)行命令時(shí),它是一個(gè)很好的工具。
總結(jié)
我當(dāng)然喜歡這些工具,它們?cè)趫?zhí)行 DevOps 任務(wù)(如 Web 服務(wù)器和數(shù)據(jù)庫供應(yīng)和配置)時(shí)為我提供了很好的幫助。例如,當(dāng)我正在配置前面文章中鏈接的專用 MariaDB 數(shù)據(jù)庫服務(wù)器和這個(gè)32核 Raspberry Pi 集群時(shí),它們確實(shí)幫了我大忙。我希望這些基于文本的 CLI 工具中至少有一個(gè)對(duì)您來說是新的,并且您會(huì)發(fā)現(xiàn)它很有用。?