find: Buscando archivos por terminal en GNU/Linux

Hoy veremos algunos ejemplos de búsquedas de archivos en la terminal de GNU/Linux utilizando en comando find. Aprenderemos su sintáxis básica, y algunos comandos un poquito más avanzados para personalizar nuestras búsquedas.


Sintaxis básica del comando findfind command linux cli

La sintaxis básica del comando es la siguiente:

Buscaremos en una ruta determinada archivos que correspondan con un patrón según la opción especificada, por ejemplo, palabras en su nombre, permisos, fechas, tamaños, etc.
Buscando en el directorio local por nombre de archivo

Buscando con una ruta de entrada:

diego@sol:/tmp$ find /tmp -name archivo
/tmp/archivo

Y si tenemos mayúsculas y minúsculas? iname es la solución:

Buscando tipos de archivos especiales… directorios por ejemplo:

Y directorios con un nombre determinado?

Cabe aclarar que también es valida la opción «-iname» en este caso.
También, otros tipos comunes son:

Busquemos ahora los archivos vacíos:

Lo mismo se aplica a directorios:

Utilizando el comodín ‘*’ para sustituir caracteres:

buscará todos los archivos con extensión .txt en el directorio /tmp

Permisos: Buscando todos los archivos con mode 654 en /home

Buscando todos los archivos con permisos 654 y SUID en /home

Buscando todos los archivos que no tengan los permisos 654 en /home

Buscando en /home todos los archivos con los permisos de ejecución en la terna user

O archivos ejecutables en general:

Ejecutando comandos con los resultados de búsqueda

Podemos también ejecutar comandos con los resultados de búsqueda, por ejemplo, movamos todos los ejecutables encontrados en /home al directorio /home/ejecutables:

O borremos, por ejemplo, todos los .avi que tengamos en /tmp:

Busquemos ahora todos los archivos cuyo dueño sea el usuario «diego»:

Grupos: Buscando los directorios del grupo «users»

Usuarios: Buscando todos los archivos .txt del usuario diego:

Fechas: Buscar todos los archivos modificados hace 30 días o más:

O todos los archivos modificados hace menos de 5 días:

O combinando ambos, los modificados hace más de 5 días, y menos de 30:

O los archivos modificados hace menos de 15 minutos:

O borrar todos los jpg creados hace mas de 45 días:

Espero que les haya sido de utilidad!

Fuentes:

http://www.tecmint.com/35-practical-examples-of-linux-find-command/