目錄
1、Bash Shell" >1、Bash Shell
2、Zsh Shell" >2、Zsh Shell
#3、Fish" >#3、Fish
4、Ksh shell" >4、Ksh shell
5、Tcsh Shell" >5、Tcsh Shell
總結" >總結
首頁 系統教程 Linux Linux shell 大比拼:五種流行的命令列介面的特性和優勢

Linux shell 大比拼:五種流行的命令列介面的特性和優勢

Feb 11, 2024 pm 12:50 PM
linux linux教程 linux系統 linux指令 shell腳本 嵌入式linux linux入門 linux學習

Linux shell 是作業系統中執行其他程式的命令解釋器,也是一種完整的程式語言,具有自己的語法和結構。 Linux shell 可以讓使用者透過輸入文字指令來控制和管理系統,實現各種功能和任務。 Linux 有許多不同類型的 shell 可供選擇,它們各有優缺點,適用於不同的使用者和場景。本文將為你介紹 Linux 上最常用的五個開源 shell,它們分別是:

  • Bash shell:GNU 專案開發的 Bourne shell 的免費版本,是所有 Linux 發行版上的標準 shell,具有強大的腳本功能和可用性。
  • Zsh shell:Bourne shell 的擴展版本,具有許多新功能並支援插件和主題,是一種高度可自訂的 Linux shell。
  • Fish shell:一個現代命令列介面,具有自動建議、選項卡完成和語法突出顯示,是一種智慧且使用者友好的 Linux shell。
  • Ksh shell:AT&T 貝爾實驗室開發的 Bourne shell 的重新實現,具有命令列編輯、作業控制等功能,是一種經典且穩定的 Linux shell。
  • Tcsh shell:使用 vanilla C 語法模型的 C Shell 的增強版本,具有別名、歷史記錄、檔案名稱補全等功能,是適合 C 和 C 程式設計師的 Linux shell。

1、Bash Shell

Brian Fox 於 1988 年為 GNU 計畫開發了 Bash 作為 Bourne shell 的免費版本。 Bash 與原始版本類似,但增加了命令列編輯等功能。

因為 Bash 是標準的 GNU shell,所以它成為了所有 Linux 發行版上的標準 shell。現在大多數現代 Linux 發行版都預設提供 Bash shell。這個開源 Linux shell 在社群中以其強大的功能集和可用性而聞名。該名稱是“Bourne-Again SHell”的縮寫。

Linux shell 大比拼:五种流行的命令行界面的特点和优势

Bash 被認為如此強大的原因之一是因為它是可編寫的腳本。 shell 腳本是隔離的命令列表,以優化任何任務並具有成本效益,類似於具有明確定義標準的其他程式語言。您可以手動在 Bash 中輸入任何內容,也可以在純文字檔案中列出並讓 Bash 為您運行。

學習 Bash 對於執行自動化非常有用。它非常強大,並具有許多功能,例如:

  • 目錄操作
  • 工作管理(Job Control )
  • # 花括號擴充(brace expansion)
  • 波浪號擴充(Tilde expansion)
  • 別名
  • 命令歷史
  • 命令列編輯
  • 鍵綁定
  • 整合編程功能
  • 控制結構
  • 內建外掛程式的動態載入

Linux 核心的創建者 Linus Torvalds 說,他 1991 年在新核心上運行的前兩個程式是 Bash 和 gcc,GNU 的編譯器。

2、Zsh Shell

#Zsh(Z shell 的縮寫)是 Bourne Shell 的擴充版本,具有許多新功能並支援外掛程式和主題。它是一個高度可自訂的 Linux shell,其中包含一些非常強大的功能,例如選項卡完成、智慧歷史記錄、遠端檔案擴展等等。 Zsh 是一種專為互動使用而設計的 shell,儘管它也是一種強大的腳本語言。 Bash、Ksh 和 Tcsh 的許多實用功能都已合併到 Zsh 中並添加到它們之上。

Linux shell 大比拼:五种流行的命令行界面的特点和优势

Zsh 由 Paul Fastad 於 1990 年開發,zsh 名稱來自耶魯大學教授宗紹。它已成為 Linux 作業系統最受歡迎的 shell 之一。

一些更重要的 Zsh 函數是:

  • 指令自動完成
  • 改進的變數處理
  • 拼字更正
  • 共享命令歷史
  • 環境變數設定簡單
  • 客製化

當您使用 Linux 時,大部分使用者時間都花在終端機上。如果您想自訂您的終端並使其看起來專業,您可以使用 Oh My Zsh 來實現此目標。它是一個社群驅動的開源框架,可用於管理 Zsh 配置。 Zsh還有其他框架,如Prezto、Zgen、Antigen等。目前Oh My Zsh能夠支援150個主題和275個外掛程式。

Zsh 和 Bash 都有相似且令人印象深刻的功能,但也有自己獨特的工具。如果您正在尋找 bash 中沒有的可擴展性、更大的自訂和高級功能,zsh shell 是一個很好的選擇。此外,Zsh 是 macOS Catalina 中的預設登入 shell 和互動式 shell,取代了 Bash。

相關:https://www.linuxmi.com/ubuntu-20-04-zsh.html

#3、Fish

#Fish shell 是一個現代命令列介面,具有自動建議、選項卡完成和語法突出顯示。它是適用於 Linux 和 macOS 的智慧且使用者友好的命令列 shell。該shell 為使用者提供強大的功能和控制,而不會影響速度和效率。它旨在立即使用,無需進行大量配置。

Linux shell 大比拼:五种流行的命令行界面的特点和优势

基於歷史的Fish內嵌自動建議開箱即用。使用您的歷史記錄,Fish 提出了完成命令的下一個可能性。

這個 shell 比經典的 Bash shell 更豐富多彩。您很快就會注意到 Fish 在您鍵入時執行語法高亮顯示。這些顏色以及更多顏色可以透過執行 fish_config 來更改。這將開啟一個基於 Web 的 GUI,您可以在其中選擇顏色主題並配置外殼的外觀。

另一個很棒的功能是指令的可用性。例如,如果你輸入/usr/bin/linuxiac,它會以紅色顯示該行,表示它不是一個有效的命令,但你輸入/usr/bin/ping它看起來是正常的。

Fish shell特點:

  • 基於歷史的內嵌自動建議
  • 出色的標籤完成
  • 語法高亮
  • 直覺的通配符支援
  • 基於網路的設定
  • 健全的腳本

對於使用 zsh、bash 等其他 shell 的使用者來說,如果他們想嘗試一個新的、有利的 shell,Fish是非常強大且有用的 Linux shell。

相關:FISH:90後準備的Linux shell https://www.linuxmi.com/fish-linux-shell.html

4、Ksh shell

#Ksh(Korn shell 的縮寫)由 AT&T 貝爾實驗室的 David Korn 發明,並於 1986 年開始公共生活。它是 Bourne shell 的重新實作。 Ksh shell 的命令編輯器介面支援快速、輕鬆地修正輸入錯誤,以及輕鬆呼叫和重複使用指令歷史記錄。它不提供命令補全,但提供檔案名稱補全。 Ksh 允許開發人員在需要時建立新的 shell 命令。

Linux shell 大比拼:五种流行的命令行界面的特点和优势

Ksh shell 的命令列編輯模式是一開始往往會吸引人們使用它的功能。使用命令列編輯,返回並修復錯誤要容易得多。另一個主要面向互動式使用者的主要 Ksh 功能是作業控制。

一些更重要的 Ksh 函數是:

  • 作業控制
  • 別名
  • 功能
  • 命令歷史
  • 命令列編輯
  • 整合編程功能
  • 控制結構
  • 調試原語
  • 常用表達
  • 進階 I/O 功能

Ksh shell 已經發布了不同的版本,例如 pdksh、mksh、ksh88 和最新的 ksh93。

5、Tcsh Shell

#在最初的 Linux 時代,C 和 C 程式語言非常流行,而 Linux 本身的大部分內容都是用它們寫的。不出所料,出現了一個新的 shell,即使用 vanilla C 語法模型的 C Shell。 Tcsh 是 Berkeley UNIX csh (C Shell) 的增強但完全相容的版本。它是一種命令語言解釋器,可用作互動式登入 shell 和 shell 腳本命令處理器。 Tcsh 可以被認為是下一代 C shell。

Linux shell 大比拼:五种流行的命令行界面的特点和优势

Tcsh 由 Ken Greer 於 1979 年在卡內基美隆大學開發。 tcsh 中的“t”來自 TENEX 中的“T”,TENEX 是 BBN 於 1969 年為 PDP-10 大型電腦家族開發的作業系統。

早期版本的 MacOS X 附帶 tcsh 作為預設 shell,但新版本的預設值變成了 Bash。現在 tcsh 是 FreeBSD 的預設 root shell。

Tcsh 的主要功能是可編程命令完成和命令列編輯。它在鮮明的簡單性和基本功能之間取得了很好的平衡。使用 tcsh 所需的所有文件都位於 man tcsh 中,而不是散佈在各種幫助程式中。

總結

透過本文的介紹,你應該已經對這五種 Linux shell 有了一個全面且深入的了解。它們都是在 Linux 上執行命令和編寫腳本的有用工具,可以幫助你提高效率和靈活性。當然,這只是我們精心挑選的一小部分 shell,Linux 的軟體倉庫中還有很多其他優秀的 shell 等待你去發現和嘗試。我們建議你根據你自己的需求和喜好去探索和安裝更多的 Linux shell,讓你的 Linux 命令列介面更加強大和個人化。

以上是Linux shell 大比拼:五種流行的命令列介面的特性和優勢的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

vscode需要什麼電腦配置 vscode需要什麼電腦配置 Apr 15, 2025 pm 09:48 PM

VS Code 系統要求:操作系統:Windows 10 及以上、macOS 10.12 及以上、Linux 發行版處理器:最低 1.6 GHz,推薦 2.0 GHz 及以上內存:最低 512 MB,推薦 4 GB 及以上存儲空間:最低 250 MB,推薦 1 GB 及以上其他要求:穩定網絡連接,Xorg/Wayland(Linux)

Linux體系結構:揭示5個基本組件 Linux體系結構:揭示5個基本組件 Apr 20, 2025 am 12:04 AM

Linux系統的五個基本組件是:1.內核,2.系統庫,3.系統實用程序,4.圖形用戶界面,5.應用程序。內核管理硬件資源,系統庫提供預編譯函數,系統實用程序用於系統管理,GUI提供可視化交互,應用程序利用這些組件實現功能。

vscode終端使用教程 vscode終端使用教程 Apr 15, 2025 pm 10:09 PM

vscode 內置終端是一個開發工具,允許在編輯器內運行命令和腳本,以簡化開發流程。如何使用 vscode 終端:通過快捷鍵 (Ctrl/Cmd ) 打開終端。輸入命令或運行腳本。使用熱鍵 (如 Ctrl L 清除終端)。更改工作目錄 (如 cd 命令)。高級功能包括調試模式、代碼片段自動補全和交互式命令歷史。

vscode在哪寫代碼 vscode在哪寫代碼 Apr 15, 2025 pm 09:54 PM

在 Visual Studio Code(VSCode)中編寫代碼簡單易行,只需安裝 VSCode、創建項目、選擇語言、創建文件、編寫代碼、保存並運行即可。 VSCode 的優點包括跨平台、免費開源、強大功能、擴展豐富,以及輕量快速。

git怎麼查看倉庫地址 git怎麼查看倉庫地址 Apr 17, 2025 pm 01:54 PM

要查看 Git 倉庫地址,請執行以下步驟:1. 打開命令行並導航到倉庫目錄;2. 運行 "git remote -v" 命令;3. 查看輸出中的倉庫名稱及其相應的地址。

notepad怎麼運行java代碼 notepad怎麼運行java代碼 Apr 16, 2025 pm 07:39 PM

雖然 Notepad 無法直接運行 Java 代碼,但可以通過借助其他工具實現:使用命令行編譯器 (javac) 編譯代碼,生成字節碼文件 (filename.class)。使用 Java 解釋器 (java) 解釋字節碼,執行代碼並輸出結果。

Linux的主要目的是什麼? Linux的主要目的是什麼? Apr 16, 2025 am 12:19 AM

Linux的主要用途包括:1.服務器操作系統,2.嵌入式系統,3.桌面操作系統,4.開發和測試環境。 Linux在這些領域表現出色,提供了穩定性、安全性和高效的開發工具。

sublime寫好代碼後如何運行 sublime寫好代碼後如何運行 Apr 16, 2025 am 08:51 AM

在 Sublime 中運行代碼的方法有六種:通過熱鍵、菜單、構建系統、命令行、設置默認構建系統和自定義構建命令,並可通過右鍵單擊項目/文件運行單個文件/項目,構建系統可用性取決於 Sublime Text 的安裝情況。

See all articles