天天看點

技術 | Linux Shell 介紹:Bash、Zsh 和 Fish

作者:硬核老王
技術 | Linux Shell 介紹:Bash、Zsh 和 Fish
關于著名的 Linux Shell - Bash、Zsh 和 Fish 的一些注釋和特性。

Linux 之是以強大,是因為它提供了用于與系統進行互動的多功能的指令行界面。在這中情況下,Shell 扮演了使用者和 Linux 核心之間的橋梁。本文将探讨三種流行的 Linux Shell - Bash、Zsh 和 Fish,并深入了解它們的獨特特性和功能。

了解 Linux Shell

什麼是 Shell?

Shell 是一個指令行解釋器,允許你通過文本指令與作業系統進行互動。它接收你的輸入,處理它,并與 Linux 核心通信以執行所請求的操作。最後,它會給你一個輸出。

(LCTT 譯注:“Shell” 一詞大約取自其“界面”、“外殼”的含義。)

Shell 在 Linux 中起着至關重要的作用,因為它們使使用者能夠執行各種任務,從簡單的檔案導航到複雜的系統管理任務。不同的 Shell 提供各種功能,是以選擇适合你工作流程的 Shell 至關重要。

Bash

Bash,全稱 “Bourne Again SHell”,是 Linux 發行版中最廣泛使用的預設 Shell 之一。它以其簡潔和相容性而聞名,是初學者的優秀選擇。

Bash 的特點

Bash 具有衆多特性,包括:

  • 指令曆史:使用箭頭鍵輕松通路先前執行的指令。
  • Tab

    鍵補全:節省時間,讓 Bash 為你自動完成檔案名和指令。
  • 腳本編寫:編寫和運作 Shell 腳本以自動化重複任務。從這個角度來看,它也是一個程式。
  • Bash 在大多數 GNU/Linux 系統中預設安裝。
  • 配置設定存儲在家目錄下的

    .bashrc

    檔案中。

和其他 Shell 一樣,Bash 有其優點和缺點。使用 Bash 的一些優勢包括廣泛的使用性、詳盡的文檔以及龐大的社群支援。然而,Bash 可能缺乏其他 Shell 中存在的一些現代化特性。

技術 | Linux Shell 介紹:Bash、Zsh 和 Fish

安裝

  • 在 Linux 發行版中打開終端。
  • 輸入

    bash --version

    檢查是否已安裝 Bash。
  • 若尚未安裝,使用軟體包管理器安裝 Bash。例如,在 Ubuntu 上,輸入

    sudo apt-get install bash

  • 對于 Fedora 和基于 RPM 的 Linux,請使用

    sudo dnf install bash

Zsh

Zsh,全稱 “Z Shell”,是一種強大且功能豐富的 Shell,深受經驗豐富的使用者歡迎。它吸取了 Bash 和其他 Shell 的優點,提升了使用者體驗。

Zsh 的優勢

Zsh 提供了幾個優勢,包括:

  • 進階自動補全:Zsh 在 Bash 的基礎上提供了更多上下文感覺的建議,超越了簡單的

    Tab

    鍵補全。
  • 當你按下

    Tab

    鍵時,Zsh 會顯示可能的值以供選擇,同時進行自動補全。
  • 插件支援:通過社群中提供的各種插件,擴充 Zsh 的功能。
  • 這裡有一個 龐大的 Zsh 主題集合。
  • 你還可以使用 Oh My Zsh 腳本進行廣泛的自定義。
技術 | Linux Shell 介紹:Bash、Zsh 和 Fish

Zsh 的複雜性可能使新手感到不知所措,其豐富的配置選項可能會使初學者感到困惑。

以下是安裝 Zsh 的方法:

  • 在 Linux 發行版中打開終端。
  • 輸入

    zsh --version

    檢查是否已安裝 Zsh。
  • 如果尚未安裝,請使用軟體包管理器安裝 Zsh。
  • 例如,在 Ubuntu 上,輸入

    sudo apt-get install zsh

  • 對于 Fedora 和基于 RPM 的發行版,輸入

    sudo dnf install zsh

Fish Shell

Fish,全稱 “Friendly Interactive SHell”,着重于使用者友好性和易用性。它擁有現代、直覺的界面,特别适合新的 Linux 使用者。

Fish 的獨特特性

Fish 的獨特之處在于:

  • 文法高亮:使用彩色标記文本來區分指令、選項和參數。
  • 自動建議:Fish 根據你的曆史記錄和目前輸入智能地建議指令。
  • Fish 被設計為開箱即用的高效工具。但是,你可以通過建立

    ~/.config/fish/config.fish

    檔案并添加自定義配置來進一步個性化它。

雖然 Fish 在使用者友好性方面表現出色,但其獨特的設計可能并不适合所有人。一些進階使用者可能會發現某些功能在進階使用方面有所限制。

技術 | Linux Shell 介紹:Bash、Zsh 和 Fish

Fish Shell 的安裝

  • 在 Linux 發行版中打開終端。
  • 輸入

    fish --version

    檢查是否已安裝 Fish。
  • 如果尚未安裝,請使用軟體包管理器安裝 Fish。例如,在 Ubuntu 上,輸入

    sudo apt-get install fish

  • 對于 Fedora 和其他基于 RPM 的發行版,輸入

    sudo dnf install fish

Bash、Zsh 和 Fish 的比較

為了幫助你決定哪種 Shell 适合你的需求,讓我們從各個方面比較這三個流行選擇:

性能與速度

Bash 以其速度和高效性而聞名,适用于資源受限的系統。Zsh 雖然稍慢一些,但其廣泛的功能和能力彌補了這一點。作為更具互動性的 Shell,Fish Shell 可能會略微降低性能,但提供了愉快的使用者體驗。

使用者界面和體驗

Bash 的界面簡單明了,非常适合初學者,而 Zsh 和 Fish 提供了更引人注目和互動式的界面。Zsh 的進階自動補全和 Fish 的文法高亮為使用者創造了視覺上的吸引力。

可定制性和插件

Zsh 在可定制性方面表現出色,允許使用者對其 Shell 環境進行微調。通過龐大的插件集合,Zsh 提供了無與倫比的可擴充性。Fish 則采取了更有主見的方式,專注于開箱即用的可用性,這可能對某些使用者有所限制。

選擇合适的 Shell

選擇合适的 Shell 與你的具體需求和經驗水準密切相關。

如果你是 Linux 的新手并且更喜歡簡單、無花俏的體驗,Bash 是一個極好的起點。它的易用性和詳盡的文檔使其非常适合初學者。

對于希望更多掌握控制權并願意花時間進行定制的經驗豐富的使用者來說,Zsh 強大的功能和插件提供了一個令人興奮和動态的環境。

如果你對自動化任務和編寫複雜的 Shell 腳本感興趣,Bash 在 Linux 生态系統中的廣泛應用和全面支援使其成為一個可靠的選擇。

結論

Bash、Zsh 和 Fish 各有其優勢,滿足不同使用者偏好。如果你剛接觸 Linux,Bash 的簡單性使其成為一個極好的起點。精通使用者和那些尋求定制化的使用者可能會覺得 Zsh 更吸引人,而 Fish 的使用者友好設計則适合尋求直覺界面的初學者。最終,選擇權在你手中,探索這些 Shell 将帶來更高效和愉悅的 Linux 使用體驗。

你最喜歡的 Shell 是什麼?在下方的評論框中告訴我。

(題圖:MJ/b6490b57-63bd-4fdd-bd3f-bf6d4aef1c4a)

via: https://www.debugpoint.com/linux-shells/

作者:Arindam選題:lkxed譯者:ChatGPT 校對:wxy

本文由 LCTT原創編譯,Linux中國榮譽推出