SHELL

Anuncio
SHELL
Lo que ocurre internamente en tu ordenador cuando este ejecuta una
acción, tal como, leer un fichero, grabar un documento, acceder al CDRom o ejecutar un programa, es un proceso bastante complicado y que
requiere una serie de acciones por parte de tu sistema operativo. Por si
esto no es suficiente, necesitamos también, una manera de poder
comunicarnos con nuestro sistema operativo para decirle que es lo que
queremos hacer. Es aqui donde un intérprete de comandos (shell) hace su
trabajo.
Un shell o intérprete de comandos es el proceso encargado de
traducir los comandos que los usuarios introducen, a instrucciones que el
sistema operativo entiende. Es el programa que se encuentra entre el
sistema operativo y el usuario ,el cual nos hace la vida mas fácil.
Todo usuario que quiera profundizar en un sistema Unix/linux tendrá
más tarde ó temprano que familiarizarse con el shell de su sistema, el cual
se convertirá en una herramienta imprescindible en la administración diaria
del sistema, tanto por su potencia como versatilidad.
En el caso de un shell de Unix, éste sirve de intermediario entre el
usuario y el sistema operativo del servidor (Unix es un sistema operativo
multiusuario y multitarea, es decir, que puede atender a varias personas,
máquinas y tareas al mismo tiempo). El shell de Unix se encarga de
aceptar los comandos por parte del usuario, verificando su correcta
sintaxis y luego enviando las órdenes a otra parte del sistema para su
ejecución.
Así, por medio de un shell una persona puede tener acceso a los
recursos de una máquina.
Los sistemas Unix pueden tener diferentes shells, los más utilizados
son el C shell (csh), el Bourne (bash) y el Korn (ksh). Cada uno de ellos
ofrece un lenguaje diferente de comandos.
El Bourne shell es el más antiguo y tuvo gran popularidad en su
lanzamiento, es el shell por defecto del UNIX.
El C shell reensambla la programación en lenguaje C y por tanto es
más completo que el anterior.
El Korn Shell es el más moderno de los tres y el más desconocido
Uno puede escoger el entorno de programación a usar cuando se
solicita el código, en caso de no notificar nada se asignará por defecto el
intérprete de mandatos ksh en el IBM SP2 y en el HP V2250 y el tcsh en
el resto de máquinas del CESCA y del CEPBA.
Si se quiere cambiar temporalmente de shell se tiene que utilizar el
mandato:
bsh - para pasar a Bourne shell
csh - para pasar a c-shell
tcsh - para pasar a tc-shell
ksh - para pasar a k-shell
Algunas de las características de estos intérpretes de mandatos csh,
tcsh y ksh son:
 Interpretan los diferentes mandatos especificados por el usuario. Un
mandato es una secuencia de palabras, la primera de las cuales es
el nombre del mandato y los otros sus argumentos.
 Procesamos un mandato en interactivo (foreground) y varios en
background. Para ejecutar un mandato en background, la secuencia
de argumentos tiene que acabar con el símbolo &. Algunos
mandatos:
jobs
Lista todos los procesos en ejecución en background.
kill número_de_proceso
Cancela un proceso en background (el número de
trabajo se puede obtener con el mandato jobs).
fg número_de_proceso
Pasa un proceso de background a foreground.
<Ctrl+Z>
Suprime el proceso interactivo.
<Ctrl+C>
Cancela el proceso interactivo.
bg número_de_proceso
Continúa la ejecución en background de un proceso
interactivo que ha sido suspendido.
 Permite redireccionar la entrada (fichero stdin y la salida (fichero
stdout y stderr) de un mandato por pantalla a un fichero. Por ejemplo:
jobs >> nombre_fichero
En este caso, la lista de procesos en background no aparece por
pantalla, sino, que se guarda al final del fichero indicado. Para crear
un nuevo fichero (en vez de añadir la información a uno ya
existente), se tiene que utilizar el símbolo <. Para redireccionar el
fichero de entrada stdin, <. Para redireccionar el fichero de salida
(stdout i stderr), >& o >>&, según se quiera crear un nuevo fichero o
añadir a uno ya existente.
 También permiten conectar la salida de un mandato a la entrada de
otro, de manera que el segundo pueda empezar a ejecutar tan pronto
los datos estén disponibles (por ejemplo, sin tener que esperar que el
primer mandato termine completamente su ejecución). Para esto, los
dos mandatos tienen que separarse con el símbolo |. Por ejemplo,
para obtener una lista completa de todos los ficheros en el directorio
actual, así como el de sus subdirectorios y visualizarlo por la pantalla
página por página:
ls -RC | more
Para más información sobre la sintaxis y la utilización de cualquier
mandato de csh, tcsh y ksh se debe utilizar el mandato man
nombre_mandato.
Los ficheros que tienen un significado especial para este intérprete de
mandatos c-shell y k-shell y que se encuentran en el directorio principal del
usuario son:
c-shell y tcsh:
.login y .cshrc
k-shell:
.profile y .kshrc
Este fichero se ejecuta cada vez que el usuario se conecta al
sistema.
En la siguiente gráfica se trata de representar la manera en la que el
shell es el intermediario entre el usuario y el Hardware sirviendo como el
lector de los comandos:
Conclusiones:
Solo se recalca constantemente que "Todo lo que se puede hacer en
modo gráfico, se puede hacer también en modo texto, a base de
comandos. Pero no todo lo que se puede hacer en modo texto, se puede
hacer en modo gráfico" y que tan solo cada vez salen cada vez mas
programas que a base de click de mouse o de ventanas se facilita el uso
de los comandos haciéndolos mas vistosos y fáciles de manejar.
Bibliográfia:
www.google.com
www.monografias.com
www.vivalinux.com.ar
www.gnu.org
www.abcdatos.com
Descargar