Está en la página 1de 72

RIF J-30298221-9

Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

Fundamentos de Linux.

Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

MODULO I
COMPONENTES DEL SISTEMA OPERATIVO
Los componentes son:

KERNEL, SHELL, ESTRUCTURA


USUARIO.

DE ARCHIVOS, MULTI TAREAS, MULTI

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 Korn Shell, ksh.
Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

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).

Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

Multi Usuario.
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.

Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

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.

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
Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

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:
campo_GECOS:direct_personal:login_shell

UID:

GID:

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 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

Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

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
ADMINISTRACION DE USUARIO
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).

Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

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)
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 dividida en 7 campos delimitados cada uno
por ':' dos puntos.
/etc/passwd
Campo Es el nombre del usuario, identificador de inicio de sesin (login). Tiene que ser
1
nico.
La 'x' indica la contrasea encriptada del usuario, adems tambin indica que
Campo
se est haciendo uso del archivo /etc/shadow, si no se hace uso de este
2
archivo, este campo se vera algo as como: 'ghy675gjuXCc12r5gt78uuu6R'.
Campo Nmero de identificacin del usuario (UID). Tiene que ser nico. 0 para root,
Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

generalmente las cuentas o usuarios especiales se numeran del 1 al 100 y las


de usuario normal del 101 en delante, en las distribuciones mas recientes esta
numeracin comienza a partir del 500.

Numeracin de identificacin del grupo (GID). El que aparece es el nmero de


Campo
grupo principal del usuario, pero puede pertenecer a otros, esto se configura
4
en /etc/groups.
Campo
Comentarios o el nombre completo del usuario.
5
Campo Directorio de trabajo (Home) donde se sita al usuario despus del inicio de
6
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.

Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

/etc/shadow
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 contrasea fue
3
cambiada por ltima vez.
Campo Nmero de das que deben transcurrir hasta que la contrasea se pueda volver
4
a cambiar.
Nmero de das tras los cuales hay que cambiar la contrasea. (-1 significa
Campo
nunca). A partir de este dato se obtiene la fecha de expiracin de la
5
contrasea.
Campo Nmero de das antes de la expiracin de la contrasea en que se le avisar al
6
usuario al inicio de la sesin.
Campo Das despus de la expiracin en que la contrasea se inhabilitara, si es que
7
no se cambio.
Campo Fecha de caducidad de la cuenta. Se expresa en das transcurridos desde el
8
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
Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

cristina:x:503:ventas,sergio

El campo 1 indica el usuario.


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
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
Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

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-MMDD, 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
-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':

Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

#> 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
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.
Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

#> 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.
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.
Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

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 c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

MODULO IV
ADMINISTRANDO ARCHIVOS Y CARPETAS 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_usuario
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 vaco (si dicho
archivo ya existe, touch actualizar la hora del ltimo acceso al archi-vo).
$ touch archivoprueba
$
Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

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
Observe que copyfile se lista primero. Los archivos se listan por orden alfa-btico, (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
Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

$
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 comprue-be el
resultado con el comando ls:
$ rm copyfile
$ ls *file
emptyfile

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.

Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

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
$

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 "/".

Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

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.

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.

Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

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/user1
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/user1
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

Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

example% cd ~/music
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 mis-mo 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/user1
$ cd ..
$ pwd
/home
Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

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/user1
$ cd ../user2
$ pwd
/home/user2
../user2 ordena al sistema buscar user2 en el directorio maestro. Como puede
observar, esto resulta ms sencillo que escribir el nombre de ruta de acceso /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/broccoli
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 subdi-rectorio
utilizando slo el nombre del directorio y no el nombre de ruta de ac-ceso completo. En
el ejemplo anterior, el comando cd veggies usa el nombre de ruta de acceso relativo del
Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

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/veggies
$ 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/veggies
$ 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
$
Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

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.

Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

Eliminar directorios (rmdir)


Para eliminar un directorio vaco utilice el comando rmdir como sigue:
$ rmdir veggies3
$
Si el directorio contiene todava archivos o subdirectorios, el comando rmdir no lo
eliminar.
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 -r veggies3
$

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 c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

MODULO V
HERRAMIENTAS DE BUSQUEDAS

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 opciones 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.
Por ejemplo, para ver que archivos del directorio en uso y sus subdirectorios terminan
en s, escriba:

Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

$ find . -name '*s' -print


./programs
./programs/graphics
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 han sido modificados ms recientemente que checkfi-le.
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.:
$ find . \( -name AAA -o -name BBB \) -print
./AAA
./BBB

Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

Puede invertir el sentido de una opcin situando de lante de ella un signo de


admiracin precedido por una barra inclinada. Entonces, find seleccionar ar-chivos 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 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
Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

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").

Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

MODULO VI
ADMINISTRANDO PERMISOLOGIA A ARCHIVOS Y CARPETAS
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:

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 modificarlo, 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
Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

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 ar-chivo
corriente; una d indica un directorio, y otros caracteres pueden indicar ti-pos de
archivos especiales.
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 informa-cin:

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
Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

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
.
..
.cshrc
.login
.profile
emptyfile
Observe que los archivos que comienzan por. son listados antes que los de-ms. 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 utilida-des 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:
Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

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)

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
$ chmod g+w carrots
$ ls -l carrots
drwxrwxr-x 3 user2
$

1024 Feb 10 11:15 carrots


1024 Feb 10 11:15 carrots

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
$ chmod o-rx carrots
$ ls -l carrots
drwxrwx--- 3 user2
$

1024 Feb 10 11:15 carrots


1024 Feb 10 11:15 carrots

Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

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:
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
$ chmod u+x turnip
$ ls -l turnip
-rwxr--r-- 3 user2
$

1024 Feb 10 12:27 turnip


1024 Feb 10 12:27 turnip

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, ten-dra que
introducir lo siguiente:

$ ls -l garlic
-rw-r--r-- 3 user2
$ chmod a+x garlic
$ ls -l garlic
-rwxr-xr-x 3 user2
$

1024 Feb 10 11:31 garlic


1024 Feb 10 11:31 garlic

Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

Como resultado de esto, el indicador x aparecer en las tres categoras.


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
-rwxrwxrwx 3 user2
-rwxrwxrwx 2 user2
-rwxrwxrwx 3 user2
-rwxrwxrwx 1 user2
$ chmod go-w *
$ ls -l
-rwxr-xr-x 3 user2
-rwxr-xr-x 2 user2

21032 Feb 12 10:31 beats


68 Feb 10 11:09 corn
12675 Feb 08 09:31 garlic
1024 Feb 14 16:38 onions
21032 Feb 12 10:31 beats
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

Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

donde numcode es el cdigo numrico y name es el nombre del archivo o del directorio 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

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

Table 3-1 Permisos de garlic


Permiso

Usuario Grupo Otros

Lectura

Escritura 2

Ejecucin 1

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:

Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

$ ls -l onion
-rw-r--r-- 3 user2
$ chmod 755 onion
$ ls -l onion
-rwxr-xr-x 3 user2
$

1024 Feb 10 11:46 onion


1024 Feb 10 11:48 onion

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 3-2 Permisos de onion
Permiso

Usuario Grupo Otros

Lectura

Escritura 2

Ejecucin 1

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 c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

Table 3-3 Permisos de cabbage


Permiso

Usuario Grupo Otros

Lectura

Escritura 2

Ejecucin 1

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
-rwxrwxrwx 2 user2
-rwxrwxrwx 3 user2
-rwxrwxrwx 1 user2
$ chmod 751 *
$ ls -l
-rwxr-x--x 3 user2
-rwxr-x--x 2 user2
-rwxr-x--x 3 user2
-rwxr-x--x 1 user2
$

21032 Feb 12 10:31 beats


68 Feb 10 11:09 corn
12675 Feb 08 09:31 garlic
1024 Feb 14 16:38 onions
21032 Feb 12 10:31 beats
68 Feb 10 11:09 corn
12675 Feb 08 09:31 garlic
1024 Feb 14 16:38 onions

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
Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

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.

MODULO VII
USANDO EL EDITOR 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.

Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

Modo ex: insercin de comandos del editor de lneas ex. Se emplea para
cambios masivos en el documento.

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.

Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

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.

Otros
BS (Back Space)

Borrar carcter hacia la izquierda.

ESC

Salir de Modo Texto y pasar a modo comando.

MODO COMANDO
Algunos de estos comandos admiten multiplicadores, que consisten en un nmero
antecediendo al comando.
Movimiento del cursor y Control de pantalla
Mover en distintas direcciones.

flechas
h BS
Space)

(Back Una posicin hacia la izquierda.

l SP (Espacio)

Una posicin hacia la derecha.

k-

Una lnea hacia arriba.

j+

Una lnea hacia abajo.

Fin de lnea.
Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

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.

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.

Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

Bsqueda
/str

Buscar hacia adelante cadena de caracteres 'str'.

?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 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.

Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

d$

Borrar desde cursor a fin de lnea.

d0

Borrar desde cursor a principio de lnea.

d)

Borra hasta el final del prrafo.

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.


Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

Deshacer todos los cambios en una lnea desde que se posicion el


cursor en ella.

Repetir el ltimo comando.

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.

Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

Mover
:1

Mueve a lnea 1.

:15

Mueve a lnea 15.

:$

Mueve a ltima lnea.

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 [abr] [cadena]

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


escribiendo cadena.

:ab

Muestra las abreviaturas creadas.

:una [abr]

Elimina la abreviatura abr.

:map [c] [accion]

Genera la macro c que ejecutar la accin indicada.

:map

Muestra las macros definidas.

Otros
Reemplaza todas la primera ocurrencia de la cadena
:[desde],[hasta]
s/ [buscar], en cada lnea, por la cadena [reemplazar] entre las
[buscar]/[reemplazar]/
lneas [desde] y [hasta] del archivo.
Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

Reemplaza todas las ocurrencias de la cadena [buscar] por


:[desde],[hasta]
s/ la cadena [reemplazar] entre las lneas [desde] y [hasta] del
[buscar]/[reemplazar]/g
archivo.
Borra las lneas comprendidas entre las lneas [desde] y
[hasta].

:[desde],[hasta] d

Ejemplos:
:1,$s/Martes/martes/g

Cambia Martes por martes en todo el 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 c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

MODULO VIII
ARCHIVO DE INICIALIZACION
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

Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

.cshrc Contiene 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


Archivo

Contenido

.profile
sistema.

Contiene los comandos que se ejecutan al iniciar una sesin en el

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.
Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

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
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 ll='ls -l'
# Si quieres conservar el ls original
alias ls='ls -lF --color'
# Listado largo en color
alias mv='mv -i'
# \ Pedir confirmacin
alias cp='cp -i'
# > antes de
alias 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:
Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

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 otros programas, tenemos que exportarlas (lo explico luego).
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.
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
# Ms cosas
export VISUAL

# Aqu le damos un valor

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 c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

MODULO IX
MONITOREO DE LOS PROCESOS EN EL 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
Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

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 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:~]$

Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

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 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

Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

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
[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
Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

[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
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
Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

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 el 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 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.
Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

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 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)

Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

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/

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 dasemana.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

Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

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 * * cp -r /home/alex/documents/* /home/alex/copiaseguridad/
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.
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 * * *
Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

@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.

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:

Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

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).

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).
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
Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

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.
--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]...

Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

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
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.
Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

# 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
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
Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

# 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/
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 .
Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

# 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 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: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
Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

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

INTRODUCCION
Linux se ha convertido en la actualidad unos de los sistemas operativos ms seguro y
sencillo de usar ya que en la actualidad no existen virus que lo pueda atacar y
perjudicar el sistema operativo.
Linux se puede definir: Es uno de los trminos empleados para referirse al sistema
operativo libre similar a Unix que utiliza el ncleo Linux y herramientas de sistema
GNU. Su desarrollo es uno de los ejemplos ms prominentes de software libre; todo el
cdigo fuente puede ser utilizado, modificado y redistribuido libremente por cualquiera
bajo los trminos de la GPL (Licencia Pblica General de GNU) y otras licencias libres
El manual consta de 10 mdulos:

Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

Modulo 1: en este modulo aprenderemos los elementos esenciales en todo


sistema operativo para que el usuario pueda interactuar con la mquina de una
forma sencilla como lo es en la actualidad.

Modulo2: Se conocer como accesar al sistema a modo grafico y modo consola


ya que es de suma importancia saber este modulo debido a que es el modo de
ingresar al sistema y poder interactuar con l.

Modulo 3: Crear un usuario en un sistema operativo es de sumo inters para un


administrador de sistema porque se podr organizar y administrar el sistema de
forma eficiente y se determinara que usuario pudo haber ocasionado un
problema imprevisto.

Modulo 4: El modulo se ver como un administrador de sistema podr utilizar de


forma sencilla y eficiente el modo consola y podr manejar comandos sencillos
para accesar a un archivo y carpeta, as como tambin ver todas las opciones
que tienen los comandos y sus beneficios.

Modulo 5: Se ver una forma de cmo buscar archivos o carpetas dentro del
sistema operativo as como tambin una palabra especifica dentro de un archivo.

Modulo 6: 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, dever compartir archivos ejecutables (programas). Los permisos de archivo le
permiten controlar el acceso a sus archivos.

Modulo 7: 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.
Modulo 8: 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.

Modulo 9: Anteriormente dijimos que un programa se transformaba en proceso


en el momento en que este se ejecutaba y estaba en memoria. Adems del

Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

RIF J-30298221-9

nombre que el proceso recibe, que es el nombre del programa que est
corriendo, recibe tambin un nmero identificativo llamado PID (process ID, o ID
de proceso.

Modulo 10: Generar y administrar archivos que contengan otros archivos, muy
utilizados para realizar respaldos; de hecho, originalmente fue concebido para
respaldos en cintas.

Av. Libertador c/c Alameda Edificio EXA, piso 2 Oficinas 211- 213, El Rosal, Caracas Venezuela
Telfonos (0212) 953-5445 / 953-72-22/ 953-34-237502000 7502003 7502001
www.softrain.com.ve info@softrain.com.ve

Copyright Noviembre 2.009

También podría gustarte