Anar al contingut

Shell d'Unix

De L'Enciclopèdia, la wikipedia en valencià
Erro al crear miniatura:
Shell d'Unix
Est artícul tracta sobre l'intérpret típic d'Unix. Per a atres usos d'este terme vore terminal (informàtica) .
Pantalla durant una sessió mostra GNU Bash, presa en Gentoo Linux.

Una shell d'Unix és el terme usat en informàtica per a referir-se al intérpret de comandos dels sistemes operatius basats en Unix i similars, com GNU/Linux, i que és el seu interfaç d'usuari tradicional. Per mig de les instruccions que aporta l'intérpret, l'usuari pot comunicar-se en el núcleu i per extensió, eixecutar dites órdens, aixina com ferramentes que li permeten controlar el funcionament de la computadora. Per això, en anglés se li va denominar aixina, shell, que pot ser traduït com a «clafoll», perque és l'envoltura visible del sistema informàtic.

Els comandos que aporten els intérprets, poden usar-se a modo de guion si s'escriuen en fichers eixecutables denominats shell-scripts, d'esta manera, quan l'usuari necessita fer us de varis comandos o combinats de comandos en ferramentes, escriu en un ficher de text, marcat com a eixecutable, les operacions que posteriorment, llínea per llínea, l'intérpret traduirà al núcleu per a que les realise. Sense ser un script de shell estrictament un llenguage de programació, al procés de crear scripts de shell se li denomina programació shell o en anglés, shell programming o shell scripting.

En el sentit més genèric del terme, shell significa qualsevol intérpret que els usuaris usen per a escriure comandos. La seua etimologia prové de l'us natural de consoles en computadors funcionant baix unix antany, quan els usuaris conectaven al computador central, ho feyen per mig de consoles, (shells) per les quals a través d'un intérpret, feyen inici de sessió i manejaven la computadora principal. Posteriorment, en la proliferació dels computadors personals i la seua filosofia monousuario, un computador per usuari (entenga's lo contrari de la filosofia inicial d'Unix, un computador, molts usuaris conectats per terminals), es va desenrollar un software que emulara les característiques principals de les consoles físiques, a modo de poder seguir usant-les com a clients en un computador o núcleu que comprenguera la convenció estàndar usada per a configurar i portar a terme tasques d'administració d'emergència en servidors basats en Unix.

Els usuaris d'Unix i similars, poden elegir entre distints shells (programa que es deuria eixecutar quan inicien la sessió, vore GNU bash, ash, csh, Zsh, ksh, tcsh). Els interfaços d'usuari gràfiques per a Unix, com són GNOME, KDE i Xfce poden ser cridades shells visuals o shells gràfiques. Per sí mateixa, el terme shell és associat usualment en la llínea de comandos. En Unix, qualsevol programa pot ser un shell d'usuari. Els usuaris que desigen utilisar una sintaxis diferent per a redactar comandos, poden especificar un intérpret diferent com el seu shell d'usuari.

El terme shell també fa referència a un programa particular, tal com el Bourne shell, sh. El Bourne shell va ser el shell usat en les primeres versions d'Unix i es va convertir en un estàndart de facto; tots els sistemes similars a Unix tenen a lo manco un shell compatible en el Bourne shell. El programa Bourne shell es troba dins de la jerarquia d'archius d'Unix en /bin/sh. En alguns sistemes, tal com BSD, /bin/sh és un Bourne shell o un equivalent, pero en atres sistemes com a moltes distribucions de Linux, /bin/sh és un enllaç simbòlic a un shell compatible en més característiques (com Bash). POSIX especifica el seu shell estàndar com un subconjunt estricte del Korn shell.

Categories de shell

[editar | editar còdic]
Erro al crear miniatura:

Poden dividir-se en quatre categories: tipo Bourne, tipo consola C, no tradicional i històrica.

Compatibles en Bourne shell

[editar | editar còdic]
  • Almquist shell (ash) -- Es va escriure com a tongada de la shell Bourne en llicència BSD; la sh de FreeBSD, NetBSD (i els seus derivats) estan basats en ash i s'han millorat conforme a POSIX per a l'ocasió.
  • Bourne-Again shell (bash) -- Es va escriure com a part del proyecte GNU per a proveir-ho d'un superconjunto de funcionalitat en la shell Bourne.
  • Debian Almquist Shell (dash) -- Dash és una tongada moderna de ash en Debian.
  • Korn shell (ksh) -- Escrita per David Korn, mentres va estar en Bell Labs.
  • Z shell (zsh) -- Considerada com la més completa: és lo més propenc que existix en comprendre un superconjunto de sh, ash, bash, csh, ksh, i tcsh.

Compatibles en la shell de C

[editar | editar còdic]

Uns atres o exòtics

[editar | editar còdic]
  • fish, una shell amigable i interactiva, llançada per primera volta en 2005.
  • mudsh, una shell inteligent a l'estil dels videojocs que opera com un MUD.
  • zoidberg, una shell modular escrita en Perl, configurada i d'operació completament en Perl.
  • rc, el shell per defecte de Pla 9 from Bell Labs i Version 10 d'Unix escrita per Tom Duff. S'han fet ports per a Inferno i per a sistemes operatius basats en Unix.
  • és shell (és), una shell compatible en RC escrita a mitan dels 90.
  • scsh (Scheme Shell)

Archius de configuració per a shells

[editar | editar còdic]

Un shell llig archius de configuració en múltiples circumstàncies baix diferents dependències de la shell. Esta taula mostra els archius de configuració de les shells més populars:

sh ksh csh tcsh bash zsh
/etc/.login no no login login no no
/etc/csh.cshrc no no no no no
/etc/csh.login no no no login no
/.tcshrc no no no no no
/.cshrc no no no no
/.login no no login login no no
/.logout no no login login no no
/etc/profile login login no no i.login no
/.profile login login no no login no
/.bash_profile login no no no login no
/.bash_login no no no no login no
/.bashrc no no no no n/login no
/etc/zshenv no no no no no
/etc/zprofile no no no no no login
/etc/zshrc no no no no no int.
/etc/zlogin no no no no no login
/etc/zlogout no no no no no login
/.zshenv no no no no no
/.zprofile no no no no no login
/.zshrc no no no no no int.
/.zlogin no no no no no login
/.zlogout no no no no no login

Explicació:

  • "no" significa que la shell no llegirà l'archiu en absolut.
  • "sí" significa que l'archiu és sempre llegit pel shell.
  • "login" significa que l'archiu és llegit si la shell és una shell de sessió (loging shell).
  • "n/login" significa que l'archiu és llegit si la shell no és una shell de sessió.
  • "int." significa que un archiu és llegit si és un shell interactiu.
  • "i.login" significa que un archiu és llegit si la shell és de sessió interactiva.

Històric

[editar | editar còdic]

Shells no Unix

[editar | editar còdic]

Dins del conjunt de sistemes operatius Microsoft Windows, l'anàlec són els programes command.com, o cmd.exe per a sistemes operatius basats en Windows NT, i Windows PowerShell introduït en Windows Server 2008.

Vore també

[editar | editar còdic]

Bibliografia

[editar | editar còdic]
  • Ellie Quigley (2001). «Introduction to UNIX shells», Unix Shells by Example, Prentice Hall PTR. ISBN 0-13-066538-X. — Història de varis shells, els usos i les responsabilitats d'una shell en Unix.