cs.phhsnews.com


cs.phhsnews.com / Jaký je rozdíl mezi Bash, Zsh a jinými systémy Linux?

Jaký je rozdíl mezi Bash, Zsh a jinými systémy Linux?


Většina distribucí Linuxu obsahuje standardní shell bash, ale můžete také přepnout do jiného prostředí shellu. Zsh je obzvláště populární alternativou a existují i ​​další mušle, jako je popel, pomlčka, ryby a tcsh. Ale jaký je rozdíl a proč je tolik?

Co dělají Shells?

Když se přihlásíte na příkazovém řádku nebo spustíte terminálové okno v systému Linux, systém spustí program shell. Shells nabízí standardní způsob rozšíření prostředí příkazové řádky. Můžete si vyměnit výchozí shell za jiný, pokud se vám to líbí.

První prostředí shellu bylo Thompson Shell vyvinuté v laboratořích Bell Labs a vydáno v roce 1971. Shell prostředí na tomto konceptu stavělo od té doby, nové funkce, funkčnost a vylepšení rychlosti.

Například Bash nabízí dokončení příkazu a názvu souboru, pokročilé funkce skriptování, historii příkazů, konfigurovatelné barvy, aliasy příkazů a řadu dalších funkcí, které nebyly k dispozici zpět v roce 1971, kdy byla uvolněna první skořepina.

Skořápka se také používá na pozadí různými systémovými službami. Distribuce Linuxu obsahují mnoho funkcí napsaných jako shell skripty. Tyto skripty jsou příkazy a další pokročilé shell skriptovací funkce běží skrz prostředí shellu

Shells vedoucí až do Bash: sh, csh, tsh a ksh

SOUVISEJÍCÍ: Co je Unix a proč to záleží ?

Nejvýznamnějším původcem moderních skořápek je shell Bourne - známý také jako "sh" - který byl pojmenován podle svého tvůrce Stephena Bourne, který pracoval v laboratořích AT & T Bell. Vydáno v roce 1979, stalo se výchozím příkazem-tlumočníkem v Unixu díky podpoře výměny příkazů, potrubí, proměnných, testování stavu a smyčkování spolu s dalšími funkcemi. Nevyžadovala příliš mnoho přizpůsobení pro uživatele a nepodporovala takové moderní chyby jako aliasy, dokončení příkazu a funkce shellu (ačkoli tato poslední byla nakonec přidána).

C shell nebo "csh" byl vyvinut v pozdních sedmdesátých letech Bill Joy z Kalifornské univerzity v Berkley. Přidala mnoho interaktivních prvků, pomocí kterých mohou uživatelé ovládat své systémy, jako jsou aliasy (zkratky pro dlouhé příkazy), schopnosti správy pracovních pozic, historie příkazů a další. Byl modelován z programovacího jazyka C, do kterého byl napsán samotný operační systém Unix. To také znamenalo, že uživatelé shellu Bourne se museli naučit C, aby mohli zadávat příkazy. Kromě toho měl csh celkem několik chyb, které musely být vynakládány uživatelům i tvůrcům po delší dobu. Lidé skončili pomocí skriptu Bourne pro skripty, protože lépe zpracovávali neinteraktivní příkazy, ale pro normální použití používali shellu C.

V průběhu času mnoho lidí opravilo chyby a přidalo funkce do shellu C, které kulminovaly vylepšenou verzi csh známou jako "tcsh". Ale csh byl stále standardní v počítačích se systémem Unix a přidal některé nestandardní funkce. David Korn z Bell Labs pracoval na KornShell nebo "ksh", který se snažil zlepšit situaci tím, že byl zpětně kompatibilní s jazykem shellu Bourne, ale přidal mnoho funkcí z shell shell. Byl propuštěn v roce 1983, ale pod licencí vlastníka. To nebyl svobodný software až do roku 2000, kdy byl vydán pod různými licencemi s otevřeným zdrojovým kódem.

Narození bash

Rozhraní přenosného operačního systému pro Unix nebo POSIX bylo další reakcí na hektický proprietární csh implementací. Úspěšně vytvořil standard pro interpretaci příkazů (mimo jiné) a nakonec zrcadlil spoustu funkcí v KornShell. Současně se projekt GNU pokoušel vytvořit bezplatný operační systém kompatibilní s Unixem. Projekt GNU vyvinul svobodný softwarový shell jako součást svého volného operačního systému a nazval ho "Bourne Again Shell" nebo "bash".

Bash byl vylepšen v dekádách od jeho prvního vydání v roce 1989, ale je to stále standardní shell na většině distribucí Linuxu dnes. Je to také výchozí shell pro MacOS společnosti Apple a je k dispozici pro instalaci v systému Windows 10.

Novější Shells: popel, pomlčka, zsh a ryby

Zatímco komunita Linuxu se v uplynulých letech vyrovnává s Bash, vývojáři nepřestali vytvářet nové shelly, když Bash byl poprvé propuštěn před 28 lety.

Kenneth Almquist vytvořil Bourne shell clone známý jako Almquish shell, Shell, "popel", nebo někdy jen "sh". to bylo také POSIX kompatibilní a stal se výchozí shell v BSD, jiný větev Unixu. Skořápka popela je mnohem lehčí než bash, což ji dělá populární u vestavěných systémů Linux. Máte-li nainstalovaný telefon Android s nainstalovaným BusyBoxem - nebo jakékoliv jiné zařízení s sadou programů BusyBox - používá kód z popelu.

Debian vyvinul shell prostředí založené na popelu a nazval ho "pomlčkou". Je navržen tak, aby byl kompatibilní se standardem POSIX a lehký, takže je rychlejší než Bash, ale nebude mít všechny jeho funkce. Ubuntu používá jako pomůcku pomlčku jako výchozí shell pro neinteraktivní úlohy, urychluje shell skripty a další úkoly spuštěné na pozadí. Ubuntu stále používá bash pro interaktivní shell, ale uživatelé stále mají plnohodnotné interaktivní prostředí.

Jeden z nejpopulárnějších novějších shellů je Z shell nebo "zsh". Vytvořil Paul Falstad v roce 1990, zsh je shell ve stylu Bourne, který obsahuje funkce, které najdete v bash, plus ještě více. Například zsh má kontrolu pravopisu, schopnost sledovat přihlášení / odhlášení, některé vestavěné programovací funkce jako bytecode, podpora vědecké notace v syntaxi, umožňuje plovoucí aritmetiku a další funkce.

Další novější Shell je Friendly Interactive Shell nebo "ryba", která byla vydána v roce 2005. Má jedinečnou syntaxi příkazového řádku, která je navržena tak, aby byla trochu jednodušší učit se, ale nebyla odvozena ani od shellu Bourne, ani od shellu C. Je to zajímavý nápad, ale to, co se naučíte pomocí ryb, nemusí nutně pomoci při použití bash a dalších shellů pocházejících z Bourne.

Které byste si měli vybrat? (a proč Zsh je populární)

Nemusíte si vybrat shell. Váš operační systém si pro vás vybírá výchozí skořápku a tato volba je téměř vždy bash. Posaďte se před Linuxovou distribucí - nebo dokonce Mac - a téměř vždy budete mít prostředí bash shellu. Bash má poměrně málo pokročilých funkcí, ale pravděpodobně je nebudete používat, pokud nevypracujete shell skripty.

Na vestavěných systémech Linux nebo BSD skončíte s popílkem popela. Ale popel je shell Bourne a je do značné míry kompatibilní s bash. Jakékoli znalosti, které máte od použití bash, se přenášejí na použití popelu nebo pomlčky, ačkoli některé pokročilé skriptovací funkce nejsou k dispozici v této lehké shellu.

Téměř každý shell, se kterým se setkáte, je založen na Bourne a pracuje podobně - včetně zsh

Proto je zsh populární. Tento novější shell je kompatibilní s bash, ale obsahuje další funkce. Zsh shell nabízí vestavěnou opravu pravopisu, vylepšené dokončení příkazového řádku, načtené moduly, které slouží jako plug-iny pro váš shell, globální aliasy, které vám umožňují vytvářet názvy souborů aliasů nebo cokoli jiného na příkazovém řádku místo příkazů a více tematická podpora. Je to jako bash, ale s mnoha doplňky, dalšími funkcemi a konfigurovatelnými možnostmi, které byste si mohli uvědomit, pokud strávíte spoustu času na příkazovém řádku.

Pokud jste s bash obeznámeni, můžete přejít na zsh bez učení jinou syntax - získate další funkce. pokud jste obeznámeni s zsh, můžete přepnout na bash bez učení jiné syntaxe - prostě nebudete mít přístup k těmto funkcím.

"Oh My ZSH" je nástroj, který vám pomůže snadněji povolit zsh plug- ins a přepínat mezi premade themes, rychle přizpůsobit váš shell zsh, aniž byste museli trávit hodiny vylepšením.

Existují i ​​jiné shelly. Například, tcsh shell je stále kolem a je stále volbou. FreeBSD používá tsch jako výchozí kořenový shell a popel jako výchozí interaktivní shell. Používáte-li programování C pravidelně, může být tsch vhodnější pro vás. Nicméně, není to tak blízko, jak se běžně používá jako bash nebo zsh.

Jak přepínat mezi Shells

Je snadné přejít na nový shell a vyzkoušet to. Stačí nainstalovat shell ze správce balíčků distribuce Linuxu a zadejte příkaz k spuštění shellu.

Například řekněme, že chcete zkusit zsh na Ubuntu. Byl byste spustit následující příkazy pro instalaci a spustit:

sudo apt install zsh zsh

Pak byste seděli v zsh shellu. Zadejte "ukončete" na shellu, abyste ji opustili a vrátili se do vašeho současného shellu.

Toto je jen dočasné. Kdykoli otevřete nové okno terminálu nebo se přihlásíte do systému na příkazovém řádku, zobrazí se výchozí shell. Chcete-li změnit skořápku, kterou vidíte při přihlašování do vašeho přihlašovacího shellu, můžete obvykle použít příkazchshnebo "Change Shell".

Chcete-li použít tento příkaz, potřebujete najít úplnou cestu k vašemu shellu s tím příkazem. Řekněme například, že jsme se chtěli změnit na shell zsh. Spustili jsme následující příkaz:

který zsh

Na Ubuntu to nám říká, že binární zsh je uložen v souboru /usr/bin/zsh.

Zopakujte následující příkaz, zadejte heslo a vy ' budete vyzváni k výběru nového přihlašovacího shellu:

chsh

Podle výše uvedeného příkazu bychom zadali/ usr / bin / zsh. Zsh shell by pak byl naším výchozím nastavením, dokud neuděli příkazchsha změnili jej zpět.


Jak změnit svůj PayPal zůstatek do debetní karty Můžete strávit kdekoliv

Jak změnit svůj PayPal zůstatek do debetní karty Můžete strávit kdekoliv

PayPal je užitečná služba pro zasílání a přijímání peněz a je to téměř všude ... alespoň na internetu. Co když máte na svém účtu PayPal spoustu peněz a chcete ho použít někde, kde PayPal není nabízen ... jako skutečný obchod s cihly a maltami? Samozřejmě můžete převést peníze do banky, ale ty tři - na čtyřdenní čekací lhůtu k převodu finančních prostředků není příliš výhodné a není to vždy možnost - zvláště pokud jste freelancer, který dostane zaplaceno přes PayPal a máte účty zaplatit.

(how-top)

Jak změnit své zobrazované jméno na Twitter

Jak změnit své zobrazované jméno na Twitter

Na rozdíl od Facebooku Twitter nikdy nepožadoval, aby lidé používali své skutečné jména. Ve skutečnosti je dlouhá tradice, kdy lidé mění své jména na vtip nebo hůl, protože jsou to Vánoce nebo Halloween, nebo prostě bez důvodu. Právě tento týden polovina pracovníků How-To Geek změnila své jméno na Justina Hrnce, jen abych naštval pravý Justin Pot.

(how-top)