Sei sulla pagina 1di 74

Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf.

212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

Fundamentos de
Solaris.

Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

Modulo I

COMPONENTES DEL SISTEMA OPERATIVO

Los componentes son:

KERNEL, SHELL, ESTRUCTURA DE ARCHIVOS, MULTI TAREAS, MULTI USUARIO.

Kernel:
El kernel ncleo de linux se puede definir como el corazn de este sistema
operativo. Es el encargado de que el software y el hardware de tu ordenador
puedan trabajar juntos.
Las funciones ms importantes del mismo, aunque no las nicas, son:

Administracin de la memoria para todos los programas y procesos en


ejecucin.

Administracin del tiempo de procesador que los programas y procesos


en ejecucin utilizan.

Es el encargado de que podamos acceder a los perifricos/elementos


de nuestro ordenador de una manera cmoda.

El Shell:
Es el intrprete de comandos de UNIX, el equivalente al COMMAND.COM de
MSDOS. Es decir, es el que coge todo lo que tecleamos y lo convierte en un
programa que se ejecuta.
Para empezar, no hay un shell, sino muchos shells. El ms simple es sh,
o Bourne shell, que es tan simple que prcticamente nadie utiliza, sin
embargo, es el ms comn a todos los sistemas, y adems, ciertos
programas lo usan, sobre todo los programas de instalacin (precisamente
por eso, por ser el minimo comun denominador de los shells). Algunos shells
se derivan de este, como el bash (Bourne again shell, el oficial de la GNU), y
el Korh shell, ksh.

Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

Estructura de directorios (File System)


El sistema de archivos (File System) es una gran coleccin de directorios y
archivos que guardan todo tipo de informacin. En sistemas de muchos
usuarios se pueden tener cientos o miles de archivos. Para organizar y
proteger todos estos archivos, en los sistemas UNIX, los archivos se
organizan en directorios que a la vez pueden contener adems de archivos
otros directorios subdirectorios).
Los directorios en los sistemas UNIX estn organizados conservando cierta
jerarqua, como se muestra en la siguiente figura esquemtica:
/ (root)
|
__________________|___________________
|
|
|
|
|
|
|
bin dev etc lib
tmp u usr
|
_________________|_____
|
|
|
|
|
|
local bin lib tmp adm
|
_________|________
|
|
|
|
bin lib src class
Todos los directorios estn debajo del directorio root denotado por "/". Los
directorios usr y local estn expandidos para as mostrar los subdirectorios.
Ya que el directorio root es la raz de todos los directorios, para indicar el
camino de un directorio particular se utiliza la siguiente notacin:
/usr
/usr/lib
usr/local/lib
El smbolo "/" utilizado al comienzo para indicar el directorio raz no debe ser
confundido con las siguientes "/" que son utilizados para separar los nombres
de los directorios.
Multi Tarea.
Es cuando un ordenador es capaz de realizar ms de una tarea a la vez.
Puede ser en paralelo (si tiene ms de un procesador) o concurrente (si slo
tiene uno).

Multi Usuario.
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

Un SO multiusuario permite a ms de un solo usuario accesar una


computadora. Claro que, para llevarse esto a cabo, el SO tambin debe ser
capaz de efectuar multitareas. Unix es el Sistema Operativo Multiusuario
ms utilizado. Debido a que Unix fue originalmente diseado para correr en
una minicomputadora, era multiusuario y multitarea desde su concepcin.

Modulo II

ACCESO AL SISTEMA

Login:
Control de acceso a un cierto sistema, normalmente basado en el nombre de
usuario y una contrasea (password).
Password.
Una contrasea o clave (en ingls password),
es
una
forma
de autenticacin que utiliza informacin secreta para controlar el acceso
hacia algn recurso.

Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

La consola
Entrando al sistema
En un sistema Linux existen 6 seudo-terminales independientes. Se puede
pasar de una a otra presionando simultneamente la tecla Ctrl+Alt con la
tecla F1 - F6. Cada seudo-terminal permite el ingreso al sistema en forma
independiente a diferentes cuentas. El sistema multi-usuario es una gran
caracterstica de los sistemas Unix y resulta muy adictiva.
En Unix se considera un buen hbito acceder al sistema como usuario
normal para realizar la mayora de las tareas.
Ctrl-Alt-F1/ F6:
Ctrl-Alt-F7:

Para cambiar a otra seudo-terminal


Para volver a X-Window

/etc/passwd
El fichero de contraseas es sin discusin el fichero ms crtico en Linux (y
en la mayora de otros Unix). Contiene el mapa de nombres de usuarios,
identificaciones de usuarios y la ID del grupo primario al que pertenece esa
persona. Tambin puede contener el fichero real, aunque es ms probable (y
mucho ms seguro) que utilice contraseas con shadow para mantener las
contraseas en /etc/shadow. Este fichero TIENE que ser legible por todo el
mundo, o si no comandos tan simples como ls dejaran de funcionar
correctamente. El campo GECOS puede contener datos tales como el nombre
real, el nmero de telfono y otro tipo de cosas parecidas en cuanto al
usuario, su directorio personal, que es el directorio en que se coloca al
usuario por defecto si hace un login interactivo, y el shell de login tiene que
ser un shell interactivo (como bash, o un programa de mens), y estar
listado en /etc/shells para que el usuario pueda hacer login. El formato es:
nombreusuario:contrasea_cifrada:UID:GID:campo_GECOS:direct_personal:lo
gin_shell
Las contraseas se guardan utilizando un hash de un slo sentido (el hash
utilizado por defecto es crypt, las distribuciones ms nuevas soportan MD5,
que es significativamente ms robusto). Las contraseas no pueden
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

obtenerse a partir de la forma cifrada, sin embargo, se puede tratar de


encontrar una contrasea utilizando fuerza bruta para pasar por el hash
cadenas de texto y compararlas, una vez que encuentres una que coincide,
sabes que has conseguido la contrasea. Esto no suele ser un problema por
s mismo, el problema surge cuando los usuarios escogen claves que son
fcilmente adivinables. Las encuestas ms recientes han demostrado que el
25% de las contraseas se pueden romper en menos de una hora, y lo que
es peor es que el 4% de los usuarios utilizan su propio nombre como
contrasea. Los campos en blanco en el campo de la contrasea se quedan
vacos, as que se vera "::", lo cual es algo crtico para los cuatro primeros
campos (nombre, contrasea, uid y gid).
/etc/shadow
El fichero de shadow alberga pares de nombres de usuario y contraseas, as
como informacin contable, como la fecha de expiracin, y otros campos
especiales. Este fichero debera protegerse a toda costa, y slo el root
debera tener acceso de lectura a l.
/etc/groups
El fichero de grupos contiene toda la informacin de pertenencia a grupos, y
opcionalmente elementos como la contrasea del grupo (generalmente
almacenado en gshadow en los sistemas actuales), este fichero debe ser
legible por el mundo para que el sistema funcione correctamente. El formato
es:
nombregrupo:contrasea_cifrada:GID:miembro1,miembro2,miembro3
Un grupo puede no contener miembros (p. ej., no est usado), slo un
miembro o mltiples miembros, y la contrasea es opcional (y no se suele
usar).

Modulo III

ADMINISTRACIN DE USUARIOS

Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

Tipos de usuarios
Los usuarios en Unix/Linux se identifican por un nmero nico de usuario,
User ID, UID. Y pertenecen a un grupo principal de usuario, identificado
tambin por un nmero nico de grupo, Group ID, GID. El usuario puede
pertenecer a ms grupos adems del principal.
Aunque sujeto a cierta polmica, es posible identificar tres tipos de usuarios
en Linux:
Usuario root
Tambin llamado superusuario o administrador.
Su UID (User ID) es 0 (cero).
Es la nica cuenta de usuario con privilegios sobre todo el sistema.
Acceso total a todos los archivos y directorios con independencia de
propietarios y permisos.

Controla la administracin de cuentas de usuarios.

Ejecuta tareas de mantenimiento del sistema.

Puede detener el sistema.

Instala software en el sistema.

Puede modificar o reconfigurar el kernel, controladores, etc.


Usuarios especiales

Ejemplos: bin, daemon, adm, lp, sync, shutdown, mail, operator,


squid, apache, etc.

Se les llama tambin cuentas del sistema.

No tiene todos los privilegios del usuario root, pero dependiendo de la


cuenta asumen distintos privilegios de root.

Lo anterior para proteger al sistema de posibles formas de vulnerar la


seguridad.

No tienen contraseas pues son cuentas que no estn diseadas para


iniciar sesiones con ellas.

Tambin se les conoce como cuentas de "no inicio de sesin"


(nologin).

Se crean (generalmente) automticamente al momento de la


instalacin de Linux o de la aplicacin.

Generalmente se les asigna un UID entre 1 y 100 (definifo en


/etc/login.defs)

Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

Usuarios normales
Se usan para usuarios individuales.
Cada usuario dispone de un directorio de trabajo, ubicado
generalmente en /home.

Cada usuario puede personalizar su entorno de trabajo.

Tienen solo privilegios completos en su directorio de trabajo o HOME.

Por seguridad, es siempre mejor trabajar como un usuario normal en


vez del usuario root, y cuando se requiera hacer uso de comandos solo de
root, utilizar el comando su.

En las distros actuales de Linux se les asigna generalmente un UID


superior a 500.

/etc/passwd
Cualquiera que sea el tipo de usuario, todas las cuentas se encuentran
definidas en el archivo de configuracin 'passwd', ubicado dentro del
directorio /etc. Este archivo es de texto tipo ASCII, se crea al momento de la
instalacin con el usuario root y las cuentas especiales, ms las cuentas de
usuarios normales que se hayan indicado al momento de la instalacin.
El archivo /etc/passwd contiene una lnea para cada usuario, similar a las
siguientes:
root:x:0:0:root:/root:/bin/bash
sergio:x:501:500:Sergio Gonzlez:/home/sergio:/bin/bash
La informacin de cada usuario est
delimitados cada uno por ':' dos puntos.

dividida

en

campos

/etc/passwd
Campo Es el nombre del usuario, identificador de inicio de sesin (login).
1
Tiene que ser nico.
La 'x' indica la contrasea encriptada del usuario, adems tambin
Campo indica que se est haciendo uso del archivo /etc/shadow, si no se
2
hace uso de este archivo, este campo se vera algo as como:
'ghy675gjuXCc12r5gt78uuu6R'.
Campo Nmero de identificacin del usuario (UID). Tiene que ser nico. 0
3
para root, generalmente las cuentas o usuarios especiales se
numeran del 1 al 100 y las de usuario normal del 101 en delante, en
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

las distribuciones mas recientes esta numeracin comienza a partir


del 500.
Numeracin de identificacin del grupo (GID). El que aparece es el
Campo
nmero de grupo principal del usuario, pero puede pertenecer a
4
otros, esto se configura en /etc/groups.
Campo
Comentarios o el nombre completo del usuario.
5
Campo Directorio de trabajo (Home) donde se sita al usuario despus del
6
inicio de sesin.
Campo
Shell que va a utilizar el usuario de forma predeterminada.
7

/etc/shadow
Anteriormente (en sistemas Unix) las contraseas cifradas se almacenaban
en el mismo /etc/passwd. El problema es que 'passwd' es un archivo que
puede ser ledo por cualquier usuario del sistema, aunque solo puede ser
modificado por root. Con cualquier computadora potente de hoy en da, un
buen programa de descifrado de contraseas y paciencia es posible
"crackear" contraseas dbiles (por eso la conveniencia de cambiar
peridicamente la contrasea de root y de otras cuentas importantes). El
archivo 'shadow', resuelve el problema ya que solo puede ser leido por root.
Considrese a 'shadow' como una extensin de 'passwd' ya que no solo
almacena la contrasea encriptada, sino que tiene otros campos de control
de contraseas.
El archivo /etc/shadow contiene una lnea para cada usuario, similar a las
siguientes:
root:ghy675gjuXCc12r5gt78uuu6R:10568:0:99999:7:7:-1::
sergio:rfgf886DG778sDFFDRRu78asd:10568:0:-1:9:-1:-1::
La informacin de cada usuario est dividida en 9 campos delimitados cada
uno por ':' dos puntos.
/etc/shadow
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

Campo
Nombre de la cuenta del usuario.
1
Campo
Contrasea cifrada o encriptada, un '*' indica cuenta de 'nologin'.
2
Campo Das transcurridos desde el 1/ene/1970 hasta la fecha en que la
3
contrasea fue cambiada por ltima vez.
Campo Nmero de das que deben transcurrir hasta que la contrasea se
4
pueda volver a cambiar.
Nmero de das tras los cuales hay que cambiar la contrasea. (-1
Campo
significa nunca). A partir de este dato se obtiene la fecha de
5
expiracin de la contrasea.
Campo Nmero de das antes de la expiracin de la contrasea en que se le
6
avisar al usuario al inicio de la sesin.
Campo Das despus de la expiracin en que la contrasea se inhabilitara, si
7
es que no se cambio.
Campo Fecha de caducidad de la cuenta. Se expresa en das transcurridos
8
desde el 1/Enero/1970 (epoch).
Campo
Reservado.
9

/etc/group
Este archivo guarda la relacin de los grupos a los que pertenecen los
usuarios del sistema, contiene una lnea para cada usuario con tres o cuatro
campos por usuario:
root:x:0:root
ana:x:501:
sergio:x:502:ventas,supervisores,produccion
cristina:x:503:ventas,sergio

El campo 1 indica el usuario.

Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

El campo 2 'x' indica la contrasea del grupo, que no existe, si hubiera


se mostrara un 'hash' encriptado.

El campo 3 es el Group ID (GID) o identificacin del grupo.

El campo 4 es opcional e indica la lista de grupos a los que pertenece


el usuario
Actualmente
al
crear
al
usuario
con useradd se
crea
tambin
automticamente su grupo principal de trabajo GID, con el mismo nombre
del usuario. Es decir, si se aade el usuario 'sergio' tambin se crea el
/etc/group el grupo 'sergio'. Aun asi, existen comandos de administracin de
grupos que se explicarn ms adelante.

Aadir usuarios con useradd


useradd o adduser es el comando que permite aadir nuevos usuarios al
sistema desde la lnea de comandos. Sus opciones ms comunes o
importantes son las siguientes:
-c aade un comentario al momento de crear al usuario, campo 5
de /etc/passwd

-d directorio de trabajo o home del usuario, campo 6 de /etc/passwd

-e fecha de expiracin de la cuenta, formato AAAA-MM-DD, campo 8


de /etc/shadow

-g nmero de grupo principal del usuario (GID), campo 4


de /etc/passwd

-G otros grupos a los que puede pertenecer el usuario, separados por


comas.

-r crea una cuenta del sistema o especial, su UID ser menor al


definido en /etc/login.defs en la variable UID_MIN, adems no se crea el
directorio de inicio.

-s shell por defecto del usuario cuando ingrese al sistema. Si no se


especifica, bash, es el que queda establecido.

-u UID del usuario, si no se indica esta opcin, automticamente se


establece el siguiente nmero disponible a partir del ltimo usuario creado.

Ahora bien, realmente no hay prcticamente necesidad de indicar ninguna


opcin ya que si hacemos lo siguiente:
#> useradd juan

Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

Se crear el usuario y su grupo, asi como las entradas correspondientes


en /etc/passwd, /etc/shadow y /etc/group. Tambin se crear el directorio de
inicio o de trabajo: /home/juan y los archivos de configuracin que van
dentro de este directorio y que ms adelante se detallan.
Las fechas de expiracin de contrasea, etc. Quedan lo ms amplias posibles
asi que no hay problema que la cuenta caduque, asi que prcticamente lo
nico que faltara sera aadir la contrasea del usuario y algn comentario o
identificacin de la cuenta. Como aadir el password o contrasea se
estudiara en un momento y viendo las opciones con '-c' es posible establecer
el comentario, campo 5 de /etc/passwd:
#> useradd -c "Juan Perez Hernandez" juan
Siempre el nombre del usuario es el ltimo parmetro del comando. Asi por
ejemplo, si queremos salirnos del default, podemos establecer algo como lo
siguiente:
#> useradd -d /usr/juan -s /bin/csh -u 800 -c "Juan Perez Hernandez" juan
Con lo anterior estamos cambiando su directorio de inicio, su shell por
defautl sera csh y su UID ser el 800 en vez de que el sistema tome el
siguiente nmero disponible.
Modificar usuarios con usermod
Como su nombre lo indica, usermod permite modificar o actualizar un
usuario o cuenta ya existente. Sus opciones ms comunes o importantes son
las siguientes:

-c aade o modifica el comentario, campo 5 de /etc/passwd

-d modifica el directorio de trabajo o home del usuario, campo 6


de /etc/passwd

-e cambia o establece la fecha de expiracin de la cuenta, formato


AAAA-MM-DD, campo 8 de /etc/shadow

-g cambia el nmero de grupo principal del usuario (GID), campo 4


de /etc/passwd

-G establece otros grupos a los que puede pertenecer el usuario,


separados por comas.

-l cambia el login o nombre del usuario, campo 1 de /etc/passwd y


de /etc/shadow
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

-L bloque la cuenta del usuario, no permitiendol que ingrese al


sistema. No borra ni cambia nada del usuario, solo lo deshabilita.

-s cambia el shell por defecto del usuario cuando ingrese al sistema.

-u cambia el UID del usuario.

-U desbloquea una cuenta previamente bloqueada con la opcin -L.


Si quiseramos cambiar el nombre de usuario de 'sergio' a 'sego':

#> usermod -l sego sergio


Casi seguro tambin cambiar el nombre del directorio de inicio o HOME
en /home, pero si no fuera as, entonces:
#> usermod -d /home/sego sego
Otros cambios o modificaciones en la misma cuenta:
#> usermod -c "supervisor de area" -s /bin/ksh -g 505 sego
Lo anterior modifica el comentario de la cuenta, su shell por defecto que
ahora sera Korn shell y su grupo principal de usuario qued establecido al
GID 505 y todo esto se aplic al usuario 'sego' que como se observa debe ser
el ltimo argumento del comando.

El usuario 'sego' sali de vacaciones y nos aseguramos de que nadie use su


cuenta:
#> usermod -L sego
Eliminar usuarios con userdel
Como su nombre lo indica, userdel elimina una cuenta del sistema, userdel
puede ser invocado de tres maneras:
#> userdel sergio
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

Sin opciones elimina la cuenta del usuario de /etc/passwd y de /etc/shadow,


pero no elimina su directorio de trabajo ni archivos contenidos en el mismo,
esta es la mejor opcin, ya que elimina la cuenta pero no la informacin de
la misma.
#> userdel -r sergio
Al igual que lo anterior elimina la cuenta totalmente, pero con la opcin -r
adems elimina su directorio de trabajo y archivos y directorios contenidos
en el mismo, asi como su buzn de correo, si es que estuvieran configuradas
las opciones de correo. La cuenta no se podr eliminar si el usuario esta
logueado o en el sistema al momento de ejecutar el comando.
#> userdel -f sergio
La opcin -f es igual que la opcin -r, elimina todo lo del usuario, cuenta,
directorios y archivos del usuario, pero adems lo hace sin importar si el
usuario esta actualmente en el sistema trabajando. Es una opcin muy
radical, adems de que podra causar inestabilidad en el sistema, asi que
hay que usarla solo en casos muy extremos.
Cambiar contraseas con passwd
Crear al usuario con useradd es el primer paso, el segundo es asignarle una
contrasea a ese usuario. Esto se logra con el comando passwd que
permitir ingresar la contrasea y su verificacin:
#> passwd sergio
Changing password for user prueba.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
#>
El usuario root es el nico que puede indicar el cambio o asignacin de
contraseas de cualquier usuario. Usuarios normales pueden cambiar su
contraea en cualquier momento con tan solo invocar passwd sin
argumentos, y podr de esta manera cambiar la contrasea cuantas veces lo
requiera.
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

passwd tiene integrado validacin de contraseas comunes, cortas, de


diccionario, etc. asi que si por ejemplo intento como usuario normal cambiar
mi contrasea a 'qwerty' el sistema me mostrar lo siguiente:
$> passwd
Changing password for user prueba.
New UNIX password:
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
$>
Ntese que al ingresar 'qwerty' como contrasea se detect que es una
secuencia ya conocida como contrasea y me manda la advertencia: "BAD
PASSWORD: it is based on a dictionary word", sin embargo me permite
continuar, al ingresar la verificacin. Es decir, passwd avisa de malas o
dbiles contraseas pero permite establecerlas si realmente se desea.
Resumiendo entonces, se podra decir que todo este tutorial se reduce a dos
lneas de comandos para crear y dejar listo para trabajar a un usuario en
Linux:
#> useradd ana
#> passwd ana
Se crea el usuario 'ana', useradd hace todo el trabajo de establecer el shell,
directorio de inicio, copiar archivos iniciales de configuracin de la cuenta,
etc. y despus passwd establece la contrasea. Asi de simple.
passwd tiene varias opciones que permiten bloquear la cuenta '-l',
desbloquearla '-u', y varias opciones ms que controlan la vigencia de la
contrasea, es decir, es otro modo de establecer los valores de la cuenta
en/etc/shadow. Para ms informacin consulta las pginas del manual:
$> man passwd

Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

Modulo IV

ADMINISTRANDO ARCHIVOS Y DIRECTORIOS


(CMD)

Uso de los comandos de archivo


Cada uno de los comandos que se presentan en esta seccin incluye un
ejemplo de su uso. Realice los ejemplos segn vaya leyendo el texto. Esta
prctica har que los comandos y sus respectivos conceptos sean ms
fciles de entender y recordar.
Antes de comenzar
Antes de que empiece a experimentar con archivos, asegrese de que est
en su directorio de usuario. Este es un directorio que le estableci su
administra-dor de sistemas cuando cre su autorizacin de acceso. Si
ejecuta las tareas que se muestran en los siguientes ejemplos desde su
directorio de usuario, le ser ms difcil crear, copiar, mover o (lo peor de
todo) eliminar archivos de partes del sistema que otros usuarios esperan que
permanezcan inalteradas.
Para cerciorarse de que se encuentra en su directorio de usuario, escriba
sola-mente el comando cd (abreviatura de change directory). Esto le llevar
a su di-rectorio de usuario (predeterminado). Despus escriba el
comando pwd (print working directory) para mostrar su posicin actual
dentro del sistema de archi-vos. El directorio que aparezca ser su directorio
de usuario.
$ cd
$ pwd
/export/home/nombre_del_u
suario
En este ejemplo, el directorio de usuario
es /export/home/nombre_del_usua-rio, en donde nombre_del_usuario es
el nombre del usuario al que pertenece el directorio de usuario.
Crear un archivo de prueba
Utilice el comando touch para crear un archivo vaco. Si no existe un archivo
con el nombre que haya especificado, el comando touch crer un archivo
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

vaco (si dicho archivo ya existe, touch actualizar la hora del ltimo acceso
al archi-vo).
$ touch
archivoprueba
$
Listar archivos (ls)
Ahora liste el archivo con el comando ls para verificar que lo ha creado:
$ ls
archivoprueba
tempfile
Si introduce el comando ls solamente, ste listar todos los archivos situados
en su posicin actual. Si introduce el comando ls con un nombre de archivo
determinado, listar slo dicho archivo, si es que existe.
Copiar archivos (cp)
Utilice el comando cp para copiar tempfile en un archivo llamado copyfi-le:
$ cp tempfile
copyfile
$
Ahora intente listar ambos archivos. Observe que los dos nombres acaban
con los caracteres "file". Puede utilizar el carcter comodn (*), para
sustituir a cual-quier carcter o secuencia de caracteres. Por lo tanto, el
comando ls *file debe listar tanto tempfile como copyfile (y cualquier archivo
de ese direc-torio cuyo nombre termine en file):
$ ls *file
copyfile
tempfile

Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

Observe que copyfile se lista primero. Los archivos se listan por orden alfabtico, (las letras maysculas y los nmeros preceden a las letras
minsculas).

Mover y renombrar archivos (mv)


Puede
mover
y
renombrar
archivos
utilizando
el
mismo
comando: mv (move). En este ejemplo, use el comando mv para
renombrar tempfile como emptyfile:
$ mv tempfile
emptyfile
$
Ahora liste de nuevo ambos archivos para verificar el cambio:
$ ls *file
copyfile
emptyfile
Como ve, tempfile ha sido reemplazado por emptyfile.

Eliminar archivos (rm)


Finalmente, use el comando rm (remove) para eliminar copyfile y compruebe el resultado con el comando ls:
$ rm copyfile
$ ls *file
emptyfile

Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

Atencin- Una vez que elimine un archivo, ste desaparecer para siempre. A no
ser que exista una copia de seguridad, no podr restablecer el archivo. Tenga cuidado al
usar el comando rm, y una especial precaucin si lo usa junto al carcter comodn (*). Los
archivos eliminados con rm no podrn recuperar

Mostrar el contenido del archivo (more, cat)


Use el comando more para mostrar el contenido de un archivo.
Escriba more seguido del nombre del archivo que se va a mostrar. El
contenido del archivo se desplazar hacia abajo en la pantalla. Si el archivo
es ms largo que una pantalla, aparecer el siguiente mensaje:
--More--(nn%) [Press space to continue,
'q' to quit.]
donde nn es el porcentaje de archivo ya mostrado.
Tambin puede usar el comando cat para mostrar el contenido de un archivo,
pero ste muestra de una vez el archivo completo sin pararse. El
comando cat (concatenate) se usa ms frecuentemente para unir dos o ms
archivos y for-mar otro ms grande, como se ve en el ejemplo siguiente:

$ cat file1 file2 file3 >


bigfile
$ ls *file
bigfile
file1
file2
file3
$

Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

Mostrar el tipo de archivo (file)


Algunos archivos como los binarios o los ejecutables no se pueden imprimir
ni mostrar en pantalla. El comando file puede resultarle til si no est seguro
del tipo de archivo.
Use el comando file para mostrar el tipo de archivo:
$ file copyfile
copyfile: ascii
text

Directorios y jerarqua
Hasta ahora ha aprendido a listar, copiar, renombrar y eliminar archivos. Sin
embargo, se estar preguntando acerca de aspectos ms complicados, como
por ejemplo dnde estn situados dichos archivos? Esta seccin explica la
jerar-qua del directorio. Lea con atencin el siguiente texto, y despus
realice los ejemplos de las secciones siguientes.
Jerarqua de directorio
Los archivos se agrupan en directorios, que a su vez se organizan en una
jerar-qua. En la cima de la jerarqua est el directorio "raz", representado
por "/".
Como se muestra en el ejemplo, cada directorio del siste-ma de archivos
puede incluir muchos otros directorios. La convencin consiste en distinguir
niveles de directorio mediante el carcter /. Teniendo esto en cuenta,
observe
que
el
directorio/ (raz)
contiene
entre
otros
los
subdirectorios /usr, /bin, /home y /lib.
El
subdirectorio /home contiene user1, user2, y user3.
Los directorios (y los archivos que hay en su interior) se especifican
incluyendo el nombre de los directorios en los que estn. A esto se le
llama nombre de ruta. de acceso. Por ejemplo, el nombre de la ruta de
acceso del directorio user3 de la prxima ilustracin es /home/user3.

Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

Todos los subdirectorios y nombres de archivo que incluya un directorio


deben ser nicos. Sin embargo, los nombres pertenecientes a directorios
diferentes pueden ser iguales. Por ejemplo, el directorio /usr contiene el
subdirectorio /usr/lib. No hay ningn conflicto entre /usr/lib y /lib porque los
nom-bres de ruta de acceso son diferentes.
Los nombres de ruta de acceso de los archivos trabajan exactamente igual
que los nombres de ruta de acceso de los directorios. El nombre de ruta de
acceso de un archivo describe su posicin dentro de la jerarqua del sistema
de archi-vos. Por ejemplo, si el directorio /home/user2 contiene un archivo
llamado report5, su nombre de ruta de acceso ser /home/user2/report5.
Esto in-dica que el archivo report5 est dentro del directorio user2, que a su
vez est incluido en el directorio home, que se encuentra en el directorio raz
(/).
Los directorios pueden contener slo directorios, slo archivos, o ambos.
Imprimir el directorio en uso (pwd)
El comando pwd (print working directory) le indica donde se encuentra
dentro de la jerarqua del sistema de archivos:
$ pwd
/home/use
r1

Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

El resultado que obtenga ser algo diferente al del ejemplo, ya que la


estructu-ra de su directorio es diferente. Recuerde que el directorio en uso es
su posi-cin actual dentro de la jerarqua del sistema de archivos.
Su directorio de usuario
Cada usuario tiene un directorio de usuario. Cuando abre por primera vez la
ventana de la Herramienta de comandos o la Herramienta del shell en el
entor-no OpenWindows, su posicin inicial (directorio en uso) es su directorio
de usuario. Dicho directorio lo estableci su administrador de sistemas
cuando cre su cuenta de acceso.
Cambiar el directorio en uso (cd)
El comando cd (change directory) le permite moverse dentro de la jerarqua
del sistema de archivos:
$ cd
/usr/lib
$ pwd
/usr/lib
Si escribe el comando cd solamente, vuelve a su directorio de usuario. Por
ejemplo, si su directorio de usuario era /home/user1:
$ cd
$ pwd
/home/use
r1
En el shell C, el signo tilde (~) se usa como un mtodo abreviado para
especifi-car su directorio de usuario. Por ejemplo, para cambiar el
subdirectorio music debera escribir lo siguiente dentro de su directorio de
usuari
example%
~/music

cd

Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

Tambin puede usar dicho mtodo abreviado para especificar el directorio de


usuario de otro usuario. Por ejemplo:
example% cd ~nombre_del_usuario
Donde nombre_del_usuario es el nombre de entrada de otro usuario, y
cambiara al directorio de usuario de dicho usuario.

Nota - Si est utilizando el shell Bourne, el mtodo abreviado ~ no


funcionar.

Si est usando el shell Bourne, es posible que su administrador de sistemas


lo haya configurado para que Vd. pueda escribir $home para especificar su
direc-torio de usuario. Si este es el caso escriba:
$
$home/music
Esto le trasladar al subdirectorio music de su directorio de usuario. Del mismo modo, si escribe:
$ $homenombre_del_usuario
Se trasladar al directorio de usuario del usuario que haya especificado,
donde username representa el nombre de entrada del otro usuario.
El directorio situado justo "por encima" de un subdirectorio se
denomina direc-torio maestro. En el ejemplo anterior, /home es el
directorio maestro de /ho-me/user1. El smbolo.. ("punto, punto") representa
el directorio maestro. Por lo tanto, el comando cd .. Cambia el directorio en
uso al directorio maestro, como muestra este ejemplo:
$ pwd
/home/use
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

r1
$ cd ..
$ pwd
/home

Suponga que su directorio en uso actual es /home/user1 y desea trabajar con


varios archivos en /home/user2. El siguiente mtodo abreviado podr serle
til:
$ pwd
/home/use
r1
$ cd
../user2
$ pwd
/home/use
r2
../user2 ordena al sistema buscar user2 en el directorio maestro. Como
puede observar, esto resulta ms sencillo que escribir el nombre de ruta de
ac-ceso /home/user2 entero.
Crear un directorio (mkdir)
Crear un directorio nuevo es fcil. Escriba el comando mkdir seguido del
nom-bre del nuevo directorio:
$ mkdir veggies
$ cd veggies
$ mkdir broccoli
$ cd broccoli
$ pwd
/home/user2/veggies/br
occoli

Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

Nombres de ruta de acceso relativos


El nombre de ruta de acceso completo de un directorio o de un archivo
comien-za por un signo (/) y describe toda la estructura del directorio
comprendida entre dicho archivo (o directorio) y el directorio raz. Sin
embargo, a menudo puede usar un nombre mucho ms corto que define el
archivo o directorio en relacin con el directorio actual en uso.
Cuando se encuentre en el directorio maestro, puede desplazarse a un subdirectorio utilizando slo el nombre del directorio y no el nombre de ruta de acceso completo. En el ejemplo anterior, el comando cd veggies usa el nombre
de ruta de acceso relativo del directorio veggies. Si el directorio en uso
actual es /home/user2, el nombre de ruta de acceso completo de este
directorio es /home/user2/veggies.
Intente crear varios subdirectorios diferentes y despus muvase por ellos
den-tro de la estructura del directorio. Use los nombres de ruta de acceso
completos y los nombres de ruta de acceso relativos y confirme su posicin
con el coman-do pwd.
Mover y renombrar directorios
Un directorio se renombra movindolo a un nombre diferente. Use el
comando mv para renombrar archivos:
$ pwd
/home/user2/veg
gies
$ ls
broccoli
$ mv broccoli
carrots
$ ls
carrots
Tambin puede usar mv para mover un directorio a una posicin de otro
direc-torio:
$ pwd
/home/user2/veggi
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

es
$ ls
carrots
$ mv carrots
../veggies2
$ ls ../veggies2
carrots
En este ejemplo, el directorio carrots se mueve de veggies a veggies2 con el
comando mv.
Copiar directorios
Use el comando cp -r para copiar directorios y los archivos que contengan:
$ cp -r veggies
veggies3
$
Este comando copia todos los archivos y directorios dentro del
directorio veg-gies en un nuevo directorio veggies3. Esta es una
copia recursiva, como de-signa la opcin -r. Si intenta copiar un directorio
sin usar esta opcin, aparecer un mensaje de error.
Eliminar directorios (rmdir)
Para eliminar un directorio vaco utilice el comando rmdir como sigue:
$ rmdir
veggies3
$
Si el directorio contiene todava
comando rmdir no lo eliminar.

archivos

subdirectorios,

el

Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

Use rm -r (agregando la opcin recursiva -r al comando rm) para eliminar


un directorio y su contenido, incluyendo cualquier subdirectorio y sus
archivos, del modo siguiente:
$ rm
veggies3
$

-r

Atencin- Los
directorios
eliminados
con
el
comando rmdir no pueden reco-brarse, igual que sucede con los
directorios y su contenido eliminados con el comando rm -r.

Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

Modulo V

HERRAMIENTAS DE BUSQUEDAS (FIND GREP)

Buscar archivos (find)


El comando find busca archivos que cumplan las condiciones que Vd.
especifique, comenzando por el directorio que nombre. Por ejemplo, si quiere
buscar nombres de archivos que concuerden con determinado patrn o que
hayan sido modificados durante un periodo de tiempo determinado.
Al contrario que la mayora de los comandos, las opciones de find tienen una
longitud de varios caracteres, y el nombre del directorio inicial debe ir antes
que stos en la lnea de comando, como se indica a continuacin:
$ find directorio opciones
donde directorio es el nombre del directorio inicial y opciones representa
las op-ciones del comando find.
Cada opcin describe un criterio de seleccin de archivos. Un archivo debe
cumplir todos los criterios para ser seleccionado. De este modo, cuntas ms
opciones aplique, ms limitado ser el campo. La opcin -print indica que Vd.
desea que se muestre el resultado, (como se describir ms adelante, puede
utilizar find para ejecutar comandos; en ese caso, deber ordenarle
a find que omita la visualizacin de los archivos seleccionados).
La opcin -name nombre_de_archivo le indica a find que seleccione
archivos
que
concuerden
con nombre_de_archivo.
Aqu, nombre_de_archivo se considera como el componente situado ms a
la derecha del nombre de ruta de acceso completo de un archivo. Por
ejemplo,
el
componente
situado
ms
a
la
derecha
de /usr/lib/calendar sera calendar. A esta parte del nombre de un ar-chivo se
la denomina a menudo nombre base.

Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

Por ejemplo, para ver que archivos del directorio en uso y sus subdirectorios
terminan en s, escriba:
$ find . -name '*s'
-print
./programs
./programs/graphic
s
Otras opciones incluyen:
-name nombre_de_archivo
Selecciona archivos cuyo elemento situado ms a la derecha concuerda
con nombre_de_archivo. Escriba nombre_de_archivo entre comillas si
ste incluye patrones de sustitucin de nombre de archivo.
-user id_usuario
Selecciona archivos pertenecientes a id_usuario. id_usuario pude ser un
nom-bre de entrada o un nmero de identificacin de usuario.
-group grupo
Selecciona archivos pertenecientes a group.
-m time n
Selecciona archivos que han sido modificados hace n das.
-newer checkfile
Selecciona archivos
que checkfi-le.

que

han

sido

modificados

ms

recientemente

Puede especificar un orden de preferencia, combinando opciones entre


parn-tesis (precedidos por una barra inclinada), (por ejemplo,\(options\) ).
Dentro de este tipo de parntesis se puede usar el indicador -o entre las
opciones para indicar que find seleccione los archivos que cumplan esta
categora, en vez de aquellos que cumplan ambas.:
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

$ find . \( -name AAA -o -name


BBB \) -print
./AAA
./BBB
Puede invertir el sentido de una opcin situando de lante de ella un signo de
admiracin precedido por una barra inclinada. Entonces, find seleccionar archivos a los que no afecte dicha opcin:
$ find . \!-name BBB
-print
./AAA
Tambin puede usar find para aplicar comandos a los archivos que ste
selec-cione con la opcin:
-exec command '{}' \;
Dicha opcin termina con un punto y coma precedido por una barra inclinada
(\;). Las llaves entre comillas se reemplazan por los nombres de archivo
que find selecciona.
Como ejemplo, puede usar find para eliminar automticamente archivos de
trabajo temporales. Si nombra coherentemente sus archivos temporales,
puede utilizar find para buscarlos y destruirlos siempre que le estorben. Por
ejemplo, si llama a sus archivos temporales junk o dummy, el comando los
encontrar y eliminar
$ find . \( -name junk -o -name dummy \)
-exec rm '{}' \;

grep
El comando grep (Global Regular Expression and Print) permite buscar las
lneas que contienen una cadena de caracteres especificada mediante una
expresin regular. Lee la entrada estndar o una lista de archivos y muestra
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

en la salida slo aquellas lneas que contienen la expresin indicada. La


sintaxis es
grep patrn archivos
Donde el patrn a buscar es una expresin regular.
Crear un archivo con los das de la semana, uno por lnea; llamarle dias.
grep martes dias
grep tes dias
Muestra las lneas del archivo dias que contienen la cadena "tes".
grep unix01 /etc/passwd
grep unix0[1-9] /etc/passwd
ls -l /usr | grep '^d'
Lista slo los subdirectorios del directorio /usr (la lnea empieza con "d").

Modulo VI

ADMINISTRACION DE LOS PERMISOS EN ARCHIVOS Y


DIRECTORIOS

Seguridad de archivos y directorios


Nota - Lea esta seccin atentamente. Un buen entendimiento de los
permisos de archivo es siempre importante para el trabajo cotidiano.
Los permisos de archivo protegen a los archivos y los directorios para que no
se puedan leer ni escribir sin autorizacin. A menudo tendr archivos que
quiera que otras personas puedan leer pero no cambiar. En otras ocasiones,
de-ber compartir archivos ejecutables (programas). Los permisos de archivo
le permiten controlar el acceso a sus archivos.
Estos son los tipos bsicos de acceso de archivos y directorios:

Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

r - permiso de lectura. Un archivo debe poderse leer si se quiere


examinar o copiar. Un directorio debe poderse leer si se quiere listar
su contenido.

w - permiso de escritura. Un archivo debe poder escribirse si


desea modifi-carlo, eliminarlo o renombrarlo. Un directorio debe
poder escribirse para agregar o eliminar archivos en l.

x - permiso de ejecucin. Un archivo con permisos ejecutables


es aquel que Vd. puede procesar, como por ejemplo un programa.
Un directorio debe ser ejecutable si quiere tener acceso a
cualquiera de sus subdirectorios.

Existen tres categoras de usuarios para los que puede establecer


permisos:

Uno mismo - El usuario

Grupo - Otros usuarios pertenecientes al mismo grupo del


usuario (por ejemplo, todos los usuarios con cuenta de acceso). Los
grupos los establece y mantiene su administrador de sistemas.

Otros - Todos los dems

Mostrar permisos y estado (ls -l)


Ya ha utilizado el comando ls para listar archivos. El comando ls dispone de
muchas opciones. Use la opcin -l para mostrar una lista con formato largo.
Los archivos y directorios se listan por orden alfabtico. La Ilustracin 3-2
ejemplifica este mtodo para mostrar archivos:

Illustracin 3-2Mostrar permisos y estado


El primer carcter de la lnea indica el tipo de archivo. Un guin (-) es un archivo corriente; una d indica un directorio, y otros caracteres pueden indicar
ti-pos de archivos especiales.

Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

Los nueve caracteres siguientes indican los permisos del archivo o el


directorio. Dichos caracteres estn formados por tres grupos de tres
elementos, que indi-can los permisos del propietario del archivo, del grupo
de dicho propietario y del mundo respectivamente. Los permisos
para emptyfile son rw-r--r--, que indican que el propietario del archivo puede
leerlo y escribir en l, que to-dos pueden leerlo y nadie puede ejecutarlo. Los
permisos del directorio veg-gies2 son rwxr-xr-x, que indican que todos tienen
permiso para leerlo y ejecutarlo, pero que slo su dueo puede escribir en l.
Adems de los permisos de archivo, la pantalla muestra la siguiente informacin:

El nmero de enlaces con dicho archivo o directorio.

El nombre del propietario (user2 en este caso).

El nmero de bytes (caracteres) del archivo.

Fecha y hora en la que el archivo o el directorio fue actualizado


la ltima vez.

Nombre del archivo o directorio.

Use el comando cd para desplazarse a su directorio de usuario y pruebe el


co-mando ls -l. Por supuesto, el resultado que obtenga ser diferente al del
ejemplo.
Ahora intente escribir un comando como este:
$ ls -l nombre_de_directorio
donde nombre_de_directorio es el nombre de un directorio existente en su
siste-ma de archivos. Cuando le pone nombre a un directorio, el comando ls
-l im-prime informacin relativa a todos los archivos y directorios (si los hay)
de dicho directorio.
Listar archivos "ocultos" (ls -a)
Hay algunos archivos que no son listados por el comando ls. Dichos archivos
comienzan por el carcter. (llamado "punto"), como por ejemplo.cshrc,.login o.profile. Use el comando ls -a para listar los citados archivos punto:
$ ls -a
.
..
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

.cshrc
.login
.profile
emptyfile
Observe que los archivos que comienzan por. son listados antes que los dems. Hay dos archivos especiales en este listado: el archivo. es la referencia
del directorio en uso, y el archivo.. es la referencia del directorio maestro.
Hablando en general, los archivos que comienzan por. son usados por utilidades del sistema y el usuario normalmente no los modifica. Existen algunas
ex-cepciones al respecto.
Cambiar permisos (chmod)
Use el comando chmod para cambiar los permisos de un archivo o un
directo-rio. Vd. debe ser el propietario del archivo o del directorio, o tener
acceso al di-rectorio raz para cambiar sus permisos. La forma general del
comando chmod es:
chmod permisos nombre
donde permisos indica los permisos que se quieren cambiar y nombre es el
nombre del archivo o directorio afectado.
Los permisos pueden especificarse de varias formas. A continuacin se cita
uno de los mtodos ms sencillos:
1. Usar una o ms letras para indicar los usuarios implicados:

u (para el usuario)

g (para el grupo)

o (para otros)

a (all; para todas las categoras anteriores)

2. Indicar si los permisos se van a agregar (+) o eliminar (-).


3. Utilizar una o ms letras para indicar los permisos:

r (read; de lectura)

w (write; de escritura)

x (execute; de ejecucin)

Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

En el ejemplo siguiente, se agrega un permiso de lectura al


directorio carrots para los usuarios que pertenezcan al mismo grupo (de esta
forma, permisos es g+w y nombre es carrots):
$ ls -l carrots
drwxr-xr-x 3 user2
11:15 carrots
$ chmod g+w carrots
$ ls -l carrots
drwxrwxr-x 3 user2
11:15 carrots
$

1024 Feb 10

1024 Feb 10

Como puede ver, el guin (-) del conjunto de caracteres de grupo se cambia
por una w como resultado del uso del comando.
Para que otros usuarios que no pertenezcan al grupo no puedan leer ni
ejecutar este mismo directorio (permisos es o-rx), tendra que escribir lo
siguiente:
$ ls -l carrots
drwxrwxr-x 3 user2
11:15 carrots
$ chmod o-rx carrots
$ ls -l carrots
drwxrwx--- 3 user2
11:15 carrots
$

1024 Feb 10

1024 Feb 10

Ahora, la r (de read) y la x (de execute) del conjunto de caracteres


correspon-diente a otros usuarios se cambian por guiones (-).
Cuando cree un archivo o un directorio nuevo, el sistema le asignar
automticamente permisos.
En general, la configuracin predeterminada para los archivos nuevos es:
-rw-r--r-y para los directorios nuevos es:
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

drwxr-xr-x
De forma que para hacer ejecutable un archivo nuevo como turnip, su
propie-tario (user2), debera introducir lo siguiente:
$ ls -l turnip
-rw-r--r-- 3 user2
12:27 turnip
$ chmod u+x turnip
$ ls -l turnip
-rwxr--r-- 3 user2
12:27 turnip
$

1024 Feb 10

1024 Feb 10

Si quiere afectar a las tres categoras de usuarios a la vez, use la opcin a. Si


quiere hacer que un archivo nuevo como garlic sea ejecutable por todos, tendra que introducir lo siguiente:
$ ls -l garlic
-rw-r--r-- 3 user2
11:31 garlic
$ chmod a+x garlic
$ ls -l garlic
-rwxr-xr-x 3 user2
11:31 garlic
$
Como resultado
categoras.

de

1024 Feb 10

1024 Feb 10

esto,

el

indicador x aparecer

en

las

tres

Tambin puede cambiar los permisos de grupos de archivos o directorios


utili-zando carcter comodn *. Por ejemplo, para cambiar los permisos de
todos los archivos del directorio actual veggies para que slo Vd. pueda
escribir en ellos, tendra que escribir lo siguiente:
$ pwd
/home/user2/veggies
$ ls -l
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

-rwxrwxrwx 3 user2
21032 Feb 12
10:31 beats
-rwxrwxrwx 2 user2
68 Feb 10
11:09 corn
-rwxrwxrwx 3 user2
12675 Feb 08
09:31 garlic
-rwxrwxrwx 1 user2
1024 Feb 14
16:38 onions
$ chmod go-w *
$ ls -l
-rwxr-xr-x 3 user2
21032 Feb 12
10:31 beats
-rwxr-xr-x 2 user2
68 Feb 10
11:09 corn
En este ejemplo se incluye el comando pwd para mostrar que el directorio en
el que realiza la operacin chmod debe ser el actual.
Establecer permisos absolutos
Hasta el momento, en esta presentacin de los permisos slo se ha incluido
el comando chmod para cambiar permisos relativos a su configuracin
actual. Si utiliza una forma diferente del comando chmod, que aplica cdigos
numricos para especificar permisos, puede establecer el permiso de un
archivo o un di-rectorio de manera absoluta.
La sintaxis de este modode utilizar el comando chmod es:
chmod numcode name
donde numcode es el cdigo numrico y name es el nombre del archivo o
del di-rectorio al que est cambiando los permisos.
El cdigo numrico completo consta de tres nmeros. Se usa un nmero
para cada una de las tres categoras: usuario, grupo y otros. Por ejemplo, el
siguien-te comando establece permisos absolutos de lectura, escritura y
ejecucin para el usuario y el grupo, y slo permiso de ejecucin para otros
usuarios:
$ chmod 771
garlic
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

La Tabla 3-1 ilustra cmo el cdigo 771 representa los permisos asignados
a garlic.
Table
de garlic

3-1 Permisos

Permis Usuar Grup Otro


o
io
o
s

Lectur 4
a

Escritu 2
ra

Ejecuci 1
n

Total

Cada columna de la Tabla 3-1 representa una de las categoras: usuario,


grupo y otros. Para establecer permisos de lectura se agrega un 4 en la
columna apro-piada, para establecer permisos de escritura un 2 y para
permisos de ejecucin un 1. El total de las tres columnas, en la ltima hilera
de la tabla, es el cdigo numrico completo.
A continuacin se muestra otro ejemplo del uso de este mtodo de
establecer permisos absolutos, incluyendo el comando ls -l para demostrar el
resultado:
$ ls -l onion
-rw-r--r-- 3 user2
11:46 onion
$ chmod 755 onion
$ ls -l onion
-rwxr-xr-x 3 user2
11:48 onion

1024 Feb 10

1024 Feb 10

Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

$
Se establecen los permisos del archivo onion para que el usuario pueda
leerlo, escribir en l o ejecutarlo; los miembros del grupo puedan leerlo y
ejecutarlo y otros usuarios puedan tambin leerlo y ejecutarlo. La Tabla 3-2
muestra el des-glose de los cdigos numricos utilizados para establecer los
permisos de onion.
Table
de onion

3-2 Permisos

Permis Usuar Grup Otro


o
io
o
s

Lectur 4
a

Escritu 2
ra

Ejecuci 1
n

Total

Por supuesto, para conceder permisos de lectura, escritura y ejecucin a Vd.


mismo, a su grupo o a otros usuarios respecto al archivo cabbage, escribira
lo siguiente:
$ ls -l cabbage
-rw-r--r-- 3 user2
1024 Feb 10 11:51
cabbage
$ chmod 777 cabbage
$ ls -l cabbage
-rwxrwxrwx 3 user2
1024 Feb 10
11:53 cabbage
La Tabla 3-3 muestra el desglose de este ejemplo.
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

Table
de cabbage

3-3 Permisos

Permis Usuar Grup Otro


o
io
o
s

Lectur 4
a

Escritu 2
ra

Ejecuci 1
n

Total

El cdigo numrico 777 representa el nivel de permisos mximo que puede


conceder.
Se puede utilizar el carcter comodn * para establecer permisos absolutos
para todos los archivos del directorio, del mismo modo que se cambian los
per-misos relativos. Por ejemplo, para establecer permisos absolutos de
todos los archivos del directorio veggies de modo que Vd. pueda leer,
escribir y ejecu-tar dichos permisos, su grupo pueda leerlos y ejecutarlos, y
los dems usuarios puedan slo ejecutarlos, tendra que escribir lo siguiente:
$ pwd
/home/user2/veggies
$ ls -l
-rwxrwxrwx 3 user2
10:31 beats
-rwxrwxrwx 2 user2
11:09 corn
-rwxrwxrwx 3 user2
09:31 garlic
-rwxrwxrwx 1 user2

21032 Feb 12
68 Feb 10
12675 Feb 08
1024 Feb 14

Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

16:38 onions
$ chmod 751 *
$ ls -l
-rwxr-x--x 3 user2
10:31 beats
-rwxr-x--x 2 user2
11:09 corn
-rwxr-x--x 3 user2
09:31 garlic
-rwxr-x--x 1 user2
16:38 onions
$

21032 Feb 12
68 Feb 10
12675 Feb 08
1024 Feb 14

En este ejemplo se incluye el comando pwd para ilustrar que el directorio en


el que realiza esta operacin debe ser el directorio actual. El comando ls -l se
muestra slo para ilustrar los cambios que han sufrido los permisos. Cuando
se establecen permisos absolutos no es necesario saber qu permisos estn
en ac-tivo.
Si desea ms informacin acerca del comando chmod, consulte man
Pages(1): User Commands.

Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

Modulo VII

USANDO EL EDITOR DE (vi)

EDITOR VI
El editor vi es el editor por excelencia de UNIX. Es bastante potente y
complicado de manejar a pleno rendimiento, debido a la gran cantidad de
opciones que tiene, pero es fcil dar los primeros pasos e ir avanzando poco
a poco. Es difcil de utilizar al principio, pero puede llegar a convertirse en el
ms cmodo y rpido.
En UNIX existen otros editores ms potentes, con entornos de trabajo ms
amigables, otros ms sencillos de manejar, pero el nico editor que est en
todas las versiones y se maneja igual es el vi.
La sintaxis del comando vi es, al igual que la de cualquier comando UNIX:
vi [opciones] archivo
En vi existen 3 modos de trabajo:

Modo comando: cada tecla tiene un significado, y se puede desplazar


el cursor, copiar, pegar, mover, borrar, etc. Hay que tener mucho
cuidado, pues un comando en minsculas o en maysculas tienen
efectos muy diferentes.

Modo texto: se emplea para aadir o modificar el texto del


documento.

Modo ex: insercin de comandos del editor de lneas ex. Se emplea


para cambios masivos en el documento.

Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

MODO TEXTO
Acceso a modo texto
i

Insertar antes del cursor.

Insertar al principio de la lnea.

Aadir despus del cursor.

Aadir al final de la lnea.

Abrir lnea debajo de la actual.

Abrir lnea encima de la actual.

Sobreescribir (cambiar) texto.

Sobreescribir el carcter sobre el que est


el cursor.

Reemplaza caracteres.

cw

Reemplaza palabras.

C o c$

Reemplaza hasta el fin de lnea.

c0

Reemplaza desde el comienzo de lnea.

os comandos de reemplazo admiten multiplicadores que consisten en un


nmero antecediendo al comando. Al dar un comando de reemplazo el editor
coloca un smbolo $ en donde termina el pedido de reemplazo. El usuario
sobrescribe normalmente hasta donde necesite, y sale con la tecla ESC.
Estos comandos admiten multiplicadores, por ejemplo 3cw abre un rea de
reemplazo para 3 palabras.

Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

Otros
BS
(Back Borrar carcter hacia la izquierda.
Space)
Salir de Modo Texto y pasar a modo
comando.

ESC
MODO COMANDO

lgunos de estos comandos admiten multiplicadores, que consisten en un


nmero antecediendo al comando.
Movimiento del cursor y Control de pantalla
flechas

Mover en distintas direcciones.

h BS (Back Una posicin hacia la izquierda.


Space)
l

(Espacio)

SP Una posicin hacia la derecha.

k-

Una lnea hacia arriba.

j+

Una lnea hacia abajo.

Fin de lnea.

0 (Cero)

Principio de lnea.

1G

Comienzo del archivo.

Fin del archivo.

18G

Lnea nmero 18.

Ctrl-G

Mostrar nmero de lnea actual.

Comienzo de la palabra siguiente.

Fin de la palabra siguiente.

Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

Fin de la palabra siguiente antes de espacio.

Principio de la palabra anterior.

Primera palabra de la lnea.

Hasta el parntesis que aparea.

Parte superior de la pantalla.

Parte inferior de la pantalla.

Al medio de la pantalla.

23|

Cursor a la columna 23.

Ctrl-f

Una pantalla adelante.

Ctrl-b

Una pantalla atrs.

Ctrl-l

Refrescar la pantalla.

Ctrl-d

Media pantalla adelante.

Ctrl-u

Media pantalla atrs.

Bsqueda
/str

Buscar hacia
caracteres 'str'.

adelante

cadena

de

?str

Buscar hacia atrs cadena de caracteres


'str'.

Buscar siguiente (si se us /) o anterior (si


se us ?).

Buscar anterior (si se us /) o siguiente (si

Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

se us ?).

fc

Buscar el siguiente carcter 'c' en la


lnea.

Fc

Buscar el anterior carcter 'c' en la lnea.

tc

Ir al carcter anterior al siguiente 'c'.

Tc

Ir al carcter posterior al precedente 'c'.

Repetir el ltimo comando f, F, t, o T.

ltimo comando f, F, t, o T en sentido


inverso.

a cadena a buscar en / o ? puede ser una expresin regular.


a accin de f, F, t y T alcanza slo a la lnea actual; si el carcter buscado no
est en esa lnea el cursor no se mueve.
Borrar, Copiar y Pegar
x

Borrar carcter bajo el cursor.

dd

Borrar lnea, queda guardada.

Borrar desde cursor a fin de lnea.

dw

Borrar desde cursor a fin de palabra.

d$

Borrar desde cursor a fin de lnea.

d0

Borrar desde cursor a principio de lnea.

d)

Borra hasta el final del prrafo.

Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

Y o yy

Copiar lnea.

Pegar antes del cursor.

Pegar despus del cursor.

yw

Copiar palabra.

y$

Copiar de cursor a fin de lnea.

"ayy o "aY

Copiar lnea en buffer llamado 'a'.

'a' "ayw

Copiar palabra en buffer llamado 'a'.

"ap

Pegar desde buffer 'a', a la derecha del cursor.

"aP

Pegar desde buffer 'a', a la izquierda del cursor.

"bdd

Borrar lnea y guardar en buffer 'b'.

"bdw

Borrar palabra y guardar en buffer 'b'.

Unir la lnea actual y la siguiente (suprimir el


retorno de carro).

Otros
ZZ

Grabar cambios si los hubo y salir.

Deshacer ltima accin.

Deshacer todos los cambios en una lnea desde que se


posicion el cursor en ella.

Repetir el ltimo comando.


Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

MODO EX O ULTIMA LINEA


Generales
:q

Salir si no hubo cambios.

:q!

Salir sin guardar cambios.

:w

Guardar cambios.

:w arch1

Guardar cambios en archivo arch1.

:wq

Guardar cambios y salir.

:r arch2

Insertar un archivo.

:e arch2

Editar un nuevo archivo.

:e! arch2

Idem sin salvar anterior.

:r! comando Insertar salida de comando.


:shell

Salir al shell (vuelve con exit).

:.=

Muestra el nmero de lnea en que se halla


en cursor.

Mover
:1

Mueve a lnea 1.

:15

Mueve a lnea 15.

:$

Mueve a ltima
lnea.

Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

Opciones, abreviaturas y macros


:set

Cambio de opciones.

:set nu

Mostrar nmeros de lnea.

:set nonu

No mostrar nmeros de lnea .

:set showmode

Mostrar modo actual de vi.

:set
noshowmode

No mostrar modo actual de vi.

:ab
[cadena]

Cada vez que se teclee la cadena abr, sta se expandir


escribiendo cadena.

[abr]

:ab

Muestra las abreviaturas creadas.

:una [abr]

Elimina la abreviatura abr.

:map
[accion]

[c] Genera la macro c que ejecutar la accin indicada.

:map

Muestra las macros definidas.

Otros
:[desde],[hasta]
[buscar]/
[reemplazar]/

s/

:[desde],[hasta]
[buscar]/
[reemplazar]/g

s/

:[desde],[hasta] d

Reemplaza todas la primera ocurrencia de la cadena


[buscar], en cada lnea, por la cadena [reemplazar]
entre las lneas [desde] y [hasta] del archivo.
Reemplaza todas las ocurrencias de la cadena
[buscar] por la cadena [reemplazar] entre las lneas
[desde] y [hasta] del archivo.
Borra las lneas comprendidas entre las lneas [desde]
y [hasta].

Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

Ejemplos:
Cambia Martes por martes en todo el
:1,$s/Martes/martes/g archivo.

:.,5s/ayuda/&ndo/g

Cambia ayuda por ayudando desde lnea


actual hasta la 5 lnea.

:.,$ d

Elimina todas las lneas desde la lnea


actual al final del archivo.

:ab pp Hola Pepe

Cada vez que se teclee "pp " se expandir


en "Hola Pepe".

Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

Modulo VIII

ARCHIVOS DE INICIALIZACIN

Archivos de Inicializacin:
Los archivos de inicializacin contienen comandos para que los ejecute el
shell cuando empieza a correr. De esta manera se optimiza el desempeo del
shell y se adecua a las necesidades del usuario.
A diferencia de lo que ocurre con las variables personales, que se eliminan al
salir del sistema, los archivos de inicializacin permanecen en la
configuracin de entrada y salida del sistema.
Existen dos tipos de archivos de inicializacin, los de acceso que se ejecutan
cuando entramos al sistema; este archivo puede llamarse .login o.profile,
dependiendo del shell con el que se trabaje.
El otro archivo es el de inicializacin de shell, el cual contiene los comandos
que se ejecutan cuando se comienza el proceso de un nuevo shell.
Podemos reconocer a los archivos de inicializacin porque generalmente, sus
nombres, inician con un punto, lo cual indica que son archivos ocultos y que
no se mostrarn al ejecutar el comando ls; para poder ver todos los archivos,
incluyendo los ocultos, es necesario ejecutar el comando ls -a.
Archivos para C shell

Archivo

Contenido

.cshrcContiene los comandos que se ejecutan cuando se empieza a correr un


nuevo shell.
.login Contiene los comandos que se ejecutan al iniciar una sesin en el
sistema.
.logout

Comandos que se ejecutan al terminar una sesin en el sistema.

Archivos para Bourne shell


Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

Archivo

Contenido

.profile
Contiene los comandos que se ejecutan al iniciar una sesin en
el sistema.
A diferencia del cshell, en el Bourne shell no existe un archivo que guarde los
comandos que se ejecutan al iniciar un subshell, esta informacin se guarda
en las variables de ambiente.
Los ficheros de inicio de Bash
El intrprete de comandos /bin/bash (de aqu en adelante nos referiremos a
l como "el intrprete") usa una coleccin de ficheros de inicio para ayudar a
crear un entorno en el que ejecutarse. Cada fichero tiene un uso especfico y
puede afectar de manera diferente a entornos interactivos y de conexin.
Un intrprete interactivo de conexin se ejecuta despus de una entrada al
sistema correcta, mediante /bin/login, leyendo el fichero /etc/passwd. Un
intrprete interactivo de no conexin se ejecuta mediante la lnea de
comandos (por ejemplo, [prompt]$/bin/bash). Un intrprete no interactivo
est presente normalmente cuando se ejecuta un guin. Es no interactivo
porque est procesando un guin y no est esperando a que el usuario
introduzca un comando.
Para ms informacin, consulta info bash -- Nodos: Bash Startup Files e
Interactive Shells (Ficheros de inicio de Bash e Intrpretes Interactivos)
Se necesitan los siguientes ficheros para asegurarse que se lee el entorno
correcto para cada una de las formas en que el intrprete puede ser
invocado: /etc/profile, /etc/bashrc, ~/.bash_profile y ~/.bashrc.
El
fichero ~/.bash_logout no se usa para la invocacin del intrprete. Es ledo
por
este
cuando
un
usuario
sale
del
sistema.
Los
ficheros /etc/profile y ~/.bash_profile son ledos cuando se ejecuta un
intrprete interactivo de conexin. El fichero ~/.bashrc es ledo cuando se
ejecuta un intrprete interactivo de no conexin.
Definir alias
Un alias es un nombre de una orden ficticia, que se sustituye por otra orden
(en general, por cualquier ristra que nosotros queramos). Uno de los usos
ms tiles es para ``soldar'' opciones a un programa. Es decir, si hay un
programa que siempre vamos a llamar con las mismas opciones (por
ejemplo, se supone que nos gusta el ls en color, y para ello tenemos que
darle la opcin --color), es muy til tener definido un alias para la propia
orden, que sustituya la orden por la orden ms las opciones que queramos.
En este caso, queremos que siempre que escribamos ls al principio de una
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

lnea (o sea, cada vez que llamemos al programa ls), se cambie la


ristra ls porls --color (y que deje todo lo que fuera despus intacto, por
supuesto).
Para ello, nos basta con escribir (si lo queremos siempre, lo escribiremos en
nuestro .bash_profile o .bashrc; las comillas son importantes)
alias ls="ls --color"
Tambin, si ests acostumbrados a teclear win para entrar en el entorno de
ventanas, y por alguna razn patolgica o poltica :-) no quieres
acostumbrarte a escribir startx, puedes definirte un alias tal que as (aqu no
hacen falta las comillas porque startx no contiene espacios):
alias win=startx
Alias tiles
Ah va una lista de alias tiles para el novato, junto con una breve
explicacin:
alias
alias
alias
alias
alias

ll='ls -l'
# Si quieres conservar el ls original
ls='ls -lF --color'
# Listado largo en color
mv='mv -i'
#\
Pedir confirmacin
cp='cp -i'
# > antes de
rm='rm -i'
#/
sobreescribir

Variables de entorno
Las variables de entorno son unos valores, etiquetados con un nombre (para
los que sepan programar: variables de las de toda la vida; el nombre de de
entorno es porque definen el entorno de trabajo, no por otra cosa).
Convencionalmente, los nombres de las variables se ponen en maysculas.
Las variables de entorno tienen tres usos bsicos:
1. Usarlos para escribir menos, o tener valores fijos. Si no entiendes esto,

probablemente no te sirva. Tampoco es que se utilicen mucho.


2. Variables que consulten otros programas. Esto es importante, y estas

variables, para
que las
vean
que exportarlas (lo explico luego).

otros

programas,

tenemos

3. Variables para consultar, que generalmente no se modifican. Por

ejemplo, dan informacin sobre el directorio raz del usuario.


Algunas variables de entorno interesantes

EDITOR. Anloga a la anterior, aunque se prefiere VISUAL.

Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

PATH. La variable que indica las rutas donde se buscan los ejecutables,
si no se da una ruta completa para llegar hasta ellos. Es una lista de
rutas separada por ``:''. Si el directorio actual no est incluido, al
ejecutar un programa que est en el directorio actual el intrprete nos
dir que no lo encuentra, y tendremos que darle una ruta absoluta,
como ./programa, para poder ejecutarlo.

HOME. Indica el directorio raz del usuario. Si el usuario se llama pepe,


lo ms normal es que HOME tenga el valor /home/pepe.

Exportar variables de entorno


Para exportar variables de entorno, tenemos dos posibilidades:
1. Declararlas directamente como exportadas, escribiendo algo como:
2.

export VISUAL=/bin/vi

3. Exportarlas despus de haberlas declarado, escribiendo algo como:


4.
5.
6.

VISUAL=/bin/vi
# Aqu le damos un valor
# Ms cosas
export VISUAL
Es importante saber que el export soporta ms de una variable, o sea,
podramos poner
(por comodidad, las variables exportadas no hay que declararlas todas
juntas):
VISUAL=/bin/vi
LANG=spanish
# Ms rdenes
export VISUAL LANG

Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

Modulo IX

MONITOREO DE LOS PROCESOS DEL SISTEMA

Tareas y procesos
En este punto tendremos que empezar a determinar que es un proceso y una
tarea. Anteriormente dijimos que un programa se transformaba en proceso
en el momento en que este se ejecutaba y estaba en memoria. Adems del
nombre que el proceso recibe, que es el nombre del programa que esta
corriendo, recibe tambin un nmero identificativo llamado PID (process ID, o
ID de proceso). Si ejecutamos el comando ps veremos los procesos que
estn ejecutando en este momento con nuestro UID, es decir que estamos
corriendo nosotros mismos
[shrek@pantano:~]$ ps
PID TTY STAT TIME COMMAND
172 p0 S 0:00 -bash
184 p0 R 0:00 ps
[shrek@pantano:~]$
Se puede ver que estn corriendo dos procesos, el bash (que es el intrprete
de comandos) y el proceso ps que es el que estamos usando en este
momento en una terminal determinada. Como se puede ver el primer
nmero es el PID que el sistema le asigna al proceso y en la columna
COMMAND se puede ver el nombre del proceso. De ninguna manera estos
son todos los procesos que se estn ejecutando en el sistema. Si se quisieran
ver todos los procesos tendran que poner ps -ax con lo que obtendran un
listado con todos los procesos que se estn ejecutando. Como se puede
apreciar, estn ambos procesos ejecutndose al mismo tiempo, pero solo
uno de ellos esta activo, el comando ps. Nos podemos dar cuenta de esto ya
que en la columna STAT aparece en la lnea del bash la letra S de SLEEP, ya
que en ese momento el intrprete de comandos esta esperando a que el
procesops termine. Y es aqu donde esta la diferencia entre proceso y tarea.
Aunque ambos son procesos, una tarea se refiere al proceso que esta
corriendo. Este calificativo solo lo da el shell del sistema cuando se utilizan
los controles de tareas dado que no todos los intrpretes de comandos
soportan este tipo de control.
Primer y segundo plano
Cualquier proceso puede estar en primer o segundo plano. Lo nico a tener
en cuenta es que solo un proceso estar en primer plano al mismo tiempo y
es con el que estemos trabajando e interactuando en ese momento. Un
proceso que este en segundo plano no recibir ninguna seal de parte
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

nuestra, es decir que no nos podemos comunicar con l a travs, por


ejemplo, del teclado. La utilidad de enviar un programa a segundo plano esta
dada por el hecho de que existen tareas que no requieren de nuestro control
para que se ejecuten. Por ejemplo, bajar algn archivo de Internet, compilar
el kernel u otro programa. Estas son tareas que pueden ser lanzadas
tranquilamente en segundo plano. Para lanzar un proceso en segundo plano,
tendremos que poner a continuacin del comando el smbolo &. Para
ejemplificar esto usaremos el comando find y dejaremos que busque todos
los archivos que existen en el disco
[shrek@pantano:~]$ find / -name "*"
Esto nos mostrara una lista bastante larga de archivos por pantalla y nos
quedaramos sin el control del intrprete de comandos mientras esta
ejecutndose. Podramos usar el dispositivo null, que si recuerdan era como
un agujero negro donde todo lo que se enviaba a l desapareca, para
redirigir la salida y que no saliera por pantalla
[shrek@pantano~]$ find / -name "*" > /dev/null
Igualmente as no contaramos con la atencin de nuestro interprete de
comandos hasta que terminara el trabajo el comando find. La forma de
tener la atencin del shell inmediatamente despus de lanzar el
proceso find es envindolo en segundo plano
[shrek@pantano:~]$ find / -name "*" > /dev/null &
[1] 192
[shrek@pantano:~]$
Como se aprecia, regres de inmediato al shell, pero antes envi un mensaje
a la terminal. El [1] representa a un nmero de trabajo que el shell asigna a
cada uno de los procesos que pasa a segundo plano. Inmediatamente
despus vemos el nmero de PID del proceso. Podremos identificar al
proceso por cualquiera de los dos nmeros mientras se encuentre en
segundo plano. Para ver cuantos trabajos estn ejecutndose en este
momento podemos usar el comando jobs.
[shrek@pantano:~]$ jobs
[1]+ Running
find / -name "*" >/dev/null &
[shrek@pantano:~]$
Podremos eliminar un proceso que se esta ejecutando con la ayuda del
comando kill seguido bien sea del nmero de trabajo precedido de un signo
% o del nmero de PID. De esta forma estamos matando al proceso pero
puede darse el caso de que este tarde en desaparecer dado que tiene que
limpiar el entorno, por esto muchas veces parecer que no nos a hecho caso.
En realidad el proceso esta haciendo una limpieza del sistema evitando as el
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

mal funcionamiento del mismo y/o una inconsistencia en los datos con que
trabajaba. Como ejemplo usaremos otro comando muy tpico, el
comando yes. Este comando enviar a la salida estndar continuamente la
letra y. Sirve este comando para que en caso de que se requiera contestar
afirmativamente a las peticiones de un programa pudiremos mediante una
redireccin contestarle con un y a cada pregunta. Si lo ejecutramos sin
redirigir la salida a /dev/null, nos llenara la pantalla con una columna infinita
de y. Por esto lo enviaremos a segundo plano redirigiendo la salida y luego lo
mataremos con el comando kill.
[shrek@pantano:~]$ yes > /dev/null &
[1] 201
[shrek@pantano:~]$ kill %1
[shrek@pantano:~]$ jobs
[1]+ Terminated
yes > /dev/null &
[shrek@pantano:~]$
Como podrn ver, en el momento en que se mando el comando kill, no hubo
ningn mensaje. Solo despus de ejecutar el comando jobs se nos informo
que el trabajo nmero 1 haba finalizado (TERMINATED). Podemos tambin
hacer lo mismo empleando el nmero de PID con lo que obtendremos
idnticos resultados.
[shrek@pantano:~]$ kill 201
Como parar y relanzar tareas
Los procesos pueden ser suspendidos temporalmente hasta que nosotros
dispongamos, para as relanzarlos y que continen ejecutando donde se
haban quedado. Esto es de gran utilidad. Supongamos que se esta
trabajando con el editor de texto Vi y no queremos trabajar en otra consola,
solo tenemos que enviar al programa Vi a dormir un rato y tendremos el
intrprete de comandos a nuestra disposicin. En la mayora de los
programas, se enva una seal de terminacin utilizando las teclas Ctrl-C,
para poder enviar un trabajo a dormir utilizaremos otra combinacin de
teclas Ctrl-Z. Hay que tener en cuenta que no es lo mismo un trabajo en
segundo plano que uno que es enviado a dormir. Un trabajo en segundo
plano sigue ejecutndose, en cambio uno que se enva a dormir queda
esperando en el lugar donde estaba hasta que sea despertado. Para
ejemplificar esto, enviaremos al comando yes a segundo plano y luego lo
pondremos a dormir.
[shrek@pantano:~]$ yes >/dev/null &
[shrek@pantano:~]$ yes >/dev/null
Ahora presionamos Ctrl-Z
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

[shrek@pantano:~]$ yes >/dev/null &


[shrek@pantano:~]$ yes >/dev/null
[2]+ Stopped
yes >/dev/null
[shrek@pantano:~]$ jobs
[1]- Running
yes >/dev/null &
[2]+ Stopped
yes >/dev/null
Como pueden ver, el proceso que se envi a segundo plano todava se esta
ejecutando (Running), en cambio la que se mando dormir estaparada
esperando que la relancemos (Stopped). Para ponerlo en primerplano o
despertarlo a cualquiera de los dos podemos usar el signo "%"seguido del
nmero del proceso o bien el comando fg.
[shrek@pantano:~]$ %1
yes >/dev/null &
Ahora presionamos Ctrl-Z
[shrek@pantano:~]$ fg %1
yes >/dev/null
Podremos enviar tambin un comando que esta durmiendo a que ejecute en
segundo plano a travs del comando bg
[shrek@pantano:~]$ jobs
[1]- Stopped
yes >/dev/null
[shrek@pantano:~]$ bg %1
[1]+ yes >/dev/null &
[shrek@pantano:~]$ jobs
[1]+ Running
yes >/dev/null &
Cabe decir que tanto fg como bg son comandos internos del intrprete de
comando. Esto es as porque es el mismo intrprete quien hace el control de
tareas. Puede darse el caso de que existan intrpretes de comandos que no
tengan soporte para control de tareas.
Programas de seguimiento (ps y top)
Los sistemas GNU/Linux cuentan varios programas para efectuar el
seguimiento de los procesos que se estn ejecutando en el sistema. Entre los
mas usados en la interfase de texto estn los programas ps y top.
ps
Sin ninguna opcin dar la lista de procesos que estn corriendo desde la
terminal donde se ejecuto el ps
[shrek@pantano:~]$ ps
PID TTY
TIME CMD
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

9648 tty2
00:00:02 bash
9659 tty2
00:00:00 ps
[shrek@pantano:~]$
Las columnas que nos quedan por explicar son TTY y TIME. TTY identifica la
consola donde se esta ejecutando el proceso. En este caso es una terminal
local. La columna TIME nos indica la cantidad de tiempo total que el proceso
se ha estado ejecutando. Como se puede ver el tiempo es de 2 segundos.
Aunque este horas el sistema encendido, el bash pasa su mayor parte del
tiempo esperando que se le envie algn comando para ejecutar, mientras
tanto esta esperando dormido. Puede verse en la columna STAT en que
estado se encuentra el programa. Por ejemplo, que vemos que el bash en el
momento de ejecutarse el comando ps esta dormido (S) y que el
proceso ps esta activo (R). Si aadimos la opcin l tendremos un listado
largo del comando ps. En algunas versiones se usa la opcin -l
[shrek@pantano:~]$ ps l
F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND
4 100 9648
1 9 0 4368 1400 11b1d0 S tty2 0:01 -bash
4 100 9660 9648 17 0 2676 732
- R tty2 0:00 ps l
Dentro de esta informacin esta la columna del UID que identifica el dueo
del proceso. El PID del proceso y tambin el PPID que es el PID del proceso
padre. Podemos apreciar que el padre del comando ps l es el -bash. NI viene
de nice y es un nivel que se otorga a un proceso para requerir cierto
privilegio. En este caso tiene uno muy bajo por ende un proceso que tenga
un valor mayor tendr ms tiempo de procesador para trabajar. SIZE es el
tamao que tiene el proceso. RSS es la tamao del proceso que se encuentra
residente en la memoria. WCHAN es el nombre de la funcin del kernel
donde el proceso esta durmiendo. Esta expresado en forma hexadecimal.
Otra forma en la que podemos ver el padre de cada proceso es a travs del
modificador f.
[shrek@pantano:~]$ ps f
PID TTY
STAT TIME COMMAND
9648 tty2
S
0:02 -bash
9660 tty2
R
0:00 \_ps f
[shrek@pantano~]$
Aqu se puede ver que el comando ps f depende del -bash.
top
Ahora bien, el comando ps nos muestra una radiografa de los procesos en el
momento, pero no nos muestra los cambios que se van teniendo. Para esto
contamos con el comando top. El mismo muestra en tiempo real la situacin
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

de los procesos que se estn ejecutando en el sistema, ordenados por


defecto segn el porcentaje la CPU que estn usando. Al ejecutarlo se podr
ver otra informacin adicional, como la cantidad de usuarios que estn en el
sistema, cuantos procesos estn corriendo y de estos cuantos estas activos,
cuantos durmiendo, cuantos en proceso de terminar (ZOMBIE) y cuantos
finalizados. Adems se podr ver la cantidad e memoria fsica total, la
cantidad usada y la cantidad libre; as como tambin se podr obtener la
misma informacin de la memoria swap.
Lo ms importante es que esta informacin de ira actualizando
automticamente cada tanto tiempo, por defecto 5 segundos, y que
podremos ir alterando lo que va mostrando. Por ejemplo podemos hacer que
ordene los procesos de acuerdo a la cantidad de memoria que esta usando
con solo presionar la tecla M. U ordenarlos de acuerdo al tiempo que llevan
corriendo. Otra utilidad es que podramos matar algn proceso con solo
presionar la tecla k y luego darle el nmero de PID.
El listado que nos mostrar contendr el nmero de PID, el usuario que lo
est ejecutando, la prioridad del proceso (PRI), el valor nice (NI), el tamao
del proceso (SIZE), el tamao total del proceso junto con los datos que
maneja (RSS), el tamao usado por el proceso en la memoria (SHARE), el
estado del proceso(STAT), el tamao de las libreras del proceso (LIB), el
porcentaje de CPU ( %CPU) y de memoria (%MEM) as como tambin el
tiempo de ejecucin (TIME) y el nombre del proceso (COMMAND).
Programando tareas en Linux con cron y at
Cron es un servicio de Linux que permite planificar tareas o procesos para
una ejecucin peridica. Con cron podremos planificar tareas como por
ejemplo, borrar ficheros temporales todas las noches, apagar la mquina a
una hora determinada, realizar copias de seguridad cada semana
automticamente, etc.La forma normal de programar una tarea es con el
comando crontab. La sintaxis de este comando es la siguiente:
crontab -l: muestra las entradas programadas por el usuario.

crontab -e: edita el fichero de configuracin del usuario.

crontab -r: elimina el fichero crontab del usuario.

crontab -u usuario: aplica una de las opciones anteriores para un


usuario determinado.

crontab fich: instala el fichero fich como crontab del usuario.

Cada usuario tiene un fichero de configuracin crontab que se encuentra en


el directorio /var/spool/cron/crontabs. Este fichero tiene una sintaxis
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

especfica y en l escribiremos una lnea para cada accin que queramos


programar. Cada lnea tiene un formato con los siguientes campos:
minutos horas da-mes mes da-semana comando
El valor que puede tomar cada uno de los campos es el siguiente:

minutos: 0-59

horas: 0-23

da-mes: 1-31

mes: 1-12

da-semana: 0-7 (el domingo se puede indicar con 0 o con 7)

Veamos
a
continuacin
algn
ejemplo.
Supongamos
que
el
usuario alex quiere realizar una copia de los documentos que tiene en el
directorio /home/alex/documents/. El contenido de todo ese directorio lo
quiere copiar al directorio /home/alex/copiaseguridad/ el da 15 de cada
mes a las 22:30 horas. Cmo se hara con cron? Pues en primer lugar
debera editar su fichero de configuracin crontab escribiendo crontab -e en
la consola (Aplicaciones/Accesorios/Terminal).Cuando lo haga se abrir su
fichero de configuracin con el editor de textos predeterminado. El editor de
textos utilizado es el definido en las variables EDITOR o VISUAL. En ese
fichero el usuario alex escribir la siguiente lnea:
30 22 15 * * cp -r /home/alex/documents/* /home/alex/copiaseguridad/

Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

El smbolo * en este caso indica que la tarea se ejecutar todos los meses
caiga en el da de la semana que caiga el da 15. Por eso ponemos * en el
campo mes y da-semana.Veamos otro ejemplo. El usuario alex quiere
programar una tarea para que se apague la mquina todos los das a las
3:00. En este caso la lnea en el fichero de configuracin crontab quedar
de la siguiente manera:
3 0 * * * halt

En el fichero de configuracin crontab se puede hacer uso de ciertos


caracteres especiales como el asterisco (*), la coma, el guin, o la barra (/).
La coma sirve para especificar una lista. En el siguiente ejemplo se realiza
una copia del directorio documents los das 15, 16, 17 y 18 de cada mes a
las 22:30 horas.
30
22
15,16,17,18
/home/alex/copiaseguridad/

cp

-r

/home/alex/documents/*

El guin permite especificar un rango. Otra forma de indicar lo mismo que el


ejemplo anterior empleando el guin sera:
30 22 15-18 * * cp -r /home/alex/documents/* /home/alex/copiaseguridad/
El carcter barra (/) permite especificar intervalos en los rangos. Por ejemplo,
si hablamos de horas, 8-16/2 significa que el comando se ejecutar a las 8,
10, 12, 14 y 16 horas. Si hablamos de minutos, por ejemplo, */5 significa
cada 5 minutos.
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

Se debe aclarar tambin que en el fichero de configuracin se pueden indicar


los das de la semana y meses con abreviaturas en vez de nmeros (sun,
mon, jan, feb)
Tambin se pueden especificar los siguientes sinnimos:

@reboot: cada vez que el sistema arranque.

@yearly: equivale a 0 0 1 1 *

@monthly: equivale a 0 0 1 * *

@weekly: equivale a 0 0 * * 0

@daily: equivale a 0 0 * * *

@hourly: equivale a 0 * * * *

Aparte del archivo crontab de cada usuario, que ya hemos comentado que se
encuentra en el directorio /var/spool/cron/crontabs/, hay un crontab general
para todos los usuarios que se encuentra en /etc/crontab. Este fichero slo
puede ser modificado por el administrador (root).En este archivo cada lnea
tiene un campo adicional en el que se especificar el usuario que ejecutar
cada tarea:
minutos horas da-mes mes da-semana usuario comando
El comando at
El comando at permite ejecutar tareas a una determinada hora. El formato
bsico de este comando es: at hora . Si queremos, por ejemplo, apagar la
mquina a las 22:30, tendramos que abrir el terminal y escribir en la lnea
de comandos: at 22:30. A continuacin aparecer el prompt de at en el que
escribiremos el comando a ejecutar, en nuestro caso el comando halt.
Cuando lo hayamos hecho pulsaremos la combinacin de teclas Control+D
para salir de at.

Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

Para mostrar la lista de tareas programadas emplearemos el comando at con


el parmetro -l: at -l. Podemos hacer lo mismo con el comando atq. Si lo que
queremos es eliminar una tarea emplearemos el comando at con los
parmetros -d num_tarea . Cada tarea tiene asociado un nmero que
podemos ver con at -l. Tambin podemos eliminar una tarea
con atrm num_tarea.
At permite especificar la hora de diferentes formas:
now + intervalo, donde intervalo puede ser minutes, hours, days,
weeks o months. Si, por ejemplo, queremos ejecutar una tarea dentro de
3 horas, la manera correcta sera: at now+3 hours.

at hora da. Ejemplos: at 5am May 20, at 20:30 May, at 20:30 5/5/2008.
El parmetro da es opcional. Tambin podemos usar noon (medioda),
teatime (4pm) o midnight (00:00).

Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

MODULO X

TAREAS DE RESPALDO CON LA HERRAMIENTA


(tar)

Este es un comando que naci cuando era prctica com el realizar


respaldos en cinta, lo que le proporcion desde sus inicios a tar una serie de
funcionalidades poco conocidas, siendo esto el tema a desarrollar a
continuacin.
Fecha de publicacin: 9 de julio de 2003 (1a. parte) y 16 de julio de 2003
(2a. parte).
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

tar es uno de los comandos ms antiguos de Unix y en algunos casos, muy


subutilizado. Linux usa la versin GNU Tar, que puede ser localizada
en http://www.gnu.org/software/tar/, pudindose instalar en la mayora de los
sabores de Unix actuales y MS DOS.
Sirve para generar y administrar archivos que contengan otros archivos, muy
utilizados para realizar respaldos; de hecho, originalmente fue consebido
para respaldos en cintas. A pesar de la sencillez con que lo utilizamos, tar es
uno de los ms completos programas en su tipo, que puede manejar otros
formatos, agregar nuevos archivos a los paquetes ya creados y mucho ms.
Generalmente los archivos generados tiene terminacin .tar, pero esto no es
un requisito para su buen funcionamiento; en ocasiones se les
denomina TARBALL o archivos
TAR.
tar tiene dos clases de argumentos, los operadores y las opciones. De los
primeros existen ocho, por lo que tenemos ocho modos de operacin. Este
documento no es una visin exahustiva de este comando, sino slo una gua
de referencia rpida, por lo que slo se vern las formas ms usuales de
utilizarlo.
Tenemos tres formas de llamar los argumentos, la forma larga, la corta y el
estilo antiguo (mantenido principalmente por compatibilidad con el tar de
Unix), de lo que mostramos algunos ejemplos que producen el mismo
resultado:
# tar --create --verbose --file=archivador.tar carpeta1/
# tar -c -v -f archivador.tar carpeta1/
# tar -cvf archivador.tar carpeta1/
Los comandos ms comunes, presentados en forma larga y corta, son:
--create, -c Generan un nuevo archivo tar.
--list, -t Listan los documentos en un archivo tar.
--extract, -x Extraen el contenido de archivo tar.
--file, -f Determina el archivo tar.
--append, -r Agrega nuevos archivos a un tar existente.
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

--update, -r Actualiza los archivos ms recientes a un tar existente.


--concatenate, --catenate, -A Concatena archivos a un tar existente.
--delete Elimina elementos de un tar existente.
--compare, --diff, -d Compara un tar con su contraparte en el sistema.
--verbose, -v Presenta en pantalla los archivos que tar est manipulando.
--help Presenta la pantalla de ayuda.
Su estructrura para invocarlo es:
# tar opcin... [nombre]...
# tar letra... [argumento]... [opcin]... [nombre]...
Para efectos de estos ejercicios, vamos a utilizar una carpeta temporal donde
se incluyan estos archivos:
[crowley@servidor temp]$ ls
archivo2.txt archivo3.txt archivo4.txt archivo.txt texto1.txt
Para crear un archivo tar, podemos usar dos formas, la primera implica
declarar los archivos uno a uno, dentro de la carpeta que los contiene o
tecleando la ruta de los mismos.
# tar -cvf temporal.tar archivo.txt texto1.txt
archivo.txt
texto1.txt
Otra forma es declarando la carpeta completa que los contiene, lo que
implica estar fuera de la misma o declarar su ruta completa. Esta forma tiene
la ventaja de respetar la estructura interna de las subcarpetas.
# tar -cvf temporal.tar temp/
temp/
temp/texto1.txt
temp/archivo.txt
temp/archivo2.txt
temp/archivo3.txt
temp/archivo4.txt
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

Nota: El parmetro v es opcional, lo utilizamos en estos ejercicios para que


nos
muestre
la
salida
del
sistema.
Una vez que ya tenemos un tar, podemos ver su contenido con -t o --list,
como queramos ejecutarlo.
# tar -t --file=temporal.tar
temp/
temp/texto1.txt
temp/archivo.txt
temp/archivo2.txt
temp/archivo3.txt
temp/archivo4.txt
En este caso, el uso de --file= es obligatorio. Si se utiliza esto con el
parmetro -v, parecer que utilizamos ls -l en una carpeta.
# tar -vt --file=temporal.tar
drwxr-xr-x crowley/crowley 0 2003-07-09 13:56:41 temp/
-rw-rw-r-- crowley/crowley 1006 2003-05-14 10:17:08 temp/texto1.txt
-rw-rw-r-- crowley/crowley 82 2003-05-14 10:58:46 temp/archivo.txt
-rw-rw-r-- crowley/crowley 32 2003-05-28 17:55:48 temp/archivo2.txt
-rw-rw-r-- crowley/crowley 21 2003-05-28 18:17:57 temp/archivo3.txt
-rw-rw-r-- crowley/crowley 39 2003-05-28 18:34:13 temp/archivo4.txt
Tambin es factible solicitar la informacin de un slo archivo.
# tar -v --list --file=temporal.tar temp/archivo2.txt
-rw-rw-r-- crowley/crowley 32 2003-05-28 17:55:48 temp/archivo2.txt
Debido a la especificacin de tar, al preservar la ruta de los archivos, es
necesario especificarlos manualmente cuando se listan uno a uno.
El siguiente proceso es extraer los archivos, accin que realizamos con -extract (--get, -x). Para extraer todo el contenido, necesitamos hacerlo as:
# tar -xvf temporal.tar
temp/
temp/texto1.txt
temp/archivo.txt
temp/archivo2.txt
temp/archivo3.txt
temp/archivo4.txt
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

Este proceso sobreescribe la carpeta destino y los archivos existentes, en


caso de encontrarlos. Para extraer un slo elemento, cambiamos un poco el
comando:
# tar -xvf temporal.tar temp/texto1.txt
temp/texto1.txt
Al igual que --list, es necesario especificarle la ruta que incluye su nombre,
en
caso
contrario
fallar.
Si necesitamos actualizar el contenido de nuestro tar, digamos que con ms
archivos o carpetas, lo podemos hacer con --update (-u), para lo que
necesitaremos cambiar un poco la estructura de nuestra carpeta de
ejercicios. Para ello, vamos a crear dos carpetas internas y le copiaremos un
archivo a cada una, de manera que tengan contenido.
# mkdir temp/acceso1
# mkdir temp/acceso2
# cp temp/archivo2.txt temp/acceso1
# cp temp/archivo3.txt temp/acceso2
As, realizamos un nuevo respaldo de los archivos en la carpeta superior.
# tar -cf temporal.tar temp/*.txt
Podemos verificar su contenido para asegurarnos que slo contiene los .txt
del primer nivel.
# tar -vt --file=temporal.tar
-rw-rw-r-- crowley/crowley 32 2003-05-28 17:55:48 temp/archivo2.txt
-rw-rw-r-- crowley/crowley 21 2003-05-28 18:17:57 temp/archivo3.txt
-rw-rw-r-- crowley/crowley 39 2003-05-28 18:34:13 temp/archivo4.txt
-rw-rw-r-- crowley/crowley 82 2003-05-14 10:58:46 temp/archivo.txt
-rw-rw-r-- crowley/crowley 1006 2003-05-14 10:17:08 temp/texto1.txt
Y procedemos a ingresarle nuevos archivos.
# tar -uvf temporal.tar temp/acceso2 temp/acceso1
temp/acceso2/
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

temp/acceso2/archivo3.txt
temp/acceso1/
temp/acceso1/archivo2.txt
Y nuevamente verificamos su contenido.
# tar -vt --file=temporal.tar
-rw-rw-r-- crowley/crowley 32 2003-05-28 17:55:48 temp/archivo2.txt
-rw-rw-r-- crowley/crowley 21 2003-05-28 18:17:57 temp/archivo3.txt
-rw-rw-r-- crowley/crowley 39 2003-05-28 18:34:13 temp/archivo4.txt
-rw-rw-r-- crowley/crowley 82 2003-05-14 10:58:46 temp/archivo.txt
-rw-rw-r-- crowley/crowley 1006 2003-05-14 10:17:08 temp/texto1.txt
drwxrwxr-x crowley/crowley 0 2003-07-16 11:35:18 temp/acceso2/
-rw-rw-r-crowley/crowley
21
2003-07-16
11:35:18
temp/acceso2/archivo3.txt
drwxrwxr-x crowley/crowley 0 2003-07-16 11:35:02 temp/acceso1/
-rw-rw-r-crowley/crowley
32
2003-07-16
11:35:02
temp/acceso1/archivo2.txt
Ocasionalmente es conveniente realizar los respaldos con otros tar, para lo
que usamos la funcin --concatenate (--catenate, -A); primeramente vamos a
crear respaldos de las carpetas acceso1 yacceso2 .
# tar -cf acceso1.tar temp/acceso1
# tar -cf acceso2.tar temp/acceso2
Ahora, procedemos a generar un temporal.tar que slo incluya los archivos
.txt originales.
# tar -cf temporal.tar temp/*.txt
Con esto, podemos concatenar los otros dos en este ltimo.
# tar --concatenate --file=temporal.tar acceso1.tar acceso2.tar
Y veamos su contenido.
# tar -vt --file=temporal.tar
-rw-rw-r-- crowley/crowley 32
-rw-rw-r-- crowley/crowley 21
-rw-rw-r-- crowley/crowley 39
-rw-rw-r-- crowley/crowley 82

2003-05-28
2003-05-28
2003-05-28
2003-05-14

17:55:48
18:17:57
18:34:13
10:58:46

temp/archivo2.txt
temp/archivo3.txt
temp/archivo4.txt
temp/archivo.txt

Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

-rw-rw-r-- crowley/crowley 1006 2003-05-14 10:17:08 temp/texto1.txt


drwxrwxr-x crowley/crowley 0 2003-07-16 11:35:02 temp/acceso1/
-rw-rw-r-crowley/crowley
32
2003-07-16
11:35:02
temp/acceso1/archivo2.txt
drwxrwxr-x crowley/crowley 0 2003-07-16 11:35:02 temp/acceso1/
-rw-rw-r-crowley/crowley
32
2003-07-16
11:35:02
temp/acceso1/archivo2.txt
Para eliminar un elemento del conjunto, utilizamos --delete, que no tiene una
forma corta.
# tar --delete --file=temporal.tar temp/archivo4.txt
Tambin podemos realizar algunas operaciones especiales, como extraer
archivos comprimidos con GZIP mediante el comando --uncompress (-z).
# tar -zxvf temporal.tar.gz
# tar -zxvf temporal.tgz
Una operacin que pocos saben, es poder comprimir archivos al vuelo con -compress (-z).
# tar -zcf temporal.tar temp/*.txt
Algo que poca gente utiliza es el comando --multi-volume (-M), muy til
cuando realizamos respaldos de sistemas completos y que sobrepasan el
lmite del dispositivo de recepcin, como en los casos de unidades de cinta.
# tar --create --multi-volume --file=/dev/tape0 --file=/dev/tape1 archivos

Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212
9535445-7222-3423 7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve
contacto@softrain.com.ve

Potrebbero piacerti anche