Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Pgina 1
Ejecutar procesos.
2. El shell de Linux
El shell de un sistema operativo es la interfase entre ste y sus usuarios. Se caracteriza
fundamentalmente porque facilita al usuario la posibilidad de escribir rdenes en la que se
conoce como lnea de rdenes o lnea de comandos.
La forma que tiene el sistema operativo de indicar que se encuentra a la espera de una orden
es mostrar un smbolo, denominado prompt del sistema, seguido del cursor. Habitualmente,
el prompt del sistema es el carcter $ o el carcter % para los usuarios y el carcter # para el
administrador del sistema (usuario root).
Un usuario introduce una orden escribindola en la lnea de comandos a continuacin del
prompt. Para indicar al sistema que debe ejecutarla, pulsa la tecla de retorno de carro (
).
Entonces, el sistema ejecuta la instruccin. Cuando finaliza, vuelve a mostrar el prompt y el
cursor para esperar por otra nueva orden.
Es importante resaltar que Linux tiene diferentes tipos de shell como son, entre otros, los
siguientes:
Bourne Shell
C Shell
Korn Shell
Bourne again Shell
sh
csh
ksh
bash
Todos ellos tienen caractersticas que los diferencian, pero tambin tienen muchos puntos en
comn. Uno de ellos, especialmente importante, radica en su sensibilidad al empleo de
caracteres en maysculas o en minsculas.
Cuando se dispone de un sistema de ventanas (Windows, X-Windows), se puede dar
rdenes al sistema directamente con el sistema apuntador (ratn) y tambin desde una
ventana de shell.
Pgina 2
3. rdenes bsicas.
Cambio de la contrasea de usuario
Es la primera operacin que debe realizarse cuando se obtiene una cuenta de usuario en un
computador con sistema de acceso protegido mediante contrasea. El objetivo es disponer de
una contrasea fcil de recordar por parte del usuario y difcil de descubrir por parte de
otras personas.
Sintaxis:
passwd
apropos orden
As por ejemplo, los resultados de ejecutar las siguientes rdenes desde la lnea de comandos
son los que se indican:
man kill
man k printer
apropos password
exit
Pgina 3
Pgina 4
Ejemplo:
Sea el siguiente rbol de subdirectorios:
/
etc
users
alumnos
temp
D3.doc
shadow
CD-ROM
p1.c
/users/temp/p1.c
../users/temp/p1.c
./shadow
Las principales rdenes relacionadas con la jerarqua de subdirectorios son las siguientes:
pwd : Devuelve la ruta absoluta del subdirectorio actual:
Sintaxis:
pwd
mkdir nombre_subdirectorio
cd nombre_subdirectorio
As, por ejemplo, para salir del subdirectorio actual se especifica el nombre de su
directorio padre:
cd ..
Pgina 5
Para acceder al directorio propio del usuario, es posible utilizar dos variantes:
cd
cd $HOME
Nota: $HOME es una variable de entorno que almacena la ruta absoluta del directorio por
defecto del usuario. Su valor se puede obtener con la orden: echo $HOME.
Manipulacin de archivos.
ls:
Vuelca en pantalla los nombres de los archivos (includos los subdirectorios) que hay
en el subdirectorio actual.
Sintaxis:
ls [-la]
touch nombre_archivo
Nota: En adelante, cuando se haga referencia al nombre de un archivo,
se entender como tal su ruta, bien absoluta, bien relativa.
rm:
Borra un archivo.
Sintaxis:
rm nombre_archivo
mv:
rmdir nombre_subdirectorio
cp archivo_original archivo_destino
mv archivo_original archivo_destino
cat:
Pgina 6
Concatena varios archivos y los muestra por la salida estndar (pantalla). Se utiliza,
entre otras cosas, para visualiza el contenido de ficheros de texto.
Sintaxis:
4. El editor vi.
El editor vi (visual editor) es el editor tpico de Linux y, aunque no es sencillo de utilizar, es
el nico que se encuentra con seguridad en cualquier sistema Linux.
Sintaxis:
vi [nombre_de_fichero]
Modos de trabajo.
vi se encuentra en todo momento en uno de los siguientes tres modos: modo de comandos,
modo de insercin o modo de ltima lnea.
Modo de comandos. Es el modo por defecto en el que inicia vi. Permite usar
Modo de insercin. Se utiliza para insertar o editar texto. Para salir de este modo
Pgina 7
Edicin con vi
Para escribir texto, es necesario pasar al modo de insercin. Esto se puede conseguir con
diferentes comandos (pulsacin de teclas desde el modo de comandos):
i Insertar texto (a la izquierda del cursor).
a Aadir texto (a la derecha del cursor).
O Insertar una lnea por encima de la actual.
o Insertar una lnea por debajo de la actual.
x Borra el carcter situado bajo el cursor.
dw Borra la palabra en la que est situado el cursor.
dd Borra la lnea en la que se encuentra el cursor.
yy Copia la lnea en la que se encuentra el cursor.
p Inserta una lnea debajo de la actual y pega la que se ha copiado.
h Mueve el cursor una posicin hacia la izquierda.
l Mueve el cursor una posicin hacia la derecha.
j Mueve el cursor una posicin hacia abajo.
k Mueve el cursor una posicin hacia arriba.
Desde el modo de ltima lnea (al que se accede pulsando [:] en modo de comandos),
tambin se pueden realizar las siguientes tareas:
w [nombre_fichero]
q!
wq
o bien x
/patron
5. El Compilador cc.
El compilador cc viene incluido en el sistema operativo UNIX.
Sintaxis:
El fichero con el cdigo fuente debe terminar obligatoriamente con los caracteres .c cuando
se trata de cdigo escrito en lenguaje C.
Si no se especifica el nombre del archivo ejecutable, ste se llamar a.out.
Pgina 8
6. Ejecucin de Procesos.
La forma de ejecutar un programa es escribir su ruta en la lnea de rdenes.
Ejemplo:
./programa
Es posible ejecutar varios programas secuencialmente introduciendo sus rutas en la misma
lnea utilizando el carcter punto y coma [;] como separador entre ellas.
Cuando se da la orden de ejecutar un programa, el shell se bloquea y no permite la
introduccin de nuevas rdenes hasta que finalice el proceso iniciado. Esta situacin puede
obviarse ejecutando el primer proceso en background, lo que se consigue colocando el carcter
ampersand (&) inmediatamente detrs del nombre del programa.
Ejemplo de ejecucin de un proceso en background:
./programa &
7. Eliminacin de Procesos.
Cada proceso que se ejecuta en un instante dado se identifica por un nmero nico
denominado pid (identificador de proceso).
La orden ps permite visualizar la informacin (incluido el pid) de los procesos que se estn
ejecutando en un sistema:
Sintaxis:
kill 9 pid
La orden kill se utiliza de modo genrico para enviar seales a procesos. El parmetro 9
especifica que la seal enviada mata al proceso identificado por el nmero pid.
Pgina 9
write login_destinatario
El shell no muestra el prompt del sistema, sino que lee lneas desde el teclado y las
enva al destinatario. El proceso finaliza cuando el remitente pulse la combinacin de
teclas [Control]+[D].
talk:
talk login_usuario
La orden talk avisa al usuario destinatario de que otro usuario solicita comunicarse
con l. Para comenzar la comunicacin, el destinatario debe ejecutar tambin la orden
talk indicando el login del usuario solicitante. Entonces, las lneas de texto que escriba
cada uno de los usuarios aparecer en la pantalla del otro. Para finalizar la
conversacin, se pulsan simultneamente las teclas [Control]+[C].
mail: Utilidad de correo electrnico.
mesg: Permite habilitar/deshabilitar la recepcin de mensajes va write o talk.
Sintaxis:
mesg [y | n]
who
whodo:Muestra una lista de los usuarios actualmente conectados y los procesos que estn
ejecutando.
Sintaxis:
whodo
whoami
Sintaxis:
Pgina 10
who am i
9. Desarrollo de la prctica.
1. Entra en el sistema con tu login y tu contrasea.
2. Cambia tu contrasea de usuario:
passwd
3. Obtn la ruta completa del subdirectorio en el que te encuentras, es tu directorio por
defecto:
pwd
4. Crea un subdirectorio de nombre SO dentro de tu directorio por defecto:
mkdir SO
5. Entra en el nuevo subdirectorio:
cd SO
6. Comprueba que te encuentras en el subdirectorio SO:
pwd
7. Sal al directorio padre de SO:
cd ..
8. Crea otro subdirectorio dentro de SO llamado Practica1 y entra en l.
mkdir SO/Practica1
cd SO/Practica1
9. Crea un archivo vaco dentro de Prctica1 llamado nulo:
touch nulo
10. Comprueba que este archivo se ha creado y brralo:
ls
rm nulo
11. Sal del directorio Practica1 y brralo:
cd ..
rmdir Practica1
Pgina 11
22. Salva el programa y sal del editor. Para ello teclea la orden :wq.
23. Haz una copia del documento de texto duerme.c:
cp duerme.c duerme.old
24. Genera una lista detallada de los archivos que hay en el directorio actual:
ls -l
25. Borra el documento duerme.old:
rm duerme.old
26. Comprueba con la instruccin ls que realmente se ha borrado duerme.old.
Pgina 12
./duerme
La ventana queda bloqueada. Abre otra y mata al proceso duerme desde ella (utiliza,
ps y kill). Observa cmo la shell anterior se desbloquea.
Pgina 13
Utilidad
Concatena varios ficheros (o uno solo) y los muestra por pantalla.
Compila fichero.c y genera un ejecutable con nombre fichero.
Entra a un subdirectorio.
Borrar la pantalla.
Copia fichero1 con el nombre fichero2
Fecha y hora.
Abandona la sesin de UNIX o cierra la ventana de shell.
Mata el proceso identificado por pid.
Ver los ficheros contenidos en el subdirectorio actual.
Ver una descripcin detallada de los ficheros.
Ver una descripcin detallada incluyendo los archivos ocultos.
Enviar un correo a un usuario (Ctrl-D para salir y enviar).
Ver la ayuda de una orden o un listado de rdenes
Desactiva/Activa la recepcin de mensajes.
Crea un subdirectorio.
Vuelca pgina a pgina el contenido de un fichero de texto.
Listado completo de los procesos que se estn ejecutando en la
mquina.
Informacin detallada de los procesos hijos de la shell en la que se
est trabajando.
Listado de los procesos de un usuario concreto.
Ver el path o ruta del subdirectorio actual.
Borra un fichero.
Borra un subdirectorio que est vaco.
Hablar con un usuario que est conectado.
Crea un fichero vaco de nombre file.
Ver el nombre y las propiedades del sistema.
Edita fichero con el editor vi.
Ver los usuarios conectados al sistema.
Ver las propiedades del usuario.
Ver qu hacen los usuarios que estn conectados.
Escribir un mensaje a un usuario que est conectado.
Utilidad
Insertar texto delante del cursor.
Insertar texto detrs del cursor.
Desplazar el cursor hacia la izquierda.
Desplazar el cursor hacia abajo.
Desplazar el cursor hacia arriba.
Desplazar el cursor hacia la derecha.
Inserta una lnea encima de la actual.
Insertar una lnea debajo de la actual.
Borrar el carcter situado bajo el cursor.
Borrar una palabra completa.
Borrar una lnea completa.
Guardar el archivo sin salir de vi.
Guardar el archivo y salir de vi.
Salir de vi sin guardar el archivo.
Copiar la lnea actual
Pegar
Pgina 14