Vous êtes sur la page 1sur 12

UNIVERSIDAD AUTNOMA DEL ESTADO DE HIDALGO

INSTITUTO DE CIENCIAS BASICAS E INGENIERIAS


LICENCIATURA EN INGENIERIA ELECTRONICA
Y
TELECOMUNICACIONES

Asignatura: Sistemas Operativos

Shell de Linux: Tipos, propsitos, funcionamiento

Alumna: Macas Snchez Joselyne Claret

Catedrtico: Dr. Ruslan Gabbasov

Semestre: 5

Grupo: 4

Ciclo Escolar: Julio-Diciembre 2014

ndice
Introduccin.2
Definicin de Shell de Linux..3
Tipos de Shell de Linux..5
Caractersticas de Shell de Linux.....7
Opciones de Shell de Linux..8
Funcionamiento..9
Hablando de Linux Shell..10
Conclusin11
Referencias..12

Introduccin

En esta investigacin el objeto de estudio ser Shell de Linux, para comprender


que es un Shell de Linux, vamos a recordar primero qu es Linux?. Linux es un
sistema operativo multitarea y multiusuario concebido para funcionar en
computadoras personales. Est basado en el sistema operativo UNIX, creado en
1969 en los laboratorios Bell de la empresa AT&T, y se desarroll inicialmente
como una versin gratuita de este ltimo. Despus de haber recordado un
concepto bsico sobre que es Linux, a continuacin vamos a tratar de explicar de
una manera simple los aspectos bsicos de lo que es un Shell en el S.O Linux.
Adems del entorno grfico, en Linux es muy importante saber usar el
denominado terminal o Shell. En teora es similar al intrprete de comando en
Windows que al igual es un sistema operativo y sirve para introducir rdenes y
ejecutar programas.

Shell de Linux
El Shell es el programa o software que provee la interface entre el usuario y el
ncleo (tambin conocido como kernel) del sistema operativo, en este caso el
ncleo de Linux. A grandes rasgos, el Kernel es un programa que se carga en
memoria al momento en el que el PC se inicia, y se encarga de administrar el
sistema hasta que apagamos el computador; es decir, crea y controla procesos,
gestiona la memoria, el sistema de archivos y mucho ms.
El Shell es el programa de Linux que permite interactuar con el ncleo del sistema.
El Shell como software puede ser del tipo CLI o GUI, es decir, CLI (Command-Line
interface) en espaol Linea de comandos, y el GUI es Graphical User Interface
(Interfaz grfica de usuario).
El Shell tradicional en Linux es el CLI prcticamente el 95% de su contenido est
basado en el Command- Line interface de Linux.
El Shell en Linux se ejecuta automticamente al momento que lo damos de alta en
el sistema, es decir, cuando ustedes prenden su servidor de Linux y ve en pantalla
la palabra LogW. Donde debe colocar su nombre y su contrasea y el Shell se
ejecuta.
El Shell que se ejecuta en la mayora de las distribuciones de Linux
automticamente es el Shell bash ese Shell se encuentra en el directorio
/bin/bash. El bash es el ms popular que existe en el Shell de Linux.
USUARIO

APLICACION
SHELL
PL

LINUX KERNEL

ORDENADOR HARDWARE

Fig. 1: Representacin grfica de la relacin entre de los diferentes componentes


del sistema operativo con el Shell.
4

A continuacin les dar una breve explicacin del anterior esquema, donde existe
una relacin entre el usuario y el kernel del S.O y Hardware. El kernel es el
software que se comunica directamente con el Hardware de la mquina, se puede
decir que es el corazn del sistema, para que un usuario se pueda comunicar con
el kernel y el kernel con el hardware se utiliza un medio sea una interfaz en este
caso es el Shell.

TIPOS DE SHELL
Dentro de Linux existen mltiples tipos de Linux Shell, recuerden que el Shell es la
interfaz entre el usuario y el ncleo del sistema operativo y en el tenemos CLI y
GUI. El intrprete de comandos ms popular en Linux se llama bash.
A continuacin se describirn las diferentes terminales Linux Shell:

bash. Que significa Bourne Again Shell el cual fue creado para usarlo en
el proyecto GNU. BASH, por lo tanto, es un Shell o intrprete de comandos
GNU que incorpora la mayora de distribuciones de Linux. Es compatible
con el Shell Sh. Adems, incorpora algunas caractersticas tiles de ksh y
csh, y otras propias como la edicin de lnea de comandos, tamao
ilimitado del historial de comandos, control de los trabajos y procesos,
funciones y alias, clculos aritmticos con nmeros enteros, etc.

Fig.2. Pantalla bash

sh (Shell Bourne). Fue creado por Steve Bourne, es el ms utilizado en la


actualidad. Su smbolo del sistema es $. Es el shell estndar y el que se
monta en casi todos los sistemas UNIX/Linux. Se encuentra en el directorio
/bin/sh.

csh (C-Shell). Procedente del sistema BSD, proporciona funciones tales


como control de trabajos, historial de rdenes, etc. Ofrece importantes
5

caractersticas para los programadores que trabajan en lenguaje C. Su


smbolo del sistema es %.

jsh (Shell job). Incorpora algunas caractersticas de control al shell


estndar del sistema.

ksh (Shell Korn). Escrito por David Korn, ampla el shell del sistema
aadiendo historial de rdenes, edicin en lnea de rdenes y
caractersticas ampliadas de programacin.
Estos fueron los principales tipos de Linux Shell

Para acceder al Terminal debemos ir al men>Aplicaciones>Luego Accesorios>


seleccionaras Terminal. Y nos aparece una pantalla como la siguiente:

Fig.3. Ejemplo de una terminal

COMANDOS DEL SHELL


Los comandos del Shell consisten en palabras.

Separadas por espacios


La primera palabra es el comando
Los dems palabras son llamadas opciones o argumentos.
6

Por ciertas razones algunos comandos son llamados builtin u otros external.
Donde Builtin se refiere aquellos que pertenecen a la Shell de Linux. Y a los que
nombran external son los que se encuentran en el sistema de Linux pero no a la
Shell.
La sintaxis que llevan las palabras despus del comando son pasadas a estos
como opciones o argumentos.
La mayora de los comandos agrupa los argumentos en dos grupos:

Opciones regularmente comienzan con el simbolo -.


Nombres de archivos
Las opciones menos criticas comienzan con - -.

CARACTERSTICAS DEL SHELL


Flujos
El Shell le otorga a cada programa en ejecucin 3 flujos:

Entrada Estndar (teclado, archivo, dispositivo E/S).


Salidas Estndar (terminal, archivo, dispositivo E/S).
Error Estndar (terminal, archivo, dispositivo E/S).

Ejecucin del Shell


Una vez que usted se ha registrado en la consola virtual, el sistema carga el
intrprete de comandos en memoria. Este lee primero el archivo /etc/profile que
contiene la configuracin comn del entorno para todo el sistema y sus usuarios,
luego lee el archivo .bash_profike ubicado en directorio home del usuario recin
ingresado.
Historial de comandos
La Shell de Linux tiene un historial, ya que graba todos tus movimientos, inclusive
los que tu no recuerdas. La utilidad para acceder al historial de comandos que
hemos escrito es el comando history, ste mostrar un historial enumerado de los
ltimos comandos digitados.

OPCIONES DEL SHELL


El Shell proporciona varias opciones a la hora de digitar los comandos, tales
como:
Smbolo
*
?
&
;
l
>
>>
<

Significado
Metacaracteres para usar varios archivos o directorios.
Reemplazar un solo carcter.
Comandos en background, ej: find>archive &
Ejecutar varios comandos, ej: $ ls ; pine
Para dirigir salidas standard.
Redireccionar la salida estndar a un archivo.
Lo mismo que el anterior pero no sobrescribe.
Para tomar los datos de un archivo

El Shell nos brinda un prompt y espera por los comando. A continuacin se


muestra en la tabla los caracteres especiales de prompt.
Carcter
\t
\d
\n
\s
\w
\W
\u
\h
\#
\!
\$
\\
\nnn
\[

\]

Significado
La hora actual en formato HH.MM.SS
La fecha en formato Dia de la semana, como por ejemplo, Sun Feb 4
Salto de lnea
Nombre del Shell
El directorio actual
El nombre base del directorio actual. Por ejemplo, del directorio /home/shrek,
el nombre base es shrek.
Nombre del usuario.
Nombre de mquina.
Numero de comando del comando actual.
Posicin en el historial de comando del comando actual.
Si la EUID es 0(root), el carcter #. En cualquier otro caso el carcter es $.
La barra inclinada hacia atrs.
El carcter correspondiente al nmero octal nnn.
Comienza una secuencia de caracteres no imprimibles, como los caracteres
de escape o las secuencias de control. Estos caracteres pueden ser usados
para definir colores.
Fin de la secuencia de caracteres no imprimibles.

Tabla 2. Caracteres especiales de la variable prompt

Funcionamiento
Uno de las mayores utilidades que posee una Shell es el permitirnos crear
funciones para realizar tareas repetitivas fcilmente. El funcionamiento de estas
funciones es parecido al que posee cualquier lenguaje de programacin, en el cual
se agrupan conjunto de comandos y se los llama por un nombre.
El formato de las funciones es el siguiente:

Estas funciones pueden ser definidas en cualquier lugar, incluso en las mismas
lneas de comandos. Lo que habr que recordar que hechas de esta forma se
borraran de la memoria una vez que ha salido del Shell. Una forma de hacer que
quede disponible en forma permanente es incorporarla en el archivo de inicio del
Shell, el .bash_profile, en el cual se pondr la funcin. De esta forma podremos
seguir utilizndola dado que ser cargada en memoria cada vez que ejecute el
Shell.
Ejemplo de una funcin simple:

Aqu podemos ver dos factores en la creacin de funciones. Primero se nombra a


la funcin, seguida de un par de parntesis "( )" con lo cual se indica al Shell que
lo que viene a continuacin deber ser tomado como una funcin. Inmediatamente
despus de los parntesis se abrir una llave "{", con lo que se indica que
comienzan los comandos de la funcin. Al terminar se cierra la llave "}".
El otro punto es el reemplazo que efecta el shell de las variables. Aqu la variable
se asigna directamente y es un nmero que vendr despus del signo "$". Este
nmero indica el nmero del argumento de que tomara su valor y que es dado al
invocar a la funcin. En este caso su valor pasa a ser "shrek". Podremos asignar
ms variables de este tipo que sern tomadas de acuerdo a su valor numrico
como el nmero del argumento.

Hablando de Linux Shell


El Shell o intrprete de comandos, como antes habamos dicho, es una interfaz
con nuestro sistema operativo. Gracias a l podremos dar las rdenes y mandatos
necesarios para que nuestro sistema informtico realice las tareas que
necesitamos. No debemos confundir al intrprete de comandos con el sistema
operativo. Este es solo un programa que har de mediador entre nosotros y el
kernel del sistema. El Shell puede ser tanto grfico (Ej. La interfaz X-Windows),
como de texto (Ej. bash).
Hablaremos el tema de Shell al nivel de solo texto y en especial veremos un
intrprete de comando que por su utilidad y su gran aceptacin, es l ms usado
tanto en Unix como en Linux. Como veremos luego, el intrprete de comandos no
solo tiene la labor de interpretar nuestros mandatos, tambin es un potente
lenguaje de programacin que nos ser de gran utilidad a la hora de elaborar
guiones (script) para poder automatizar nuestras tareas. Los usuarios de DOS
estarn acostumbrados a la utilizacin de los archivos de procesamiento por lotes
(.bat) o ms bien denomina "batch".
Existen varios tipos de intrpretes de comandos en UNIX de los cuales los ms
famosos e importantes son el "Bourne Shell" (sh) y el "C Shell" (csh). El intrprete
de comandos Bourne, usa una sintaxis de comandos usada en los primeros
sistemas UNIX, como el System III. El nombre de intrprete Bourne en la mayora
de los Unix es /bin/sh (sh por shell). El C Shell posee una sintaxis muy parecida al
lenguaje de programacin C y se lo encontrara como /bin/csh. El ms usado en el
mundo Linux, como antes dijimos, es el bash por "Bourne Again Shell y se lo
encontrar en /bin/bash. Bash posee toda la funcionalidad del sh con
caractersticas avanzadas de C Shell, por esto cualquier guin escrito para un
intrprete de comandos sh correr perfectamente en l. Si lo que se prefiere es el
uso del intrprete de comandos basado en el lenguaje C, en Linux se podr
encontrar el tcsh en /bin/tcsh, que es una versin extendida del C Shell. Los
gustos de los usuarios son los que deciden que intrprete de comandos se usar,
por esto es posible configurar para cada usuario un intrprete de comandos
distintos y no afectar el funcionamiento de programas como el ls, cat o cp. Solo se
ver afectada la funcionalidad de algn guin que est preparado para ejecutar
con un intrprete de comandos determinado, lo que veremos cmo se puede
corregir al ver programacin de script de Shell.

10

Conclusin
Muchos usuarios que recin empiezan en Linux sienten un fuerte temor hacia
agarrar esa pantallita negra y ejecutar algunos comandos. Esa pantallita negra es
la del Shell de Linux, y empezar a conocer los comandos para manejarla te va a
ser sencillo, solo es cuestin de empezar y dar el primer paso.
En un principio, Linux fue utilizable slo mediante comandos y poco a poco se ha
ido implementando de manera grfica las cosas que se podan hacer en modo
texto. Aun as, las cosas que se pueden hacer mediante comandos es increble.
Inclusive hay gente que no usa el entorno grfico para sus actividades diarias,
pueden hacer todas sus tareas como leer los mails hasta ver videos con solo
utilizar esta pantallita negra.
Si quieres utilizar Linux, es sumamente recomendable que puedas manejarte con
algunos comandos que siempre te ayudaran en alguna situacin.

11

Referencias

http://recursostic.educacion.es/observatorio/web/ca/software/software-general/295jose-ignacio-lopez
http://docencia.udea.edu.co/cci/linux/dia8/shell.html
http://www.ant.org.ar/cursos/curso_intro/c920.html
https://www.youtube.com/watch?v=Wsog1hPPipQ&list=PLB8258D62B44EAB78&i
ndex=3
http://mural.uv.es/oshuso/831_tipos_de_shell.html
http://www.linfo.org/shell.html

12

Vous aimerez peut-être aussi