Shells Unix / Linux 101

Autora: Eugene Taylor
Data De La Creació: 11 Agost 2021
Data D’Actualització: 22 Juny 2024
Anonim
Unix Shell Crash Course || Unix Shell Tutorial for Beginners
Vídeo: Unix Shell Crash Course || Unix Shell Tutorial for Beginners

Content



Font: Tomasz Bidermann / Dreamstime.com

Emportar:

Les petxines Unix i Linux són molt potents i molt personalitzables.

La línia de comandaments dels sistemes Unix i Linux ja és molt potent, però els shells són una eina encara més potent que no pas la vista. Podeu personalitzar-les i canviar-les al contingut del vostre cor, sempre que sabeu com fer-ho.

Què és una closca?

Gairebé tots els manuals d’Unix i Linux tenen el diagrama estàndard d’un embolcall de closques al voltant del sistema operatiu, semblant-se a un tipus de caramels. El shell realment no és més que una interfície entre el sistema operatiu, inclòs el nucli, el sistema de fitxers i les diverses trucades del sistema i l'usuari. Durant molts anys, va ser l’única interfície d’usuari interactiva abans que les interfícies gràfiques d’usuaris fossin habituals a la dècada de 1980. Les interfícies gràfiques d’usuari també es podrien considerar un tipus de shell, ja que compleixen moltes de les mateixes funcions: llançar programes, configurar el sistema i gestionar fitxers.

Aquestes humils interfícies de base tenen una potència sorprenent. Per una cosa, són llenguatges de programació completament complets. Abans de l'aparició de llenguatges de scripts encara més potents com Python, els scripts de shell eren ideals per a escriure programes que no necessitaven necessàriament el poder de C. Encara són útils per automatitzar les tasques del sistema i per prototipar ràpidament.

També tenen una sèrie de funcions que faciliten el treball i la cerca de fitxers. Un dels més utilitzats és "wildcard" o "globbing". Gairebé tots els usuaris d’Unix i Linux coneixen el «comodí» amb qualsevol tipus de caràcter. En realitat es tracta de la tasca de la closca. Diferents closques tenen opcions encara més potents.

Una de les característiques distintives d’Unix és la capacitat de redirigir l’entrada i sortida del programa. El shell implementa aquesta funcionalitat.

El shell és un altre programa, de manera que és possible que qualsevol programador amb les habilitats adequades en pugui crear un. Hi ha hagut diverses grans closques que han sorgit al llarg dels anys.

Història i un rodó de petxines

Tot i que hi va haver diversos shells Unix en els primers dies del sistema operatiu, el primer que va obtenir un gran reconeixement fora dels Bell Labs va ser el Bourne Shell, anomenat així per Stephen R. Bourne. La innovació principal de shells va ser que suportava funcions per a la programació estructurada, cosa que va permetre l'ús de shell com a llenguatge de programació real. És tan imprescindible que totes les versions modernes d’Unix i Linux encara l’utilitzin, tot i que sol ser un dels shells més nous que emulen el shell de Bourne.

El següent shell principal va ser C Shell, generalment abreujat com "csh". Aquesta closca es va desenvolupar a UC Berkeley, convertint-se en un component principal del sabor BSD d’Unix. Com el seu nom indica, la seva sintaxi està dissenyada per semblar al llenguatge de programació C, però realment va ser dissenyada per a un ús interactiu.

Incloïa un mecanisme d’historial que permetia als usuaris tornar enrere i repetir qualsevol ordre que emetessin anteriorment sense haver de tornar a escriure una línia sencera i un control de treball millorat, cosa que facilitava la realització de diverses tasques. (Recordeu-vos que va ser un moment en què la majoria de la gent encara utilitzava terminals basats.)

La següent gran petxina va ser la Korn Shell, que també va sortir de Bell Labs. Per cert, la petxina va rebre el nom de David Korn, no pas de la banda. La principal innovació de Korn shell és la introducció de l’edició de la línia de comandes, ampliant encara més la funcionalitat de la història. Els usuaris poden tornar enrere i editar les ordres que han escrit mitjançant comandes similars a les de l'editor vi o Emacs.

De les principals closques, el Bourne Again Shell, o bash, és el més popular des de la seva introducció a finals dels anys 80. Aquest shell, desenvolupat com a part del projecte GNU, incorpora les innovacions dels shells C i Korn mantenint la compatibilitat amb el shell de Bourne, d’aquí el nom. És el shell "estàndard" de la majoria de distribucions de Linux.

La Z Shell (zsh), llançada per primera vegada el 1990, és un somni de l'usuari de la línia de comandes. No només té la majoria de les funcions principals que tenen les altres petxines, sinó que es pot personalitzar amb moltes funcions potents. Una de les més potents és la creació global de recursos, que permet als usuaris fer coincidir els noms de fitxers en els subdirectoris quan publiquen ordres en lloc dels fitxers del directori de treball actual. Els usuaris realment avançats també poden personalitzar les opcions de finalització, coincidint amb els fitxers sense haver d’escriure completament. I per als mecanògrafs de dits grossos, també pot corregir la seva ortografia. Aquest shell està tan avançat, la seva pàgina manual ha estat dividida en diverses seccions molt llargues.

Guió

Com s'ha comentat anteriorment, els shells no són només interfícies de línia de comandament, sinó potents llenguatges de programació. La bellesa del guió de shell és que podeu utilitzar el mateix llenguatge tant en un ús interactiu regular com en scripts, cosa que fa que la corba d’aprenentatge sigui molt més plana. Els shells moderns inclouen totes les funcions habituals del llenguatge de programació, inclosos el control de flux, les funcions i les variables. Alguns fins i tot tenen estructures de dades avançades, com a matrius associatius.

Malgrat el seu poder, la programació en petxines té algunes interrupcions. El major problema és que és massa fàcil escriure scripts que depenen d'un programa que potser no es troba en un altre sistema, o que depèn d'un sabor particular d'Unix o Linux. És per això que els scripts de shell s’adapten millor als programes que ja sabeu que només s’executaran en un sistema. Si intenteu crear alguna cosa portàtil i no voleu escriure un programa C, la vostra millor aposta és escriure en un altre llenguatge de script com Perl o Python.

Un cop d'ull sota la caputxa de la línia de comandaments Unix / Linux

Hi ha més potència que s’amaga sota la superfície de la línia d’ordres Unix / Linux. Aquest article us pot inspirar a fer una ullada sota la caputxa de la vostra petja preferida per veure què realment podeu fer. Si voleu introduir-vos en scripts de shell, pot ser que vulgueu consultar els llibres Eines elèctriques Unix i Aprendre el shell Bash. El paper original de Stephen R. Bournes a la petxina també serveix de bona introducció al món del guió personalitzat, encara que sigui antic.