Shell Unix / Linux 101

Autor: Eugene Taylor
Data Creației: 11 August 2021
Data Actualizării: 22 Iunie 2024
Anonim
Shell Scripting Tutorial | Shell Scripting Crash Course | Linux Certification Training | Edureka
Video: Shell Scripting Tutorial | Shell Scripting Crash Course | Linux Certification Training | Edureka

Conţinut



Sursa: Tomasz Bidermann / Dreamstime.com

La pachet:

Shellurile Unix și Linux sunt foarte puternice și extrem de personalizabile.

Linia de comandă a sistemelor Unix și Linux este deja foarte puternică, dar shell-urile sunt un instrument și mai puternic decât satisface ochiul. Puteți să le personalizați și să le schimbați în conținutul inimii dvs., atât timp cât știți cum.

Ce este o scoică?

Aproape fiecare manual Unix și Linux are diagrama standard a unui înveliș înveliș în jurul sistemului de operare, asemănător cu un fel de candy bar. În realitate, shell-ul nu este altceva decât o interfață între sistemul de operare, inclusiv nucleul, sistemul de fișiere și diferitele apeluri de sistem și utilizator. Timp de mulți ani, a fost singura interfață de utilizator interactivă înainte ca interfețele grafice să devină comune în anii '80. Interfețele grafice pentru utilizatori ar putea fi, de asemenea, considerate un tip de shell, deoarece servesc multe dintre aceleași funcții: lansarea programelor, configurarea sistemului și gestionarea fișierelor.

Aceste interfețe cu umilime au o putere surprinzătoare. În primul rând, sunt limbaje de programare pe deplin. Înainte de apariția unor limbaje de scripturi și mai puternice precum Python, scripturile shell erau ideale pentru scrierea programelor care nu aveau neapărat nevoie de puterea lui C. Sunt încă utile pentru automatizarea sarcinilor sistemului și pentru prototiparea rapidă.

De asemenea, au o serie de caracteristici care facilitează colaborarea și găsirea fișierelor. Unul dintre cele mai utilizate este „wildcarding” sau „globbing”. Aproape toți utilizatorii Unix și Linux sunt familiarizați cu cardul „*” pentru a se potrivi cu orice caracter. Aceasta este de fapt sarcina scoici. Diferite scoici au opțiuni și mai puternice.

Una dintre caracteristicile distinctive ale Unix este capacitatea de a redirecționa intrarea și ieșirea programului. Shell implementează această funcționalitate.

Shell-ul este doar un alt program, deci este posibil ca orice programator cu abilități potrivite să creeze unul. Au existat mai multe scoici majore care au apărut de-a lungul anilor.

Istorie și un cerc de scoici

Deși au existat mai multe shell-uri Unix în primele zile ale sistemului de operare, primul care a obținut o recunoaștere majoră în afara Bell Labs a fost Bourne Shell, numit după Stephen R. Bourne. Inovația principală a scoicilor a fost aceea că a acceptat caracteristici pentru programarea structurată, ceea ce a făcut posibilă utilizarea pentru prima dată a shell-ului ca un limbaj de programare real. Este atât de indispensabil că toate versiunile moderne Unix și Linux îl utilizează în continuare, deși este de obicei unul dintre shell-urile mai noi care emulează shell-ul Bourne.

Următoarea coajă majoră a fost C Shell, prescurtată în mod obișnuit ca "csh". Această coajă a fost dezvoltată la UC Berkeley, devenind o componentă majoră a aromei BSD a Unix. După cum sugerează și numele, sintaxa sa este concepută să semene cu limbajul de programare C, dar a fost concepută cu adevărat pentru utilizare interactivă.

Acesta a inclus un mecanism de istoric care le-a permis utilizatorilor să se întoarcă și să repete orice comandă pe care au emis-o anterior, fără a fi nevoie să repetați o linie întreagă și să îmbunătățească controlul lucrului, ceea ce a ușurat executarea mai multor sarcini. (Amintiți-vă, a fost o perioadă în care majoritatea oamenilor mai foloseau terminale bazate pe.)

Următoarea cochilie majoră a fost Korn Shell, care a ieșit și din Bell Labs. Povestea a fost numită după David Korn, nu trupa. Principala inovație a shell-ului Korn este introducerea editării liniei de comandă, extinzând și mai mult funcționalitatea istoriei. Utilizatorii pot să se întoarcă și să editeze comenzile pe care le-au tastat folosind comenzi similare fie editorilor vi, fie Emacs.

Dintre scoicile majore, Bourne Again Shell, sau bash, este cel mai popular de la introducerea sa la sfârșitul anilor 80. Acest shell, dezvoltat ca parte a proiectului GNU, încorporează inovațiile shell-urilor C și Korn, menținând în același timp compatibilitatea cu coaja Bourne, de unde și numele. Este shell-ul „standard” în majoritatea distribuțiilor Linux.

Z Shell (zsh), lansat pentru prima dată în 1990, este visul utilizatorului liniei de comandă. Nu numai că are cele mai multe alte caracteristici majore pe care le au celelalte scoici, ci este personalizabil nebun, cu o mulțime de caracteristici puternice. Unul dintre cele mai puternice este globalizarea recursivă, care permite utilizatorilor să potrivească numele de fișiere din subdirectorii atunci când emit comenzi, mai degrabă decât fișierele din directorul de lucru curent. Utilizatorii cu adevărat avansat pot, de asemenea, să personalizeze opțiunile de finalizare, potrivind fișierele fără a fi nevoie să le tastați complet. Și pentru dactilografii cu degetul gras, vă poate corecta și ortografia. Acest shell este atât de avansat, pagina sa manuală a fost împărțită în mai multe secțiuni foarte lungi.

Scripting

După cum am menționat anterior, shell-urile nu sunt doar interfețe de linie de comandă, ci limbaje de programare puternice. Frumusețea scripturilor shell este că puteți utiliza același limbaj atât în ​​utilizarea interactivă obișnuită, cât și în scripturi, ceea ce face curba de învățare mult mai plană. Învelișurile moderne includ toate caracteristicile obișnuite ale limbajului de programare, inclusiv controlul fluxului, funcțiile și variabilele. Câțiva dintre ei au chiar structuri de date avansate precum matricile asociative.

În ciuda puterii lor, programarea în scoici are câteva capcane. Cea mai mare problemă este că este prea ușor să scrii scripturi care depind de un program care s-ar putea să nu fie pe un alt sistem sau care depinde de o anumită aromă de Unix sau Linux. Acesta este motivul pentru care scripturile shell sunt cele mai potrivite pentru programele pe care le știți că vor fi rulate doar pe un singur sistem. Dacă încercați să construiți ceva portabil și nu doriți să scrieți un program C, cel mai bun pariu este să scrieți într-un alt limbaj de script cum ar fi Perl sau Python.

O privire sub linia de comandă Unix / Linux

Există o putere mai mare care se ascunde sub suprafața liniei de comandă Unix / Linux. Acest articol te-ar putea inspira să arunci o privire sub capota cochiliei tale favorite pentru a vedea ce poți face cu adevărat. Dacă doriți să intrați în scripturi shell, poate doriți să consultați cărțile Unix Power Tools și Learning the Bash Shell. Hârtia originală a lui Stephen R. Bournes servește, de asemenea, ca o bună introducere în lumea scripturilor shell, chiar dacă este veche.