Escolar Documentos
Profissional Documentos
Cultura Documentos
___________________________________________________________________________________________________
3- crear un subdirectorio con el nombre de mantenimiento en el subdirectorio samba que se encuentra en el directorio
principal /etc, todo hacerlo desde el directorio raíz. Escribir cual es la línea de comando para realizar lo anterior.
________________________________________________________________________________________
Listar con la opción –l para observar cual es la fecha que tiene el archivo.
[root@nancy etc]#ls -l hosts
Ing. Esp. María Nancy Espinel Calixto
Página 1
PRACTICA 4 COMANDOS LINUX
Realizar dos ejemplos donde se utilicen algunas opciones del comando touch y explicarlos:
5- __________________________________________________________________________________________
__________________________________________________________________________________________
6- __________________________________________________________________________________________
__________________________________________________________________________________________
Algunas opciones:
● -R: copiar recursivamente, obligatoria para copiar un directorio, incluso si está vacío.
● -i: pedir confirmación antes de sobre-escribir cualquier archivo que pueda sobre-escribirse
● -f: lo opuesto de -i, reemplaza cualquier archivo existente sin pedir confirmación alguna
● -v: modo “verboso”, reporta todas las opciones que realiza cp
Algunas opciones:
● -f: fuerza la operación – no hay advertencia alguna en caso de que la operación sobre-escriba un archivo que ya
existe.
● -i: lo contrario – pedir confirmación al usuario antes de sobre-escribir un archivo existente.
● -v: modo verboso, reportar todos los cambios y la actividad
10- Mover el archivo de texto sistemas del directorio /tmp solicitando confirmación, al directorio
/home/sistemas_operativos
___________________________________________________________________________________________
11- Crear un subdirectorio con el nombre de pepe en el subdirectorio sistemas_operativos, luego cambiarle el nombre de
pepe por pepito con el comando mv
_____________________________________________________________________________________________
_____________________________________________________________________________________________
12- Desde la raíz mover sin pedir confirmación todos los archivos corrientes cuyo nombre comience con pepito con todo
el subdirectorio sistemas_operativos al directorio /tmp mostrar cada operación llevada a cabo
_____________________________________________________________________________________________
6) COMANDO find
Se utiliza este comando para buscar archivos dentro de una jerarquía de directorios. Pero además de buscar archivos tiene
la posibilidad de realizar operaciones con o sobre los archivos que encuentra.
Opciones:
-type: especifica qué tipo de archivo se quiere buscar. Los tipos de archivos que se le pueden poner para buscar son
los siguientes:
o d - directorios
o f - archivos
o l - enlaces simbólicos
o s - sockets
-perm: se busca archivos que posean los permisos que se indican. Si se pone delante de los permisos "-" se busca
aquellos que no posean esos permisos.
-user: se buscan archivos cuyo propietario sea el usuario indicado.
-group: se buscan archivos que sean miembro de determinado grupo.
-nouser: se buscan archivos cuyo propietario sea el usuario indicado.
-nogroup: se buscan archivos que sean miembro de determinado grupo.
-size: busca archivos de un determinado tamaño.
-newer: busca archivos que sean más nuevos que el archivo 1 pero más antiguos que el archivo 2..
Ing. Esp. María Nancy Espinel Calixto
Página 3
PRACTICA 4 COMANDOS LINUX
-mtime: busca archivos que han sido modificados antes de x d?s. Si pone el caracter "-" antes de los dias se buscan
archivos en ese mismo día o antes que han sido modificados. Si se pusiese "-mtime -5" se buscarían aquellos archivos
que han sido modificados hace 5 días. Si se pone el carácter "+" se buscan archivos que no han sido modificados en
los días pasados como parámetros.
Ejemplo 1:
find /etc -name passwd -print
En este caso, el parámetro /etc es el camino o ruta desde la cual se iniciará la búsqueda. Mientras que el siguiente
parámetro, que consiste de varias partes indica primeramente que la búsqueda se realizará por nombre de archivo (-name
passwd) y que el archivo deseado se llama passwd. Por último se indica lo que se debe hacer al encontrar el archivo que es
mostrar su nombre (-print).
13- ¿Cuántos archivos encontró?___________________________________
Como se mencionó, find tiene muchas opciones en cuanto a sus parámetros y se debe consultar la ayuda para obtener
información sobre todos ellos. Sin embargo vale la pena mencionar algunos de ellos tanto para conocer su funcionamiento
como para comprender la forma en que se especifican sus parámetros. La siguiente tabla muestra algunas de los
parámetros que pueden usarse:
Opción Funcionamiento
Se buscarán los archivos cuyo usuario sea nombre. Ejemplo:
-user nombre
find / -name unix100 -print 2> /dev/null
Se buscarán los archivos cuyo grupo sea grupo. Ejemplo:
-group grupo
find / -group unix100 -print 2> /dev/null
Selecciona archivos cuyo tamaño es exactamente el número especificado. Se puede agregar una
de las letras [bckw] para indicar que el número representa bloques, bytes, kilobytes, o palabras
-size tamaño de 2 bytes, respectivamente.
Ejemplo:
find /bin -size 20c -print 2> /dev/null
-size -tamaño Selecciona archivos cuyo tamaño es menor que el número especificado.
Ejemplo:
find /bin -size -20c -print 2> /dev/null
-size +tamaño Selecciona archivos cuyo tamaño es mayor que el número especificado.
Ejemplo:
find /bin -size +20c -print 2> /dev/null
Se buscarán los archivos cuyo tipo sea tipo, donde algunos de los valores para este pueden ser d
-type tipo para directorios, f para archivos normales, o l para enlaces. Ejemplo:
find /bin -type d -print 2> /dev/null
Como se mencionó anteriormente, find nos permite no solo encontrar archivos sino realizar operaciones con ellos. Para
esto, se debe seguir exactamente la notación que se indica a continuación:
Se utiliza el parametro -exec seguido de un espacio y el comando a realizar sobre cada archivo que se encuentre y después
{} \;.
Ejemplo 14: En este ejemplo se buscan todos los archivos cuyo nombre termina con *wd en el directorio /etc y
muestra el contenido de cada uno de ellos.
find /etc -name "*wd" -exec cat {} \;
Ejemplo 15:Buscar en el directorio /etc el archivo "passwd" y buscar dentro si hay un usuario llamado root:
find /etc -name "passwd" | xargs grep "root"
Ejemplo 16:Hacer la misma búsqueda evitando que se muestren mensajes de error por pantalla
find /etc -name "passwd" 2>/dev/null | xargs grep "root"
El comando xargs lo que permite es la ejecución de un comando tomando como parámetro de entrada la entrada
standard. Para el ejemplo anterior lo que haría sería buscar el archivo "passwd" dentro del directorio /etc y en el caso de
encontrar alguna coincidencia se ejecutaría el comando grep que buscaría la cadena de texto "root". En el caso de que se
produzcan errores en la busqueda del archivo "passwd" debido por ejemplo a la falta de permisos para acceder a un
determinado directorio estos se mandarán a /dev/null y no veríamos dichos mensajes por la pantalla.
Ejemplo 17:Hacer la misma búsqueda que en el caso anterior pero esta vez que se muestren todos los usuarios del
archivo passwd excepto "root":
find /etc -name "passwd" 2>/dev/null | xargs grep -v "root"
Ejemplo 18:Borrar los archivos que empiecen por "A" en el directorio actual y hacia abajo:
find . -type f -iname "A*" | xargs rm
Ejemplo 19:Lo mismo que en el caso anterior pero que se pida confirmación antes de borrar
find . -type f -name "A*" -exec rm -i {} \;
Ejemplo 20:La opción -exec permite realizar lo mismo que si se pone xargs pero sin usar un pipe. La sintaxis de -exec
es la siguiente:
find path -name nombreArchivo -exec comandoAEjecutar {} \;
Cuando se usa la opcion -exec el comando find todos los resultados obtenidos con a exec para que trabaje con cada uno.
Lo que pasa es que en algunos sistemas hay un límite en la longitud de la cadena que se le pasa a exec por lo que al rato
de estar ejecutándose esta búsqueda termina por error. Para estos casos es mejor utilizar xargs.
Ejemplo 21: Buscar archivos dentro del nuestro directorio de trabajo que contengan sh en su nombre y ver su
información.
find $HOME -name "*sh*" | xargs ls -l
El "$HOME" es una variable del sistema que define donde se encuentra el directorio de trabajo de un usuario. El caracter
"~" realiza la misma función.
Ejemplo 22:Buscar aquellos archivos que han sido modificados en los últimos 14 días:
find . -type f -mtime -14
Si se quiere buscar más de un archivo con el comando find se hace usando el parámetro -o. Lo que se consigue con este
parámetro es hacer búsquedas en las que se cumpla o una condición u otra. Por ejemplo para buscar todos los archivos
con extensión "xml" y "xsl" del directorio actual se haría de la siguiente forma:
find . -name "*.xml" -o -name "*.xsl"
Ejemplo 23: Desde raíz (/) buscar todos los archivos de ejecutables con extensión .exe
find / -name *.exe
EJERCICIOS:
Para cada ejercicio, escribir el o los comandos y los parámetros que requiere éste para realizar la tarea descrita.
14- Cuales archivos en el directorio /etc son de tamaño igual a 30 bytes?
15- Cuales archivos en el directorio /etc/selinux son de tamaño menor a 1 byte?
16- Cuales archivos en el directorio /etc son de tamaño mayor a 900 kilo bytes?
17- Consulta el manual de find para determinar cómo mostrar los nombres de los archivos que se tienen en la cuenta que
se modificaron en los últimos 30 días.
18- Consulta el manual de find para determinar cómo mostrar los nombres de los archivos que se tienen en la cuenta que
se modificaron hace más de 15 días.
19- Consulta el manual de find para determinar cómo mostrar los nombres de los archivos que se tienen en la cuenta que
se modificaron hace de 5 días.
20- Mostrar el nombre de todos los archivos que se tienen en la cuenta cuyo nombre termine con el símbolo ~. Si no
tienes ninguno, crear 4 y vuelve a hacer el ejercicio. (Nota: Los archivos de respaldo que crea vi tienen esta
terminación.)
21- Mostrar el contenido de los archivos que se encontraron en el paso anterior mostrando una pantalla de información a
la vez.
22- Crear un directorio que se llame para_borrar y copiar los archivos que se mostraron en el paso anterior.
23- Utilizar find para borrar los archivos del directorio que se creó en el paso anterior.
24- Explicar cuál es la función de los parametros -amin y -used .
25- Dar un ejemplo del uso de los parámetros del ejercicio anterior
26- Buscar los siguientes archivos y escribir el resultado
Ifconfig, hosts, hostname, resolv.conf, named.conf