Está en la página 1de 3

Universidad ICESI

Facultad de Ciencias Naturales


Departamento de Qumica
Laboratorio de Fisicoqumica III
Nombre: _________________________________________________ Cdigo: __________________________
Nombre: _________________________________________________ Cdigo: __________________________

PRCTICA 2: LINUX
En esta gua continuamos con los comandos ms usados y tiles de Linux. Ahora utilizaremos comandos que
sirven para recortar partes de otros archivos y crear nuevos archivos, tambin exploraremos algunos comandos
que permiten obtener informacin til para administrar usuarios y procesos en un sistema Linux.

Prctica
cut, paste y grep.
En la anterior practica se dej como tarea generar el archivo visitante_N.txt en su directorio de usuario.
Todos los usuarios deben tener este archivo para proceder en la prctica presente.
-

Copie los archivos visitante_N.txt de todos los usuarios en su directorio


propio.
Ahora liste todos los archivos con nombre visitante_N.txt en su directorio,
use el comando ls visitante_*.txt. Discuta qu significa el uso del
asterisco (*). Utilice el asterisco de forma que usted piense le ahorrara escritura
y obtendra el mismo resultado.
Cree un archivo nico de todos los visitantes. Para tal fin utilice el siguiente
comando:
cat
vistante_1.txt
vistante_2.txt
visitante_3.txt

vistante_n.txt. Con la n significando el nmero del ltimo de los archivos de los usuarios. Enve el
resultado de este comando a un archivo que llamara visitantes.txt en su directorio de usuario.
Use los comandos more cat para ver el contenido de visitantes.txt.
Vamos a extraer parte de visitantes.txt con el comando cut. El archivo visitantes.txt
contiene varios campos, cada campo separado del otro por dos puntos(:). Extraiga el primer campo
(nombre de usuario) con el comando cut f1 d: vistantes.txt. La opcin f1 (field) indica
que extraer el primer campo en todas las lneas, y la opcin d: indica que el delimitador entre
campos es el dos puntos (:).
Utilice cut para extraer el primer apellido de todos los usuarios y enve el output a el archivo
apellidos.txt. Repita el procedimiento para el primer nombre enviando el output al archivo
nombres.txt.

Pegue los archivos apellidos.txt y nombres.txt empleando el comando paste


apellidos.txt nombres.txt, enve el resultado al archivo nombre_completo.txt.
Repita este procedimiento pero cree un archivo donde el nombre est primero el nombre y el apellido
despus.
Ahora usted har algo un poco ms elaborado, a partir de visitantes.txt y empleando cut y
paste va a crear un archivo que se llame visitantes_new.txt el cual debe contener los
siguientes campos: cdigo, primer apellido, segundo apellido, primer nombre, segundo nombre,
semestre en ICESI y materias matriculadas.
Vamos a buscar palabras en un archivo empleando el comando grep. En todos los archivos con
extensin .txt busque la palabra futbol para identificar aquellos estudiantes que les gusta el futbol.
Escriba grep futbol *.txt. Ahora especifique que buscar solamente en el archivo
visitantes.txt.
Averige las posibles opciones del comando grep, y use las que usted piense seran tiles.

sed
sed (stream editor) es un comando y editor simultneamente. Se utiliza para cambiar un archivo de texto sin
tener que abrirlo con un editor de texto como vi, pico emacs.
-

Con sed podemos cambiar una palabra de un archivo por otra palabra. Por
ejemplo, usted puede cambiar la palabra palabra1 por la palabra palabra2
en el archivo archivo_x con el siguiente comando sed
s/palabra1/palabra2/ archivo_x. Intente hacer esto en su archivo
visitante_N.txt, cambie su deporte a ciclismo.
Como puede observar, sed enva su output a la terminal Xterm. Si desea
almacenar el producto del comando sed, usted deber enviar el output a un archivo empleando >.
Si el archivo_x contiene ms de una vez el texto palabra1, el comando dado anteriormente
solamente cambiar la primera palabra1 que encuentre dejando sin cambio las siguientes
apariciones de palabra1. Para cambiar globalmente palabra1 por palabra2 en todo el
archivo_x tenemos que aplicar el siguiente modificador del comando sed: sed
s/palabra1/palabra2/g archivo_x.
El comando sed es til tambin para extraer lneas de un archivo determinado. Por ejemplo, intente el
siguiente comando para extraer desde la lnea 2 a la 4 del archivo_x: sed -n 2,4p archivo_x.
Para extraer lneas no consecutivas intente: sed -n -e 1,2p -e 4p archivo_x. Esto
extraer las lneas 1, 2 y 4.

Otros comandos
Adems de los comandos de manejo de archivos y directorios, Linux ofrece comandos tiles para administrar o
conocer informacin de procesos y usuarios.
-

El comando ps (processes) se emplea para conocer que procesos estn corriendo en el sistema, intente
la lnea de comando ps u visitante_N y anote lo que observa. La opcin u indica el usuario, en
este caso visitante_N. La primera columna del output indica el PID (process ID),
este es un cdigo de identificacin que el sistema operativo le ha asignado a un
determinado proceso. Recuerde que Linux es un sistema multi-tarea, lo que indica
que muchos procesos pueden estar siendo ejecutados simultneamente para ms de

un usuario del sistema. La segunda columna, TTY, identifica la terminal desde la cual se ejecutaron (o
son ejecutados) los procesos. La tercera columna, TIME, identifica el tiempo de ejecucin del comando,
es decir cunto tiempo de computo (CPU time) ha empleado este proceso. Finalmente, la ltima
columna, CMD, indica el nombre del proceso o comando.
Ahora emplee la opcin A, revise el output y discuta. Por qu aparecen ms procesos con la opcin A?
Un comando que permite ver cmo los diferentes procesos ocupan los procesadores del computador es
top. Entre el comando top y discuta lo que observa.
Recuerde de nuevo que Linux es un sistema multi-usuario, lo que quiere decir que varios usuarios
pueden estar conectados simultneamente al sistema, cada uno realizando
diferentes procesos. Para conocer quienes estn conectados al sistema se usa el
comando who. Entre este comando y discuta lo observado.
Los procesos en Linux pueden correr en el foreground del sistema o en el
background. Por defecto al enviar un comando este ocupa el foreground lo que
significa que el intrprete de lnea de comando (Xterm) quedar ocupado
terminando el proceso que usted envi, y que solamente hasta que finalice ese
proceso usted podr enviar a ejecutar un segundo comando.
Enve el comando xterm y observe que sucede. Como podr observar, se abre una nueva terminal
Xterm. En la nueva Xterm usted podr entrar comandos, pero la Xterm inicial estar deshabilitada. La
nueva Xterm es un comando corriendo sobre el foreground de la Xterm inicial.
Ahora de clic sobre la Xterm original y pulse <control> c. Usted observara que este comando cancela
el proceso siendo ejecutado en el foreground.
Vuelva a ejecutar una Xterm en el foreground. Ahora vamos a liberar la Xterm inicial. Esto se hace
ubicndose sobre la Xterm original y dando el comando <control> z. Este comando parar la
ejecucin del comando que corre en el foreground, observe como la nueva Xterm ha quedado inactiva.
Ahora sobre la Xterm inicial entre el comando bg (background). Observe que ahora tiene dos Xterm
funcionando simultneamente. La nueva Xterm est siendo ejecutada en el background de la Xterm
inicial!
Vaya a la Xterm inicial y entre el comando ps. Observe que en los procesos listados hay una Xterm.
Vamos a terminar (matar) ese proceso. Para tal fin tenga en cuenta el PID de la
nueva Xterm y entre el comando kill -9 PID, con PID como el cdigo que
identifica el proceso asociado a la nueva Xterm que corre en el background de la
Xterm inicial.
Usted puede hacer que un comando se ejecute en el background directamente.
Para este fin se utiliza el modificador de comando & (ampersand). Entre el
comando xterm & y observe lo que sucede! Repita este comando desde la Xterm original y discuta lo
observado.
Las nuevas Xterm generadas son procesos hijos de la Xterm original. Ahora mate las dos nuevas Xterm.

Bibliografia:
http://www.colombialinux.com/index.php?section=1
http://es.wikipedia.org/wiki/GNU/Linux
Autor: Rubn Aponte 2011

También podría gustarte