Professional Documents
Culture Documents
212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
Fundamentos de Linux.
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
Modulo I COMPONENTES DEL SISTEMA OPERATIVO
Kernel:
El kernel ó núcleo de linux se puede definir como el corazón de este sistema operativo. Es el
encargado de que el software y el hardware de tu ordenador puedan trabajar juntos.
Las funciones más importantes del mismo, aunque no las únicas, son:
El Shell:
Para empezar, no hay un shell, sino muchos shells. El más simple es sh, o Bourne shell, que es
tan simple que prácticamente nadie utiliza, sin embargo, es el más común a todos los sistemas,
y además, ciertos programas lo usan, sobre todo los programas de instalación (precisamente
por eso, por ser el mínimo común denominador de los shells). Algunos shells se derivan de este,
como el bash (Bourne again shell, el oficial de la GNU), y el Korh shell, ksh.
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
Estructura de directorios (File System)
El sistema de archivos (File System) es una gran colección de directorios y archivos que guardan
todo tipo de información. 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 además de archivos otros directorios
subdirectorios).
Los directorios en los sistemas UNIX están organizados conservando cierta jerarquía, como se
muestra en la siguiente figura esquemática:
/ (root)
|
__________________|___________________
| | | | | | |
bin dev etc lib tmp u usr
|
_________________|_____
| | | | | |
local bin lib tmp adm
|
_________|________
| | | |
bin lib src class
Todos los directorios están debajo del directorio root denotado por "/". Los
directorios usr y local están expandidos para así mostrar los subdirectorios. Ya que el
directorio root es la raíz de todos los directorios, para indicar el camino de un directorio
particular se utiliza la siguiente notación:
/usr /usr/lib usr/local/lib
El símbolo "/" utilizado al comienzo para indicar el directorio raíz 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 más de una tarea a la vez. Puede ser en paralelo (si
tiene más de un procesador) o concurrente (si sólo tiene uno).
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
Multi Usuario.
Un SO multiusuario permite a más de un solo usuario accesar una computadora. Claro que,
para llevarse esto a cabo, el SO también debe ser capaz de efectuar multitareas. Unix es el
Sistema Operativo Multiusuario más utilizado. Debido a que Unix fue originalmente diseñado
para correr en una minicomputadora, era multiusuario y multitarea desde su concepción.
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
Modulo II ACCESO AL SISTEMA
Login:
Password.
Una contraseña o clave (en inglés password), es una forma de autenticación que
utiliza información secreta para controlar el acceso hacia algún recurso.
La consola Linux
Entrando al sistema
En Unix se considera un buen hábito acceder al sistema como usuario normal para realizar la
mayoría de las tareas.
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
/etc/passwd
nombreusuario:contraseña_cifrada:UID:GID:campo_GECOS:direct_personal:login_shell
Las contraseñas se guardan utilizando un hash de un sólo sentido (el hash utilizado por defecto
es crypt, las distribuciones más nuevas soportan MD5, que es significativamente más robusto).
Las contraseñas no pueden obtenerse a partir de la forma cifrada, sin embargo, se puede tratar
de encontrar una contraseña 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
contraseña. Esto no suele ser un problema por sí mismo, el problema surge cuando los usuarios
escogen claves que son fácilmente adivinables. Las encuestas más recientes han demostrado
que el 25% de las contraseñas 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 contraseña. Los campos en blanco en
el campo de la contraseña se quedan vacíos, así que se vería "::", lo cual es algo crítico para los
cuatro primeros campos (nombre, contraseña, uid y gid).
/etc/shadow
El fichero de shadow alberga pares de nombres de usuario y contraseñas, así como información
contable, como la fecha de expiración, y otros campos especiales. Este fichero debería
protegerse a toda costa, y sólo el root debería tener acceso de lectura a él.
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
/etc/groups
nombregrupo:contraseña_cifrada:GID:miembro1,miembro2,miembro3
Un grupo puede no contener miembros (p. ej., no está usado), sólo un miembro o múltiples
miembros, y la contraseña es opcional (y no se suele usar).
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
Modulo III ADMINISTRACIÓN DE USUARIOS
Tipos de usuarios
Los usuarios en Unix/Linux se identifican por un número único de usuario, User ID, UID. Y
pertenecen a un grupo principal de usuario, identificado también por un número único de
grupo, Group ID, GID. El usuario puede pertenecer a más grupos además del principal.
Aunque sujeto a cierta polémica, es posible identificar tres tipos de usuarios en Linux:
Usuario root
Ejemplos: bin, daemon, adm, lp, sync, shutdown, mail, operator, squid, apache,
etc.
Se les llama también 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 contraseñas pues son cuentas que no están diseñadas para iniciar
sesiones con ellas.
También se les conoce como cuentas de "no inicio de sesión" (nologin).
Se crean (generalmente) automáticamente al momento de la instalación de
Linux o de la aplicación.
Generalmente se les asigna un UID entre 1 y 100 (definifo en /etc/login.defs)
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
Usuarios normales
/etc/passwd
Cualquiera que sea el tipo de usuario, todas las cuentas se encuentran definidas en el archivo
de configuración 'passwd', ubicado dentro del directorio /etc. Este archivo es de texto tipo
ASCII, se crea al momento de la instalación con el usuario root y las cuentas especiales, más las
cuentas de usuarios normales que se hayan indicado al momento de la instalación.
El archivo /etc/passwd contiene una línea para cada usuario, similar a las siguientes:
root:x:0:0:root:/root:/bin/bash
sergio:x:501:500:Sergio González:/home/sergio:/bin/bash
La información de cada usuario está dividida en 7 campos delimitados cada uno por ':' dos
puntos.
/etc/passwd
Campo 1 Es el nombre del usuario, identificador de inicio de sesión (login). Tiene que ser único.
La 'x' indica la contraseña encriptada del usuario, además también indica que se está
Campo 2 haciendo uso del archivo /etc/shadow, si no se hace uso de este archivo, este campo
se vería algo así como: 'ghy675gjuXCc12r5gt78uuu6R'.
Campo 3 Número de identificación del usuario (UID). Tiene que ser único. 0 para root,
generalmente las cuentas o usuarios especiales se numeran del 1 al 100 y las de
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
usuario normal del 101 en delante, en las distribuciones mas recientes esta
numeración comienza a partir del 500.
Campo 6 Directorio de trabajo (Home) donde se sitúa al usuario después del inicio de sesión.
/etc/shadow
El archivo /etc/shadow contiene una línea para cada usuario, similar a las siguientes:
root:ghy675gjuXCc12r5gt78uuu6R:10568:0:99999:7:7:-1::
sergio:rfgf886DG778sDFFDRRu78asd:10568:0:-1:9:-1:-1::
La información de cada usuario está dividida en 9 campos delimitados cada uno por ':' dos
puntos.
/etc/shadow
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
Campo 2 Contraseña cifrada o encriptada, un '*' indica cuenta de 'nologin'.
Número de días que deben transcurrir hasta que la contraseña se pueda volver a
Campo 4
cambiar.
Número de días tras los cuales hay que cambiar la contraseña. (-1 significa nunca). A
Campo 5
partir de este dato se obtiene la fecha de expiración de la contraseña.
Campo 9 Reservado.
/etc/group
Este archivo guarda la relación de los grupos a los que pertenecen los usuarios del sistema,
contiene una línea para cada usuario con tres o cuatro campos por usuario:
root:x:0:root
ana:x:501:
sergio:x:502:ventas,supervisores,produccion
cristina:x:503:ventas,sergio
useradd o adduser es el comando que permite añadir nuevos usuarios al sistema desde la línea
de comandos. Sus opciones más comunes o importantes son las siguientes:
Ahora bien, realmente no hay prácticamente necesidad de indicar ninguna opción ya que si
hacemos lo siguiente:
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
Siempre el nombre del usuario es el último parámetro del comando. Así por ejemplo, si
queremos salirnos del default, podemos establecer algo como lo siguiente:
Con lo anterior estamos cambiando su directorio de inicio, su shell por defautl será csh y su UID
será el 800 en vez de que el sistema tome el siguiente número disponible.
Casi seguro también cambiará el nombre del directorio de inicio o HOME en /home, pero si no
fuera así, entonces:
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
Lo anterior modifica el comentario de la cuenta, su shell por defecto que ahora será 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:
Como su nombre lo indica, userdel elimina una cuenta del sistema, userdel puede ser invocado
de tres maneras:
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 opción, ya que
elimina la cuenta pero no la información de la misma.
Al igual que lo anterior elimina la cuenta totalmente, pero con la opción -r además elimina su
directorio de trabajo y archivos y directorios contenidos en el mismo, asi como su buzón 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.
La opción -f es igual que la opción -r, elimina todo lo del usuario, cuenta, directorios y archivos
del usuario, pero además lo hace sin importar si el usuario está actualmente en el sistema
trabajando. Es una opción muy radical, además de que podría causar inestabilidad en el
sistema, así que hay que usarla solo en casos muy extremos.
Crear al usuario con useradd es el primer paso, el segundo es asignarle una contraseña a ese
usuario. Esto se logra con el comando passwd que permitirá ingresar la contraseña y su
verificación:
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
#> passwd sergio
Changing password for user prueba.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
#>
passwd tiene integrado validación de contraseñas comunes, cortas, de diccionario, etc. así que
si por ejemplo intento como usuario normal cambiar mi contraseña 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.
$>
Nótese que al ingresar 'qwerty' como contraseña se detectó que es una secuencia ya conocida
como contraseña y me manda la advertencia: "BAD PASSWORD: it is based on a dictionary
word", sin embargo me permite continuar, al ingresar la verificación. Es decir, passwd avisa de
malas o débiles contraseñas pero permite establecerlas si realmente se desea.
Resumiendo entonces, se podría decir que todo este tutorial se reduce a dos líneas de
comandos para crear y dejar listo para trabajar a un usuario en Linux:
Se crea el usuario 'ana', useradd hace todo el trabajo de establecer el shell, directorio de inicio,
copiar archivos iniciales de configuración de la cuenta, etc. y después passwd establece la
contraseña. Así de simple.
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
passwd tiene varias opciones que permiten bloquear la cuenta '-l', desbloquearla '-u', y varias
opciones más que controlan la vigencia de la contraseña, es decir, es otro modo de establecer
los valores de la cuenta en/etc/shadow. Para más información consulta las páginas del manual:
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
Modulo IV ADMINISTRANDO ARCHIVOS Y DIRECTORIOS (CMD)
Antes de comenzar
Antes de que empiece a experimentar con archivos, asegúrese de que está en su directorio de
usuario. Este es un directorio que le estableció su administra-dor de sistemas cuando creó su
autorización de acceso. Si ejecuta las tareas que se muestran en los siguientes ejemplos desde
su directorio de usuario, le será más difícil crear, copiar, mover o (lo peor de todo) eliminar
archivos de partes del sistema que otros usuarios esperan que permanezcan inalteradas.
$ cd
$ pwd
/export/home/nombre_del_usuario
$ touch archivoprueba
$
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
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 posición
actual. Si introduce el comando ls con un nombre de archivo determinado, listará sólo dicho
archivo, si es que existe.
$ cp tempfile copyfile
$
Ahora intente listar ambos archivos. Observe que los dos nombres acaban con los caracteres
"file". Puede utilizar el carácter comodín (*), para sustituir a cualquier carácter o secuencia de
caracteres. Por lo tanto, el comando ls *file debe listar tanto tempfile como copyfile (y
cualquier archivo de ese directorio cuyo nombre termine en file):
$ ls *file
copyfile tempfile
Observe que copyfile se lista primero. Los archivos se listan por orden alfa-bético, (las letras
mayúsculas y los números preceden a las letras minúsculas).
$ mv tempfile emptyfile
$
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
Ahora liste de nuevo ambos archivos para verificar el cambio:
$ ls *file
copyfile emptyfile
$ rm copyfile
$ ls *file
emptyfile
Atención- 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
precaución si lo usa junto al carácter comodín (*). Los archivos eliminados con rm no podrán recuperar
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
También 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 más
frecuentemente para unir dos o más archivos y formar otro más grande, como se ve en el
ejemplo siguiente:
$ file copyfile
copyfile: ascii text
Directorios y jerarquía
Hasta ahora ha aprendido a listar, copiar, renombrar y eliminar archivos. Sin embargo, se estará
preguntando acerca de aspectos más complicados, como por ejemplo ¿dónde están situados
dichos archivos? Esta sección explica la jerarquía del directorio. Lea con atención el siguiente
texto, y después realice los ejemplos de las secciones siguientes.
Jerarquía de directorio
Los archivos se agrupan en directorios, que a su vez se organizan en una jerarquía. En la cima de
la jerarquía está el directorio "raíz", representado por "/".
Como se muestra en el ejemplo, cada directorio del sistema de archivos puede incluir muchos
otros directorios. La convención consiste en distinguir niveles de directorio mediante el
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
carácter /. Teniendo esto en cuenta, observe que el directorio/ (raíz) 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 están. A esto se le llama nombre de ruta. de acceso. Por ejemplo, el
nombre de la ruta de acceso del directorio user3 de la próxima ilustración 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 ningún conflicto
entre /usr/lib y /lib porque los nombres 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
posición dentro de la jerarquía del sistema de archivos. Por ejemplo, si el
directorio /home/user2 contiene un archivo llamado report5, su nombre de ruta de acceso
será /home/user2/report5. Esto indica 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 raíz (/).
$ pwd
/home/user1
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
El resultado que obtenga será algo diferente al del ejemplo, ya que la estructura de su
directorio es diferente. Recuerde que el directorio en uso es su posición actual dentro de la
jerarquía 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 entorno OpenWindows, su posición
inicial (directorio en uso) es su directorio de usuario. Dicho directorio lo estableció su
administrador de sistemas cuando creó su cuenta de acceso.
$ cd /usr/lib
$ pwd
/usr/lib
$ cd
$ pwd
/home/user1
En el shell C, el signo tilde (~) se usa como un método abreviado para especificar su directorio
de usuario. Por ejemplo, para cambiar el subdirectorio music debería escribir lo siguiente
dentro de su directorio de usuario
example% cd ~/music
También puede usar dicho método abreviado para especificar el directorio de usuario de otro
usuario. Por ejemplo:
example% cd ~nombre_del_usuario
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 directorio de usuario. Si éste es el caso
escriba:
$ $home/music
$ $homenombre_del_usuario
$ pwd
/home/user1
$ cd ..
$ pwd
/home
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
Suponga que su directorio en uso actual es /home/user1 y desea trabajar con varios archivos
en /home/user2. El siguiente método 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 más sencillo que escribir el nombre de ruta de ac-ceso /home/user2 entero.
$ mkdir veggies
$ cd veggies
$ mkdir broccoli
$ cd broccoli
$ pwd
/home/user2/veggies/broccoli
Intente crear varios subdirectorios diferentes y después muévase por ellos dentro de la
estructura del directorio. Use los nombres de ruta de acceso completos y los nombres de ruta
de acceso relativos y confirme su posición con el coman-do pwd.
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
Mover y renombrar directorios
Un directorio se renombra moviéndolo a un nombre diferente. Use el comando mv para
renombrar archivos:
$ pwd
/home/user2/veggies
$ ls
broccoli
$ mv broccoli carrots
$ ls
carrots
También puede usar mv para mover un directorio a una posición de otro directorio:
$ 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
$
Este comando copia todos los archivos y directorios dentro del directorio veggies en un nuevo
directorio veggies3. Esta es una copia recursiva, como de-signa la opción -r. Si intenta copiar un
directorio sin usar esta opción, aparecerá un mensaje de error.
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
$ rmdir veggies3
$
$ rm -r veggies3
$
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
Modulo V HERRAMIENTAS DE BUSQUEDAS (FIND GREP)
Al contrario que la mayoría 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 línea de comando,
como se indica a continuación:
donde directorio es el nombre del directorio inicial y opciones representa las opciones del
comando find.
Cada opción describe un criterio de selección de archivos. Un archivo debe cumplir todos los
criterios para ser seleccionado. De este modo, cuántas más opciones aplique, más limitado será
el campo. La opción -print indica que Vd. desea que se muestre el resultado, (como se
describirá más adelante, puede utilizar find para ejecutar comandos; en ese caso, deberá
ordenarle a find que omita la visualización de los archivos seleccionados).
La opción -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
más a la derecha del nombre de ruta de acceso completo de un archivo. Por ejemplo, el
componente situado más a la derecha de /usr/lib/calendar sería 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 Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
Otras opciones incluyen:
-name nombre_de_archivo
-user id_usuario
-group grupo
-m time n
-newer checkfile
Selecciona archivos que han sido modificados más recientemente que checkfi-le.
Puede invertir el sentido de una opción situando delante de ella un signo de admiración
precedido por una barra inclinada. Entonces, find seleccionará archivos a los que no afecte
dicha opción:
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
$ find . \!-name BBB -print
./AAA
También puede usar find para aplicar comandos a los archivos que éste seleccione con la
opción:
Dicha opción 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 automáticamente 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á
grep
El comando grep (Global Regular Expression and Print) permite buscar las líneas que contienen
una cadena de caracteres especificada mediante una expresión regular. Lee la entrada estándar
o una lista de archivos y muestra en la salida sólo aquellas líneas que contienen la expresión
indicada. La sintaxis es
Crear un archivo con los días de la semana, uno por línea; llamarle días.
Muestra las líneas del archivo días que contienen la cadena "tes".
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
grep unix01 /etc/passwd
Lista sólo los subdirectorios del directorio /usr (la línea empieza con "d").
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
Modulo VI ADMINISTRACION DE LOS PERMISOS EN ARCHIVOS Y DIRECTORIOS
Seguridad de archivos y directorios
Nota - Lea esta sección 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 autorización. A menudo tendrá archivos que quiera que otras personas puedan leer
pero no cambiar. En otras ocasiones, deberá compartir archivos ejecutables (programas). Los
permisos de archivo le permiten controlar el acceso a sus archivos.
Existen tres categorías de usuarios para los que puede establecer permisos:
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 demás
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
Illustración 3-2Mostrar permisos y estado
El primer carácter de la línea indica el tipo de archivo. Un guión (-) es un archivo 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 están formados por tres grupos de tres elementos, que indican 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 sólo su dueño puede escribir en él.
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 Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
Listar archivos "ocultos" (ls -a)
Hay algunos archivos que no son listados por el comando ls. Dichos archivos comienzan por el
carácter. (llamado "punto"), como por ejemplo.cshrc,.lo-gin 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-más. Hay dos
archivos especiales en este listado: el archivo. es la referencia del directorio en uso, y el
archivo.. es la referencia del directorio maestro.
Hablando en general, los archivos que comienzan por. son usados por utilidades del sistema y el
usuario normalmente no los modifica. Existen algunas excepciones al respecto.
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 continuación se cita uno de los métodos
más sencillos:
u (para el usuario)
g (para el grupo)
o (para otros)
a (all; para todas las categorías anteriores)
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
2. Indicar si los permisos se van a agregar (+) o eliminar (-).
3. Utilizar una o más letras para indicar los permisos:
r (read; de lectura)
w (write; de escritura)
x (execute; de ejecución)
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 1024 Feb 10 11:15 carrots
$ chmod g+w carrots
$ ls -l carrots
drwxrwxr-x 3 user2 1024 Feb 10 11:15 carrots
$
Como puede ver, el guión (-) 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), tendría que escribir lo siguiente:
$ ls -l carrots
drwxrwxr-x 3 user2 1024 Feb 10 11:15 carrots
$ chmod o-rx carrots
$ ls -l carrots
drwxrwx--- 3 user2 1024 Feb 10 11:15 carrots
$
Ahora, la r (de read) y la x (de execute) del conjunto de caracteres correspondiente a otros
usuarios se cambian por guiones (-).
-rw-r--r--
De forma que para hacer ejecutable un archivo nuevo como turnip, su propietario (user2),
debería introducir lo siguiente:
$ ls -l turnip
-rw-r--r-- 3 user2 1024 Feb 10 12:27 turnip
$ chmod u+x turnip
$ ls -l turnip
-rwxr--r-- 3 user2 1024 Feb 10 12:27 turnip
$
Si quiere afectar a las tres categorías de usuarios a la vez, use la opción a. Si quiere hacer que
un archivo nuevo como garlic sea ejecutable por todos, ten-dría que introducir lo siguiente:
$ ls -l garlic
-rw-r--r-- 3 user2 1024 Feb 10 11:31 garlic
$ chmod a+x garlic
$ ls -l garlic
-rwxr-xr-x 3 user2 1024 Feb 10 11:31 garlic
$
También puede cambiar los permisos de grupos de archivos o directorios utilizando carácter
comodín *. Por ejemplo, para cambiar los permisos de todos los archivos del directorio
actual veggies para que sólo Vd. pueda escribir en ellos, tendría que escribir lo siguiente:
$ pwd
/home/user2/veggies
$ ls -l
-rwxrwxrwx 3 user2 21032 Feb 12 10:31 beats
-rwxrwxrwx 2 user2 68 Feb 10 11:09 corn
-rwxrwxrwx 3 user2 12675 Feb 08 09:31 garlic
-rwxrwxrwx 1 user2 1024 Feb 14 16:38 onions
$ chmod go-w *
$ ls -l
-rwxr-xr-x 3 user2 21032 Feb 12 10:31 beats
-rwxr-xr-x 2 user2 68 Feb 10 11:09 corn
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
-rwxr-xr-x 3 user2 12675 Feb 08 09:31 garlic
-rwxr-xr-x 1 user2 1024 Feb 14 16:38 onions
$
En este ejemplo se incluye el comando pwd para mostrar que el directorio en el que realiza la
operación chmod debe ser el actual.
donde numcode es el código numérico y name es el nombre del archivo o del directorio al que
está cambiando los permisos.
El código numérico completo consta de tres números. Se usa un número para cada una de las
tres categorías: usuario, grupo y otros. Por ejemplo, el siguiente comando establece permisos
absolutos de lectura, escritura y ejecución para el usuario y el grupo, y sólo permiso de
ejecución para otros usuarios:
La Tabla 3-1 ilustra cómo el código 771 representa los permisos asignados a garlic.
Lectura 4 4 0
Escritura 2 2 0
Ejecución 1 1 1
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
Total 7 7 1
Cada columna de la Tabla 3-1 representa una de las categorías: usuario, grupo y otros. Para
establecer permisos de lectura se agrega un 4 en la columna apropiada, para establecer
permisos de escritura un 2 y para permisos de ejecución un 1. El total de las tres columnas, en
la última hilera de la tabla, es el código numérico completo.
A continuación se muestra otro ejemplo del uso de este método de establecer permisos
absolutos, incluyendo el comando ls -l para demostrar el resultado:
$ ls -l onion
-rw-r--r-- 3 user2 1024 Feb 10 11:46 onion
$ chmod 755 onion
$ ls -l onion
-rwxr-xr-x 3 user2 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 también
leerlo y ejecutarlo. La Tabla 3-2 muestra el des-glose de los códigos numéricos utilizados para
establecer los permisos de onion.
Lectura 4 4 4
Escritura 2 0 0
Ejecución 1 1 1
Total 7 5 5
Por supuesto, para conceder permisos de lectura, escritura y ejecución a Vd. mismo, a su grupo
o a otros usuarios respecto al archivo cabbage, escribiría lo siguiente:
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
$ 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
$
Lectura 4 4 4
Escritura 2 2 2
Ejecución 1 1 1
Total 7 7 7
El código numérico 777 representa el nivel de permisos máximo que puede conceder.
Se puede utilizar el carácter comodín * para establecer permisos absolutos para todos los
archivos del directorio, del mismo modo que se cambian los permisos relativos. Por ejemplo,
para establecer permisos absolutos de todos los archivos del directorio veggies de modo que
Vd. pueda leer, escribir y ejecutar dichos permisos, su grupo pueda leerlos y ejecutarlos, y los
demás usuarios puedan sólo ejecutarlos, tendría que escribir lo siguiente:
$ pwd
/home/user2/veggies
$ ls -l
-rwxrwxrwx 3 user2 21032 Feb 12 10:31 beats
-rwxrwxrwx 2 user2 68 Feb 10 11:09 corn
-rwxrwxrwx 3 user2 12675 Feb 08 09:31 garlic
-rwxrwxrwx 1 user2 1024 Feb 14 16:38 onions
$ chmod 751 *
$ ls -l
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
-rwxr-x--x 3 user2 21032 Feb 12 10:31 beats
-rwxr-x--x 2 user2 68 Feb 10 11:09 corn
-rwxr-x--x 3 user2 12675 Feb 08 09:31 garlic
-rwxr-x--x 1 user2 1024 Feb 14 16:38 onions
$
En este ejemplo se incluye el comando pwd para ilustrar que el directorio en el que realiza esta
operación debe ser el directorio actual. El comando ls -l se muestra sólo para ilustrar los
cambios que han sufrido los permisos. Cuando se establecen permisos absolutos no es
necesario saber qué permisos están en activo.
Si desea más información acerca del comando chmod, consulte man Pages(1): User
Commands.
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
Modulo VII USANDO EL EDITOR DE (vi)
EDITOR VI
En UNIX existen otros editores más potentes, con entornos de trabajo más amigables, otros
más sencillos de manejar, pero el único editor que está en todas las versiones y se maneja igual
es el vi.
vi [opciones] archivo
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
minúsculas o en mayúsculas tienen efectos muy diferentes.
Modo texto: se emplea para añadir o modificar el texto del documento.
Modo ex: inserción de comandos del editor de líneas ex. Se emplea para cambios
masivos en el documento.
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
MODO TEXTO
Reemplaza caracteres.
c
Reemplaza palabras.
cw
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
Otros
MODO COMANDO
Fin de línea.
$
Principio de línea.
0 (Cero)
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
Fin de la palabra siguiente antes de espacio.
E
Al medio de la pantalla.
M
Refrescar la pantalla.
Ctrl-l
Búsqueda
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
Buscar el anterior carácter 'c' en la línea.
Fc
a acción de f, F, t y T alcanza sólo a la línea actual; si el carácter buscado no está en esa línea el
cursor no se mueve.
Copiar línea.
Y o yy
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
Pegar después del cursor.
p
Copiar palabra.
yw
Otros
Deshacer todos los cambios en una línea desde que se posicionó el cursor
U en ella.
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
MODO EX O ULTIMA LINEA
Generales
Guardar cambios.
:w
Insertar un archivo.
:r arch2
Mover
Mueve a línea 1.
:1
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
Opciones, abreviaturas y macros
Cambio de opciones.
:set
Otros
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
Ejemplos:
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
Modulo VIII ARCHIVOS DE INICIALIZACIÓN
Archivos de Inicialización:
Los archivos de inicialización contienen comandos para que los ejecute el shell cuando empieza
a correr. De esta manera se optimiza el desempeño 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 inicialización permanecen en la configuración de entrada y salida del sistema.
Existen dos tipos de archivos de inicialización, 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 inicialización 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 inicialización porque generalmente, sus nombres, inician
con un punto, lo cual indica que son archivos ocultos y que no se mostrarán al ejecutar el
comando ls; para poder ver todos los archivos, incluyendo los ocultos, es necesario ejecutar el
comando ls -a.
Archivo Contenido
.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 sesión en el sistema.
Archivo Contenido
.profile Contiene los comandos que se ejecutan al iniciar una sesión en el sistema.
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
A diferencia del cshell, en el Bourne shell no existe un archivo que guarde los comandos que se
ejecutan al iniciar un subshell, esta información se guarda en las variables de ambiente.
El intérprete de comandos /bin/bash (de aquí en adelante nos referiremos a él como "el
intérprete") usa una colección de ficheros de inicio para ayudar a crear un entorno en el que
ejecutarse. Cada fichero tiene un uso específico y puede afectar de manera diferente a
entornos interactivos y de conexión.
Para más información, consulta info bash -- Nodos: Bash Startup Files e Interactive Shells
(Ficheros de inicio de Bash e Intérpretes Interactivos)
Se necesitan los siguientes ficheros para asegurarse que se lee el entorno correcto para cada
una de las formas en que el intérprete puede ser
invocado: /etc/profile, /etc/bashrc, ~/.bash_profile y ~/.bashrc. El fichero ~/.bash_logout no se
usa para la invocación del intérprete. Es leído por este cuando un usuario sale del sistema. Los
ficheros /etc/profile y ~/.bash_profile son leídos cuando se ejecuta un intérprete interactivo de
conexión. El fichero ~/.bashrc es leído cuando se ejecuta un intérprete interactivo de no
conexión.
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 más ú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
opción --color), es muy útil tener definido un alias para la propia orden, que sustituya la orden
por la orden más las opciones que queramos. En este caso, queremos que siempre que
escribamos ls al principio de una línea (o sea, cada vez que llamemos al programa ls), se cambie
la ristra ls porls --color (y que deje todo lo que fuera después 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 win=startx
Alias útiles
Ahí va una lista de alias útiles para el novato, junto con una breve explicación:
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 mayúsculas.
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
información sobre el directorio raíz del usuario.
Es importante saber que el export soporta más de una variable, o sea, podríamos poner
(por comodidad, las variables exportadas no hay que declararlas todas juntas):
VISUAL=/bin/vi
LANG=spanish
# Más órdenes
export VISUAL LANG
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
Modulo IX MONITOREO DE LOS PROCESOS DEL SISTEMA
Tareas y procesos
En este punto tendremos que empezar a determinar que es un proceso y una tarea.
Anteriormente dijimos que un programa se transformaba en proceso en el momento en que
este se ejecutaba y estaba en memoria. Además del nombre que el proceso recibe, que es el
nombre del programa que esta corriendo, recibe también un número identificativo llamado PID
(process ID, o ID de proceso). Si ejecutamos el comando ps veremos los procesos que están
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 están corriendo dos procesos, el bash (que es el intérprete 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 número 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 están ejecutando en el sistema. Si se quisieran ver todos los procesos
tendrían que poner ps -ax con lo que obtendrían un listado con todos los procesos que se estén
ejecutando. Como se puede apreciar, están ambos procesos ejecutándose 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 línea del bash la letra S de SLEEP, ya que en ese momento el
intérprete de comandos está esperando a que el proceso ps termine. Y es aquí donde está la
diferencia entre proceso y tarea. Aunque ambos son procesos, una tarea se refiere al proceso
que está corriendo. Este calificativo solo lo da el shell del sistema cuando se utilizan los
controles de tareas dado que no todos los intérpretes de comandos soportan este tipo de
control.
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
señal de parte nuestra, es decir que no nos podemos comunicar con él a través, por ejemplo,
del teclado. La utilidad de enviar un programa a segundo plano está dada por el hecho de que
existen tareas que no requieren de nuestro control para que se ejecuten. Por ejemplo, bajar
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
algún 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 continuación del comando el símbolo &. Para ejemplificar esto
usaremos el comando find y dejaremos que busque todos los archivos que existen en el disco
Esto nos mostraría una lista bastante larga de archivos por pantalla y nos quedaríamos sin el
control del intérprete de comandos mientras esta ejecutándose. Podríamos usar el
dispositivo null, que si recuerdan era como un agujero negro donde todo lo que se enviaba a él
desaparecía, para redirigir la salida y que no saliera por pantalla
Igualmente así no contaríamos con la atención de nuestro interprete de comandos hasta que
terminara el trabajo el comando find. La forma de tener la atención del shell inmediatamente
después de lanzar el proceso find es enviándolo en segundo plano
Como se aprecia, regresó de inmediato al shell, pero antes envió un mensaje a la terminal. El [1]
representa a un número de trabajo que el shell asigna a cada uno de los procesos que pasa a
segundo plano. Inmediatamente después vemos el número de PID del proceso. Podremos
identificar al proceso por cualquiera de los dos números mientras se encuentre en segundo
plano. Para ver cuantos trabajos están ejecutándose 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 está ejecutando con la ayuda del comando kill seguido
bien sea del número de trabajo precedido de un signo % o del número 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 está 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
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
comando muy típico, el comando yes. Este comando enviará a la salida estándar
continuamente la letra y. Sirve este comando para que en caso de que se requiera contestar
afirmativamente a las peticiones de un programa pudiéremos mediante una redirección
contestarle con un y a cada pregunta. Si lo ejecutáramos sin redirigir la salida a /dev/null, nos
llenaría 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.
Como podrán ver, en el momento en que se mando el comando kill, no hubo ningún mensaje.
Solo después de ejecutar el comando jobs se nos informo que el trabajo número 1 había
finalizado (TERMINATED). Podemos también hacer lo mismo empleando el número de PID con
lo que obtendremos idénticos resultados.
Los procesos pueden ser suspendidos temporalmente hasta que nosotros dispongamos, para
así relanzarlos y que continúen ejecutando donde se habían 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 intérprete de
comandos a nuestra disposición. En la mayoría de los programas, se envía una señal de
terminación utilizando las teclas Ctrl-C, para poder enviar un trabajo a dormir utilizaremos otra
combinación 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
ejecutándose, en cambio uno que se envía 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.
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
[shrek@pantano:~]$ yes >/dev/null
[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 todavía se está ejecutando
(Running), en cambio la que se mando dormir esta parada esperando que la relancemos
(Stopped). Para ponerlo en primer plano o despertarlo a cualquiera de los dos podemos usar el
signo "%"seguido del número del proceso o bien el comando fg.
[shrek@pantano:~]$ %1
yes >/dev/null &
[shrek@pantano:~]$ fg %1
yes >/dev/null
Podremos enviar también un comando que está durmiendo a que ejecute en segundo plano a
través del comando bg
[shrek@pantano:~]$ jobs
[1]- Stopped yes >/dev/null
[shrek@pantano:~]$ bg %1
[1]+ yes >/dev/null &
[shrek@pantano:~]$ jobs
[1]+ Running yes >/dev/null &
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
Cabe decir que tanto fg como bg son comandos internos del intérprete de comando. Esto es así
porque es el mismo intérprete quien hace el control de tareas. Puede darse el caso de que
existan intérpretes de comandos que no tengan soporte para control de tareas.
Los sistemas GNU/Linux cuentan varios programas para efectuar el seguimiento de los procesos
que se están ejecutando en el sistema. Entre los más usados en la interfase de texto están los
programas ps y top.
ps
Sin ninguna opción dará la lista de procesos que están 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 envíe algún comando para ejecutar, mientras tanto está esperando
dormido. Puede verse en la columna STAT en qué 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 añadimos la opción l tendremos un listado largo del
comando ps. En algunas versiones se usa la opción –l
[shrek@pantano:~]$ ps l
F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND
4 100 9648 1 9 0 4368 1400 11b1d0 S tty2 0:01 -bash
4 100 9660 9648 17 0 2676 732 - R tty2 0:00 ps l
Dentro de esta información esta la columna del UID que identifica el dueño del proceso. El PID
del proceso y también 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
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
valor mayor tendrá más tiempo de procesador para trabajar. SIZE es el tamaño que tiene el
proceso. RSS es la tamaño del proceso que se encuentra residente en la memoria. WCHAN es el
nombre de la función del kernel donde el proceso está durmiendo. Esta expresado en forma
hexadecimal.
Otra forma en la que podemos ver el padre de cada proceso es a través 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~]$
top
Ahora bien, el comando ps nos muestra una radiografía 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 situación de los procesos que se están ejecutando en el
sistema, ordenados por defecto según el porcentaje la CPU que estén usando. Al ejecutarlo se
podrá ver otra información adicional, como la cantidad de usuarios que están en el sistema,
cuantos procesos están corriendo y de estos cuantos estas activos, cuantos durmiendo, cuantos
en proceso de terminar (ZOMBIE) y cuantos finalizados. Además se podrá ver la cantidad e
memoria física total, la cantidad usada y la cantidad libre; así como también se podrá obtener la
misma información de la memoria swap.
Lo más importante es que esta información de ira actualizando automáticamente 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 podríamos matar algún proceso con solo presionar la tecla k y luego darle el
número de PID.
El listado que nos mostrará contendrá el número de PID, el usuario que lo está ejecutando, la
prioridad del proceso (PRI), el valor nice (NI), el tamaño del proceso (SIZE), el tamaño total del
proceso junto con los datos que maneja (RSS), el tamaño usado por el proceso en la memoria
(SHARE), el estado del proceso(STAT), el tamaño de las librerías del proceso (LIB), el porcentaje
de CPU ( %CPU) y de memoria (%MEM) así como también el tiempo de ejecución (TIME) y el
nombre del proceso (COMMAND).
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
Programando tareas en Linux con cron y at
Cron es un servicio de Linux que permite planificar tareas o procesos para una ejecución
periódica. Con cron podremos planificar tareas como por ejemplo, borrar ficheros temporales
todas las noches, apagar la máquina a una hora determinada, realizar copias de seguridad cada
semana automáticamente, 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 configuración 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 configuración crontab que se encuentra en el directorio
/var/spool/cron/crontabs. Este fichero tiene una sintaxis específica y en él escribiremos una
línea para cada acción que queramos programar. Cada línea tiene un formato con los siguientes
campos:
minutos: 0-59
horas: 0-23
día-mes: 1-31
mes: 1-12
día-semana: 0-7 (el domingo se puede indicar con 0 o con 7)
Veamos a continuación algún 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 día 15 de cada
mes a las 22:30 horas. ¿Cómo se haría con cron? Pues en primer lugar debería editar su fichero
de configuración crontab escribiendo crontab -e en la consola
(Aplicaciones/Accesorios/Terminal).Cuando lo haga se abrirá su fichero de configuración 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 línea:
30 22 15 * * cp -r /home/alex/documents/* /home/alex/copiaseguridad/
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
El símbolo ‘*’ en este caso indica que la tarea se ejecutará todos los meses caiga en el día de la
semana que caiga el día 15. Por eso ponemos ‘*’ en el campo mes y día-semana. Veamos otro
ejemplo. El usuario alex quiere programar una tarea para que se apague la máquina todos los
días a las 3:00. En este caso la línea en el fichero de configuración crontab quedará de la
siguiente manera:
3 0 * * * halt
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
El guión permite especificar un rango. Otra forma de indicar lo mismo que el ejemplo anterior
empleando el guión sería:
El carácter 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 también que en el fichero de configuración se pueden indicar los días de la
semana y meses con abreviaturas en vez de números (sun, mon, jan, feb…)
El comando at
El comando at permite ejecutar tareas a una determinada hora. El formato básico de este
comando es: at hora. Si queremos, por ejemplo, apagar la máquina a las 22:30, tendríamos que
abrir el terminal y escribir en la línea de comandos: at 22:30. A continuación 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 combinación de teclas Control+D para salir de at.
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
Para mostrar la lista de tareas programadas emplearemos el comando at con el parámetro -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 parámetros -d num_tarea . Cada tarea tiene asociado un
número que podemos ver con at -l. También podemos eliminar una tarea con atrm num_tarea.
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 sería: at
now+3 hours.
at hora día. Ejemplos: at 5am May 20, at 20:30 May, at 20:30 5/5/2008. El parámetro
día es opcional. También podemos usar noon (mediodía), teatime (4pm) o midnight
(00:00).
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
MODULO X TAREAS DE RESPALDO CON LA HERRAMIENTA (tar)
Este es un comando que nació cuando era práctica común 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 continuación.
Fecha de publicación: 9 de julio de 2003 (1a. parte) y 16 de julio de 2003 (2a. parte).
tar es uno de los comandos más antiguos de Unix y en algunos casos, muy subutilizado. Linux
usa la versión GNU Tar, que puede ser localizada en http://www.gnu.org/software/tar/,
pudiéndose instalar en la mayoría 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 concebido para respaldos en cintas. A pesar de
la sencillez con que lo utilizamos, tar es uno de los más completos programas en su tipo, que
puede manejar otros formatos, agregar nuevos archivos a los paquetes ya creados y mucho
más. Generalmente los archivos generados tiene terminación .tar, pero esto no es un requisito
para su buen funcionamiento; en ocasiones se les denomina TARBALL o archivos TAR.
tar tiene dos clases de argumentos, los operadores y las opciones. De los primeros existen
ocho, por lo que tenemos ocho modos de operación. Este documento no es una visión
exahustiva de este comando, sino sólo una guía de referencia rápida, por lo que sólo se verán
las formas más 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:
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
--extract, -x Extraen el contenido de archivo tar.
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.
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.
Nota: El parámetro 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 parámetro -v, parecerá que
utilizamos ls -l en una carpeta.
El siguiente proceso es extraer los archivos, acción que realizamos con --extract (--get, -x). Para
extraer todo el contenido, necesitamos hacerlo así:
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
temp/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 sólo elemento, cambiamos un poco el comando:
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 más archivos o
carpetas, lo podemos hacer con --update (-u), para lo que necesitaremos cambiar un poco la
estructura de nuestra carpeta de ejercicios. Para ello, vamos a crear dos carpetas internas y le
copiaremos un archivo a cada una, de manera que tengan contenido.
# mkdir temp/acceso1
# mkdir temp/acceso2
# cp temp/archivo2.txt temp/acceso1
# cp temp/archivo3.txt temp/acceso2
Podemos verificar su contenido para asegurarnos que sólo contiene los .txt del primer nivel.
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve
# tar -uvf temporal.tar temp/acceso2 temp/acceso1
temp/acceso2/
temp/acceso2/archivo3.txt
temp/acceso1/
temp/acceso1/archivo2.txt
Ocasionalmente es conveniente realizar los respaldos con otros tar, para lo que usamos la
función --concatenate (--catenate, -A); primeramente vamos a crear respaldos de las
carpetas acceso1 yacceso2 .
Ahora, procedemos a generar un temporal.tar que sólo incluya los archivos .txt originales.
Y veamos su contenido.
Para eliminar un elemento del conjunto, utilizamos --delete, que no tiene una forma corta.
También podemos realizar algunas operaciones especiales, como extraer archivos comprimidos
con GZIP mediante el comando --uncompress (-z).
Una operación que pocos saben, es poder comprimir archivos al vuelo con --compress (-z).
Algo que poca gente utiliza es el comando --multi-volume (-M), muy útil cuando realizamos
respaldos de sistemas completos y que sobrepasan el límite del dispositivo de recepción, como
en los casos de unidades de cinta.
Av. Libertador Calle Alameda Torre EXA Piso 2 Ofic. 213 El Rosal CHACAO Caracas-Venezuela Telf. 212 9535445-7222-3423
7502000-2001-2002 Web Site www.softrain.com.ve Emails info@softrain.com.ve contacto@softrain.com.ve