Comando find

4 febrero, 2013
admin

Busca ficheros en un sistema de archivos.

Sintaxis:
find nodo_ruta criterio_nombre_expresión acción

Busca a partir de la jerarquía de archivos que empieza en nodo_ruta los ficheros que cumplan el criterio dado en criterio_nombre_expresion y les aplica la acción correspondiente.

El nodo-ruta especifica a partir de dónde buscar los archivos (camino).
El criterio indica cómo seleccionar los archivos, si es por el nombre solamente o es por otro criterio cualquiera. Puede ser compuesto por una expresión en cuyo caso se construye a partir de un conjunto de opciones o primitivas y operadores. La yuxtaposición de dos opciones implica el operador lógico AND. Podemos agrupar las primitivas y operadores usando paréntesis. Los paréntesis, comas y corchetes son metacaracteres del shell. Debemos entrecomillarlos para usarlos dentro de la expresión.
La acción es referida a, qué hacer con los ficheros seleccionados.

find acepta los siguientes operadores para construir expresiones:

  • –a Equivale al operador lógico AND. Es el valor que se asume por defecto.
  • –o Equivale al operador lógico OR
  • Equivale al operador lógico NOT, esto es, niega la expresión que le sigue.

Algunas de las criterioscriterioscriterios criterioscriterios criterioscriterios más usados de find son los siguientes:

  • –atime number Fecha en días –periodo de 24 horas- de acceso al fichero
  • –ctime number Fecha en días de creación del fichero
  • –group name Especifica el grupo del propietario del fichero
  • –inum number Número de inodo del fichero
  • –mtime number Fecha en días de modificación del fichero
  • –name pattern Patrón de búsqueda. Sigue la sintaxis de los nombres de ficheros
  • –perm mask Ficheros con permiso idénticos a mask
  • –size number[c] Tamaño del fichero en bloques –grupo de 512 bytes- o en bytes si se especifica el sufijo c.
  • –type t Tipo del fichero. “t” puede ser: b–>bloque; c–>carácter; d–>directorio; f–>fichero; l–>enlace simbólico; n–>fichero de red; p–>FIFO; s–>socket
  • –user name Nombre de usuario del fichero

Nota: Cada número en la lista de opciones es un número decimal opcionalmente precedido por un + o un –. Un signo “+” significa “mayor que” o “posterior a” y un signo “–“ implica “menor que” o “anterior a”.

Algunas de las acciones de find son:

  • –exec command ; Toma todos los argumentos entre exec y el “;” como una línea de comandos reemplazando cada argumento en el lugar en que está situado {} por el nombre del camino actual. Después ejecuta la línea de comandos resultante mostrando los resultados que tienen éxito –valor de retorno 0-. El “;” final debe estar entrecomillado o precedido por “” y delimitado con un espacio. Nota:Para aprobar cada cambio en find sustituir “exec” por “ok”.
  • –print Imprime el nombre del fichero actual. Se asume por defecto salvo cuando se usan expresiones con efectos laterales como –exec.

Ejemplos:

a) Buscar todos los ficheros con extensión .c o .h, empezando en el directorio actual:

    $ find . –name “*.[ch]”

b) Buscar todos los ficheros con extensión .Z que fueron modificados por última vez hace 3 días:

    $ find . –name “*.Z” –mtime 3

c) Buscar todos los ficheros con extensión .c que fueron modificados hace más de 3 días y menos de 9 días:

    $ find . –name “*.c” –a “(“ –mtime +3 –a –mtime –9 “)”

d) Ejecutar ls –l sobre todos los ficheros modificados hace más de 10 días:

    $ find . –mtime +10 –exec ls –l {} ‘;’

e) Buscar todos los ficheros de solo lectura (sobre sistemas Windows) que tienen tmp en cualquiera de las dos partes de su nombre y borrarlos:

    $ find . “(“ –name “tmp.*” –o –name “*.tmp” “)” –perm =rx –exec rm {} ;

f) Busca en todo el disco duro los ficheros ordinarios que se llamen “fic” y tengan como propietario a bin y visualiza su nombre y su ruta:

    $ find / –name fic –type f –user bin -print

Sin comentarios

You must be logged in to post a comment.
CONTENIDO PATROCINADO POR

FPla Informatica

Diseño web y Marketing digital
Disponga de una página web o un comercio electrónico de alta calidad a precios muy competitivos.
ACCEDER A FPLA INFORMATICA
close-link