Bash sună ca un nume ciudat pentru o interfață de linie de comandă care salută utilizatorii care se conectează la orice distribuție Linux. Ce este mai exact Bash? La ce il poti folosi? Să aflăm.
În timp ce Bash este de obicei asociat cu Linux, puteți să folosește-l pe Windows de asemenea. macOS include deja Bash, deși a schimbat shell-ul implicit în Zsh – o versiune avansată a Bash cu câteva funcții suplimentare.
Ce este un Shell?
Termenul Bash shell este folosit foarte mult, dar ce este un shell? De ce este nevoie? Și de ce Bash pare să fie singurul shell de acolo?
Sistemele de operare moderne cu interfețele lor grafice intuitive au făcut ca utilizarea unui computer să pară ușoară. Dar, în primele zile ale computerelor, a-i spune unui sistem ce să facă nu era atât de simplu.
Programatorii trebuiau să cunoască detaliile de nivel scăzut ale sistemului pentru care codificau și să instruiască manual fiecare piesă de hardware. Sistemele de operare au fost concepute pentru a reduce acest decalaj, dar cum ați instrui sistemul de operare în sine?
Intră în Shell. Stratul exterior al sistemului de operare a fost proiectat pentru a fi un mediu interactiv care să expună toate funcționalitățile computerului într-o interfață simplă. Acest shell a fost cel mai departe în care un utilizator al computerului a trebuit să se aprofundeze, deoarece conținea toate comenzile necesare pentru a opera sistemul.
Bourne din nou: cum a apărut Bash
O concepție greșită comună este că Bash a fost creat de Linus Torvalds pentru sistemul de operare Linux. În realitate, Bash a fost doar portat în Linux, fiind deja folosit în predecesorul său, Unix.
În multe privințe, Unix este locul unde a început totul pentru sistemele de operare moderne. A îndepărtat o mare parte din complexitatea complicată care a afectat implementările timpurii ale sistemului de operare, prezentând funcțiile unui computer într-o interfață bazată pe text relativ simplă.
Desigur, Unix însuși a împrumutat majoritatea ideilor sale de la Multics, inclusiv conceptul de shell. Dar Unix a fost cel care a popularizat de fapt tehnica, Thompson Shell fiind lansat cu prima sa versiune.
Totuși, funcționalitatea sa a fost destul de limitată și mulți programatori au ajuns să modifice shell-ul pentru a o face mai prietenoasă cu scripturile. Bourne Shell a fost înlocuitorul oficial al shell-ului Unix, adăugând suport pentru scripturile shell..
Bourne Again Shell a fost lansat mult mai târziu, oferind o îmbunătățire suplimentară a capacităților sale de scriptare și transformându-l într-un shell de licență GNU gratuit, open-source, care ar putea fi folosit de orice sistem de operare. Și a fost adoptat rapid de Linux, devenind shell-ul implicit pentru diversele sale distribuții.
Dar ce poate face Bash?
Bash este practic un mediu de scripting complet cu acces complet la sistemul Linux. De la gestionarea fișierelor până la rularea aplicațiilor, puteți efectua fiecare sarcină de calcul cu comenzile Bash.
Pentru majoritatea utilizatorilor Linux, acest lucru se traduce doar în comenzi manuale shell. La urma urmei, scopul principal al lui Bash este să servească drept interfață pentru sistemul de operare.
Și există destul de multe dintre aceste comenzi încorporate. Puteți gestiona proprietatea fișierelor cu chown, puteți configura setările de rețea cu ifconfig, puteți găsi directoare cu găsi – lista continuă.
Dar Bash nu ar exista dacă comenzile Linux ar fi tot ceea ce ar fi interesat utilizatorilor. Nu, adevărata putere a shell-ului Linux constă în scripting.
Importanța scriptării
Ideea de scriptare a comenzilor este simplă. În loc să introduceți manual toate comenzile pe care doriți să le execute sistemul una câte una, salvați comenzile într-un fișier text care poate fi rulat la cerere.
Acest lucru transformă interfața shell într-un fel de limbaj de programare, permițând utilizatorilor să automatizeze orice acțiune într-un script reutilizabil. Evident, merge mai departe, deoarece orice limbaj de programare are nevoie de lucruri precum variabile și funcții, pe lângă capacitatea de a salva cod.
Și Bash are toate aceste caracteristici. Acesta este motivul pentru care shell-ul – și într-o oarecare măsură, Linux în general – este atât de popular pentru gestionarea serverelor și a sistemelor comerciale.
Un utilizator acasă poate obține făcând clic pe o grămadă de butoane, dar un administrator de sistem trebuie să poată efectua orice acțiune pe un număr mare de computere de la distanță. Scripturile Bash fac posibil acest tip de management automat al sistemului.
De exemplu, luați în considerare ghidul nostru despre redenumirea fișierelor și folderelor pe Linux. Ghidul ilustrează ambele metode – GUI și script. După cum puteți vedea, metoda de scriptare este mult mai scalabilă atunci când există un număr mare de fișiere implicate.
Noțiuni introductive cu Bash.
Lucrul bun despre Bash este că nu se limitează numai la Linux. Acum puteți instalați Linux pe Windows prin Subsistemul Windows pentru Linux (WSL), care vine cu Bash în mod implicit.
Aceasta înseamnă că puteți începe să experimentați cu Bash fără a fi nevoie să treceți complet la Linux. Chiar dacă sunteți un utilizator ocazional care nu intenționează să lucreze cu servere Linux, capabilitățile interesante ale unui shell Bash vă pot fi utile.
Nu că Bash este singura opțiune pentru automatizarea sarcinilor de calcul. PowerShell este o interfață similară care funcționează cu Windows – în afară de ceea ce puteți gestiona cu promptul de comandă, desigur.