自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

5個為 Linux 高級用戶準備的也是最常用的開源 shell

系統(tǒng) Linux
Linux有許多shell可用,但在本文中,我們只包括前五種Linux shell,并全面討論它們的特性。

[[413521]]

Linux有許多shell可用,但在本文中,我們只包括前五種Linux shell,并全面討論它們的特性。

Linux為那些總在尋找新工具包的高級用戶提供了一些最好的開源shell。Linux中不同類型的shell提供了不同的功能,但在其核心,它們基本上實現(xiàn)了幾十年前開發(fā)的思想。

什么是Linux Shell

在 Linux 中,shell 是操作系統(tǒng)中執(zhí)行其他程序的命令解釋器。它為計算機用戶提供了 Linux 系統(tǒng)的接口,以便用戶可以使用一些輸入數(shù)據(jù)運行不同的命令或?qū)嵱贸绦颉?/p>

簡單來說,shell 是一個程序,它從鍵盤接收命令并將它們交給操作系統(tǒng)來執(zhí)行。它接受純文本格式的命令并調(diào)用操作系統(tǒng)服務(wù)來做某事。

但是 shell 不僅僅是一個命令解釋器。它也是一種完整的編程語言,具有自己的結(jié)構(gòu),例如變量、循環(huán)、條件執(zhí)行、函數(shù)等等。

每個 shell 都有自己的語法和腳本功能。那么,讓我們來看看 Linux 上最常用的五個開源 shell。

1、Bash Shell

Brian Fox 于 1988 年為 GNU 項目開發(fā)了 Bash 作為 Bourne shell 的免費版本。Bash 與原始版本類似,但增加了命令行編輯等功能。

因為 Bash 是標準的 GNU shell,所以它成為了所有 Linux 發(fā)行版上的標準 shell?,F(xiàn)在大多數(shù)現(xiàn)代 Linux 發(fā)行版都默認提供 Bash shell。這個開源 Linux shell 在社區(qū)中以其強大的功能集和可用性而聞名。該名稱是“Bourne-Again SHell”的首字母縮寫。

Bash 被認為如此強大的原因之一是因為它是可編寫腳本的。shell 腳本是隔離的命令列表,以優(yōu)化任何任務(wù)并具有成本效益,類似于具有明確定義標準的其他編程語言。您可以手動在 Bash 中輸入任何內(nèi)容,也可以在純文本文件中列出并讓 Bash 為您運行。

學習 Bash 對于執(zhí)行自動化非常有用。它非常強大,并具有許多功能,例如:

  •  目錄操作
  •  工作管理(Job Control )
  •  花括號擴展(brace expansion)
  •  波浪號擴展(Tilde expansion)
  •  別名
  •  命令歷史
  •  命令行編輯
  •  鍵綁定
  •  集成編程功能
  •  控制結(jié)構(gòu)
  •  內(nèi)置插件的動態(tài)加載

Linux 內(nèi)核的創(chuàng)建者 Linus Torvalds 說,他 1991 年在新內(nèi)核上運行的前兩個程序是 Bash 和 gcc,GNU 的編譯器。

2、Zsh Shell

Zsh(Z shell 的縮寫)是 Bourne Shell 的擴展版本,具有許多新功能并支持插件和主題。它是一個高度可定制的 Linux shell,其中包含一些非常強大的功能,例如選項卡完成、智能歷史記錄、遠程文件擴展等等。Zsh 是一種專為交互使用而設(shè)計的 shell,盡管它也是一種強大的腳本語言。Bash、Ksh 和 Tcsh 的許多有用功能都已合并到 Zsh 中并添加到它們之上。

Zsh 由 Paul Fastad 于 1990 年開發(fā),zsh 名稱來自耶魯大學教授宗紹。它已成為 Linux 操作系統(tǒng)最流行的 shell 之一。

一些更重要的 Zsh 函數(shù)是:

  •  命令自動完成
  •  改進的變量處理
  •  拼寫更正
  •  共享命令歷史
  •  環(huán)境變量設(shè)置簡單
  •  定制

當您使用 Linux 時,大部分用戶時間都花在終端上。如果您想自定義您的終端并使其看起來專業(yè),您可以使用 Oh My Zsh 來實現(xiàn)此目標。它是一個社區(qū)驅(qū)動的開源框架,可用于管理 Zsh 配置。Zsh還有其他框架,如Prezto、Zgen、Antigen等。目前Oh My Zsh能夠支持150個主題和275個插件。

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

相關(guān):https://www.linuxmi.com/ubuntu-20-04-zsh.html

3、Fish

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

基于歷史的Fish內(nèi)聯(lián)自動建議開箱即用。使用您的歷史記錄,F(xiàn)ish 提出了完成命令的下一個可能性。

這個 shell 比經(jīng)典的 Bash shell 更加豐富多彩。您會很快注意到 Fish 在您鍵入時執(zhí)行語法高亮顯示。這些顏色以及更多顏色可以通過運行 fish_config 來更改。這將打開一個基于 Web 的 GUI,您可以在其中選擇顏色主題并配置外殼的外觀。

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

Fish shell特點:

  •  基于歷史的內(nèi)聯(lián)自動建議
  •  出色的標簽完成
  •  語法高亮
  •  直觀的通配符支持
  •  基于網(wǎng)絡(luò)的配置
  •  健全的腳本

對于使用 zsh、bash 等其他 shell 的用戶來說,如果他們想嘗試一個新的、有利的 shell,F(xiàn)ish是非常強大和有用的 Linux shell。

相關(guān):FISH:為90后準備的Linux shell    https://www.linuxmi.com/fish-linux-shell.html

4、Ksh shell

Ksh(Korn shell 的縮寫)由 AT&T 貝爾實驗室的 David Korn 發(fā)明,并于 1986 年開始公共生活。它是 Bourne shell 的重新實現(xiàn)。Ksh shell 的命令編輯器界面支持快速、輕松地糾正輸入錯誤,以及輕松調(diào)用和重用命令歷史記錄。它不提供命令補全,但提供文件名補全。Ksh 允許開發(fā)人員在需要時創(chuàng)建新的 shell 命令。

Ksh shell 的命令行編輯模式是一開始往往會吸引人們使用它的功能。使用命令行編輯,返回并修復(fù)錯誤要容易得多。另一個主要面向交互式用戶的主要 Ksh 功能是作業(yè)控制。

一些更重要的 Ksh 函數(shù)是:

  •  作業(yè)控制
  •  別名
  •  功能
  •  命令歷史
  •  命令行編輯
  •  集成編程功能
  •  控制結(jié)構(gòu)
  •  調(diào)試原語
  •  常用表達
  •  高級 I/O 功能

Ksh shell 已經(jīng)發(fā)布了不同的版本,如 pdksh、mksh、ksh88 和最新的 ksh93。

5、Tcsh Shell

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

Tcsh 由 Ken Greer 于 1979 年在卡內(nèi)基梅隆大學開發(fā)。tcsh 中的“t”來自 TENEX 中的“T”,TENEX 是 BBN 于 1969 年為 PDP-10 大型計算機家族開發(fā)的操作系統(tǒng)。

早期版本的 MacOS X 附帶 tcsh 作為默認 shell,但新版本的默認值變成了 Bash?,F(xiàn)在 tcsh 是 FreeBSD 的默認 root shell。

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

總結(jié)

幫助 Linux 發(fā)行版確保其當前地位的基本功能之一是 Linux shell。掌握 Linux shell 為您提供了一種與操作系統(tǒng)交互的替代方式。我們鼓勵讀者根據(jù)他們的要求嘗試其中的一些 shell,并為自己獲得第一手經(jīng)驗。 

 

責任編輯:龐桂玉 來源: Linux公社
相關(guān)推薦

2021-12-20 09:29:42

LinuxFreeDOS命令

2016-03-30 11:16:33

2024-01-29 18:02:46

2023-11-27 13:57:00

Linux用法

2012-11-16 13:47:15

ASOiOS 6

2023-11-30 16:25:21

2020-03-31 14:00:29

Python 開發(fā)工具

2020-04-21 09:16:47

開源Linux Shell

2020-04-22 15:45:59

Linux shellLinux命令

2024-01-22 13:53:00

Linux環(huán)境變量

2017-03-01 12:45:48

Linux網(wǎng)卡操作系統(tǒng)

2018-10-12 09:50:58

2022-01-06 09:41:45

區(qū)塊鏈比特幣技術(shù)

2024-02-26 00:00:00

stage函數(shù)進度

2009-06-10 21:58:51

Javascript常

2024-03-18 15:04:02

物聯(lián)網(wǎng)通信協(xié)議IOT

2018-04-02 11:59:04

Linux命令ln

2018-06-21 15:17:15

機器學習

2024-10-16 15:25:15

2019-02-18 15:05:16

Python內(nèi)置函數(shù)索引
點贊
收藏

51CTO技術(shù)棧公眾號