Creo que a todos nosotros, una de las cosas que mas nos gusta de nuestro sistema operativo es la linea de comandos. Todos hemos usado nautilus, gnome-commander, konqueror, kommander, dolphin and thunar para la gestión de ficheros en Linux y por supuesto que todos estos gestores son cojonudos para hacer las operaciones para lo que están pensados. Pero en ocasiones quieres realizar una búsqueda de algun fichero mientras trabajas en la linea de comandos y no quieres abandonarla para hacer dicha operación en un entorno gráfico.

De la página man de find:

GNU find busca en el árbol de directorio (rooted) los nombres de fichero evaluando la expresión dada de izquierda a derecha, de acuerdo con las reglas de precedencia hasta que la salida es conocida momento en el cual pasa al siguiente nombre de fichero.

Búsqueda de directorios vacíos:

find /path -depth -type d -empty

Búsqueda de ficheros vacíos:

find /path -depth -type f -empty

Buscar un fichero con un nombre específico:

find /path -name name_of_file

Buscar ficheros con extensiones específicas:

find /path -name «*.extension»

Buscar ficheros con permisos específicos que tengan extensión «.txt» :

find /path -name ‘*.txt’ -perm 644

Buscar ficheros con permisos dados:

find /path -perm -permision_bits

Buscar ficheros con un nombre dado y cualquier extensión:

find /path -name ‘nombre.*’

Buscar ficheros modificados en los últimos bloques de 24 horas:

find /path -mtime n

Donde n es:

  • 0 las últimas 24 horas
  • 1 las últimas 48 horas
  • 2 las últimas 72 horas

Buscar ficheros que han sido accedidos en los últimos bloques de 24 horas:

find -atime n

Donde n es:

  • 0 las últimas 24 horas
  • 1 las últimas 48 horas
  • 2 las últimas 72 horas

Buscar ficheros por propietario:

find /path -user root

Cualquiera puede incluso hacer tuberías con el comando find al comando xargs con el objetivo de ejecutar comandos en los resultados de las búsquedas.

Buscar y borrar ficheros:

find /path -name mytestfile | xargs rm

o bien usando directamente find /path -name mytestfile -exec rm {} \;

Recomiendo la lectura de las páginas del man de find y de xargs para obtener toda la información sobre estos potentes comandos.

Muchos nuevos usuarios de Linux se sienten intimidados por la linea de comandos. Este sentimiento debe eliminarse desde el inicio debido a que la linea de comandos puede ser mas potente y rápida que la mayoría de las aplicaciones gráficas similares.

Saludos a todos.

You must be logged in to post a comment.