Care este coaja de bash și de ce este atât de important pentru Linux?

May 19, 2025
General
FatmAwati Achmad Zaenuri / Shutterstock.com

Coaja de bash are vârsta de peste 30 de ani și continuă să fie puternică. Ce face, de unde a venit și de ce este încă cea mai comună coajă pe sistemele Linux?

Ce este o coajă?

Când deschideți o fereastră terminală și comenzi de tip, ceva trebuie să ia ceea ce ați scris, să vă dați seama ce intenționați și să executați sarcinile pe care le-ați cerut. Software-ul care face acest lucru este coaja. O cochilie este un interpret de comandă. Scanează ceea ce ați introdus și scoateți comenzile, numele directorului, numele fișierelor și numele programelor, astfel încât să vă ducă să aflați ce încercați să obțineți.

Oamenii folosesc adesea frazele "Windows terminal", "linia de comandă" și "coajă" interschimbabil, dar sunt trei lucruri distincte. O fereastră terminală este o reprezentare software a unui fizic Terminalul TELETYPE. . Vă oferă o conexiune la computer. Pentru a face ceva util, trebuie să puteți introduce instrucțiuni la o linie de comandă. Linia de comandă este furnizată de cochilie, iar fereastra Terminal vă permite să accesați carcasa.

Shells vă permit, de asemenea, să faceți parcelă o colecție de comenzi într-un fișier text numit un script. Toate comenzile din script sunt executate pentru dvs. de fiecare dată când executați scenariul. Scripturile oferă eficiența, repetabilitatea și comoditatea.

Primul Unix. Shell era Thompson Shell. , numit SH . A fost scrisă de Ken Thompson. , care este posibil cel mai important membru cheie al părinților fondatori inițial inițial la Bell Labs. . Cochilia Thompson a fost folosită ca o coajă UNIX implicită până la versiunea Unix 6. A fost înlocuită de Bourne Shell. În versiunea 7 a Unix în 1979.

LEGATE DE: Ce este Unix, și de ce contează?

Cochilia Bourne.

Cochilia Bourne, scrisă de Stephen Bourne. , a fost o înlocuire modernizată pentru coaja Thompson. Sa început chiar și folosind aceeași comandă ca și cochilia Thompson, SH , Pentru a menține compatibilitatea înapoi cu scripturile existente. Compatibilitatea înapoi a fost importantă, dar au fost incluse noi caracteristici care au oferit multă funcționalitate pe care o folosim astăzi.

Shell Bourne a fost o coajă interactivă și un limbaj de scripting. A sprijinit în prim plan și o sarcină de fond și controlul elementar al locurilor de muncă. Au fost adăugate țevi și redirecționarea, împreună cu îmbunătățiri ale buclelor de manipulare.

Shell-ul conține acum câteva comenzi încorporate, ceea ce înseamnă că nu a trebuit să treacă totul la utilități externe, făcându-l mai eficient. Cochilia Bourne chiar acceptată "Aici documente" o modalitate elegantă de a automatiza trimiterea datelor în comenzi.

Bacul Bourne a ridicat barul și a devenit noul standard.

LEGATE DE: Cum se utilizează "aici documente" în Bash pe Linux

Nașterea bash

În 1984, când Proiectul GNU. și-a anunțat intenția de a face o clonă Unix gratuit scrisă de la pământ în sus și cu a Noua licențiere permisivă Echipa avea nevoie de o cochilie. Când un voluntar care lucrase la o cochilie pentru proiectul GNU nu a reușit să livreze nimic, deloc, Brian Fox. a fost însărcinată cu scrierea unei clone a cochiliei burine.

A fost numit Bourne din nou coajă , sau bash. Acest lucru a fost parțial în omagiu pentru Stephen Bourne și parțial WordPlay de dragul ei. După eliberarea sa în 1989, Chet Ramey a contribuit cu unele remedii de bug-uri la bash. El a devenit în cele din urmă un co-întreținător al cochiliei de bash. În zilele noastre, el este încă întreținătorul proiectului Bash.

Linus torvalds. , Creatorul kernelului Linux, a spus că primele două programe pe care le-a fugit la noul său kernel în 1991 au fost bash și GCC. , Compilerul lui Gnu. . Asocierea utilităților GNU cu kernelul Linux a fost reciproc avantajoasă. Sistemul de operare GNU a avut nevoie de un kernel, iar kernelul Linux avea nevoie de altceva care constituie o clonă UNIX.

Deoarece Bash este coaja GNU standard, a devenit coaja standard pe toate distribuțiile GNU / Linux. Linux a înflorit până la punctul în care stau acum la un an Suma uimitoare a lumii moderne . Shell Bash a survenit și valul de succes.

Bash încorporează și se îmbunătățește pe setul de caracteristici al cochiliei Bourne, dar, de asemenea, sa inspirat din alte cochilii, cum ar fi C shell. ( csh. ) si Kornshell. ( KSH. ). De exemplu, extinderea tildei " ~ "La valoarea deținută în $ HOME Variabila de mediu provine din cochilia C și FC. Comanda care invocă editorul implicit la comenzile din Istoria comenzii vine de la Kornshell.

Bash a introdus fișiere de configurare, cum ar fi Fișierele ".bashrc" și ".bash_profile" . Editarea liniei de comandă pe bash a depășit capacitățile de cochilii anterioare. Manipularea comenzilor executate anterior în istoria comenzii a fost o versiune îmbunătățită a caracteristica "Bang Istoric" de cochilii C. Expansiunea Brace a fost o caracteristică care lipsea din cochilia Bourne care a fost implementată în Bash ca o supersetă a funcționalității găsite în cochilia C. Arrays au fost îmbunătățite prin eliminarea limitelor de mărime. Expansiunea parametrilor în promptul de comandă permite utilizatorilor să-și personalizeze promptul de bash.

Cochilia de bash își propune să fie compatibilă cu POSIX P1003.2 / ISO 9945.2 Shell și utilități standard.

LEGATE DE: Linux Kill Kill Commercial Unix?

De ce bash este încă important

Omar Tursic / Shutterstock.com

Bash nu ar fi putut să-l ducă pe această lungă perioadă de 30 de ani - ca o coajă de Linux implicită dacă nu era la locul de muncă. Datorită duratei sale de viață îndelungată și a bazei masive de utilizare, bashul este matur și foarte stabil. Există multe cochilii alternative disponibile, de la veterani precum cochilia C și Kornshell la cochilii mai noi ca Z coajă ( Zsh. ) si CHELLY interactivă prietenoasă ( peşte ). Atât coaja Z, cât și cochilia de pește au unele caracteristici care Bash nu are și modalități mai bune de a obține unele dintre aceleași lucruri pe care le face Bash. Deci, de ce este bash încă coaja dominantă?

Din toate mașinile Linux am fost chemat vreodată să administreze, nu-mi amintesc un singur care nu avea bash ca coajă. Mașini UNIX, da, dar cutii Linux, nr. Este bash de fiecare dată. Această familiaritate vă permite să faceți să lucrați repede și să fiți imediat departe. Știți deja Bash, deci nu există o curbă de învățare. Nu primiți Hamstrung de mici diferențe în sintaxa care vă duc în cercuri care încearcă să-și dea seama de ce ceva nu funcționează. Timpul petrecut imaginând ceea ce ar trebui să fie incantația acest Shell este timpul mort, deci este în interesul afacerii clientului să utilizeze o coajă bine cunoscută și utilizată pe scară largă.

Folosind o cochilie care este-sau încearcă foarte mult să fie compatibilă cu mai multe distribuții Linux, dar ceea ce contează mai mult este compatibilitatea cu versiunile anterioare. Efectuarea de schimbări care ar putea sparge scripturile existente este evident neatractivă. Atractiv sau nu, uneori, trebuie doar să muști glonțul. La 3 septembrie 1967, Suedia a schimbat de la conducere la stânga la conducere pe dreapta. La ora 4:50 a.m., tot traficul a trebuit să se oprească, să se întoarcă încet pe cealaltă parte a drumului și să se oprească încă o dată. La ora 5:00 a.m., traficul ar putea continua, cu toată lumea care conduce acum în dreapta.

Va fi înlocuit vreodată?

Ceea ce ar putea părea de neconceput acum se poate întâmpla de fapt mai târziu. Dacă nu vrem să ne agățim de convingerea că vom folosi cu toții bash până la doomsday, adevărul este probabil că într-o zi, Bash va fi înlocuit ca o carcasă implicită Linux - fie că este încă coajă standard GNU sau nu. Sau poate că va fi bash, dar este îmbunătățită cu mult dincolo de cochilie pe care o folosim astăzi. Dar ceea ce ia locul bash de astăzi va trebui fie să fie complet (sau foarte aproape) compatibil înapoi sau merită răsturnarea, indiferent de beneficiile.

Acest lucru nu este fără precedent. De cand Versiunea 10.15. de Macos. , Apple a scăzut bash și a adoptat coaja Z ca coajă implicită. Apple are probleme cu licența publică generală GNU (GPL) V.3. Din păcate, aceasta este licența pe care o folosește Bash. Ultima versiune de Bash a fost lansată în conformitate cu GPL V2 a fost versiunea 3.2 a lui 2007. Versiunea curentă este de 5.1. Apple era aproape un deceniu și jumătate în urmă. Singura modalitate prin care Apple ar putea include o coajă actualizată fără să se deplaseze la GPL V.3 a fost să se mute într-o altă cochilie cu totul. La Apple, care merita răsturnarea. (Cu toate acestea, puteți Comutați înapoi la Bash pe MacOS Dacă o preferați!)

Există o lume de diferență între stația de lucru a utilizatorului de putere și un server Linux Linux de la Business, pe care trebuie să-l administrați de la distanță Peste o conexiune SSH . Din aproape 1,5 milioane de servere găzduite de Amazon EC2, Peste 93% rulează Linux . Aproape 75% din serverele web rulează Linux. . Organizații precum Red Hat, Amazon și Google utilizează Linux In-House.

Este greu să vă imaginați ce beneficii ar putea oferi o nouă coajă care să justifice acest tip de răsturnare globală. De aceea, bashul este cimentat în loc.

Chiar și Microsoft oferă acum o cale de a Rulați o coajă de bash bazată pe Linux pe Windows 10 A!


General - Cele mai populare articole

Care este diferența dintre lumina tare și cea moale în fotografie?

General May 11, 2025

Harry Guinness. În fotografie, există două tipuri de lumină: lumină tare și lumină moale. Să ne uităm la diferența dintre ele și de ce contează. ..


Cum să vezi istoricul prețului Amazon al unui produs

General Jun 21, 2025

Andrii Yalanskyi / Shutterstock Prețurile la Amazon schimba constant. Cunoașterea istoriei prețurilor vă poate oferi o margine în Găsire..


De ce fotografii spun că zilele tulbure sunt cele mai bune pentru fotografie?

General Jul 31, 2025

Harry Guinness. În timp ce oamenii normali iubesc zilele însorite cu cer albastru strălucitor, cei mai mulți fotografi preferă zile tulbure sau acoperit..


3 Instrumente de distracție Linux pentru a rula pe Windows 10 cu WSL

General Aug 25, 2025

Microsoft. Ți-am arătat Cum se instalează un terminal Linux în Windows 10 cu subsistemul Windows pentru Linux. Dar acum că aveți această interfață d..


Cum se fixează "Acest site utilizează memorie semnificativă" pe un Mac

General Aug 23, 2025

WaveBreakMedia / Shutterstock.com. Mac dvs. are doar o cantitate finită de memorie disponibilă, deci dacă un proces începe să utilizeze mai mult decât co..


Cum se actualizează Windows 11

General Aug 23, 2025

Când utilizați un PC cu Windows 11. , este important să vă actualizați sistemul de operare actualizat. Actualizări Fix Bugs, Adăugați noi caracteristici și Protej..


Cum să utilizați comanda "Da" pe un Mac

General Aug 20, 2025

Garagestock / Shutterstock.com. În da Comandamentul a fost inclus în primul rând în lansarea BSD 4.0 în 1993 și există încă în sistemele d..


Care sunt orele de aur și albastre în fotografie?

General Sep 2, 2025

Harry Guinness. Ați auzit că fotografii folosesc frazele "Ora de Aur" sau "ora albastră" atunci când discută despre fotografie. Deci, ce și când sunt ..


Categorii