El comando find se utiliza para buscar y localizar archivos y directorios basados en condiciones específicas como nombre de archivo, tamaño, fecha de modificación y otros atributos. Puedes usarlo para buscar en todo tu sistema de archivos o dentro de un directorio específico.
Es comúnmente utilizado por administradores de sistemas y usuarios regulares para localizar archivos rápidamente, especialmente en sistemas con una gran cantidad de archivos. Ya sea que estés buscando un documento perdido o necesites realizar operaciones masivas en un conjunto de archivos que cumplan con ciertos criterios, el comando find puede ser una herramienta esencial para administrar y organizar tu sistema de archivos.
Sintaxis general para el comando find:
find [OPCIONES] [RUTA…] [EXPRESIÓN]- Buscar un archivo específico en un directorio
- Encontrar y listar archivos de la misma extensión
- Encontrar y listar archivos vacíos y subdirectorios vacíos
- Encontrar y listar archivos que contienen texto específico
- Encontrar y listar archivos y subdirectorios propiedad de un usuario específico
- Encontrar y listar archivos y subdirectorios propiedad de un grupo específico
- Buscar archivos basados en el tiempo
Buscar un archivo específico en un directorio
find ./EjemploDir -name ejemplo.txtCon el parámetro -name, este comando intentará buscar ejemplo.txt dentro del directorio EjemploDir; y si se encuentra, devolverá la ruta al archivo.
./EjemploDir/subdir1/ejemplo.txt
./EjemploDir/subdir2/subsubdir/ejemplo.txtEncontrar y listar archivos de la misma extensión
find ./nombreDirectorio -name "*.txt"Este comando buscará, dentro del directorio EjemploDir, todos los archivos que terminan con la extensión .txt. Si se encuentran, cada resultado se devolverá en una nueva línea.
find ./EjemploDir -name "*.txt"
./EjemploDir/archivo1.txt
./EjemploDir/archivo2.txt
./EjemploDir/subdir/archivo3.txt
./EjemploDir/subdir/otro_subdir/archivo4.txtEncontrar y listar archivos vacíos y subdirectorios vacíos
find ./nombreDirectorio -emptyEste comando, con el parámetro -empty, encontrará y listará todos los archivos vacíos y subcarpetas vacías dentro de la carpeta nombreDirectorio.
./nombreDirectorio/archivo_vacío.txt
./nombreDirectorio/subdirectorio_vacío/Esto indicaría que se ha encontrado un archivo vacío llamado “archivo_vacío.txt” y un subdirectorio vacío llamado “subdirectorio_vacío” dentro del directorio “nombreDirectorio”.
Definición de archivo vacío siendo 0 bytes de tamaño de archivo, y carpeta vacía sin archivos o archivos de 0 bytes.
Encontrar y listar archivos que contienen texto específico
find ./nombreDirectorio -type f -name "*.txt" -exec grep 'Ejemplo' {} \;Este comando busca la palabra/cadena “Ejemplo” dentro de los archivos con la extensión .txt dentro del directorio nombreDirectorio.
./nombreDirectorio/archivo1.txt:Esta es una línea de Ejemplo en el archivo1.
./nombreDirectorio/subdir/archivo2.txt:Otro Ejemplo en un archivo diferente.
./nombreDirectorio/archivo3.txt:Uso de Ejemplo del comando find.Encontrar y listar archivos y subdirectorios propiedad de un usuario específico
find ./nombreDirectorio -user ubuntuEste comando, con el parámetro -user, encontrará archivos y subdirectorios propiedad del usuario Ubuntu en el directorio nombreDirectorio. Si se encuentran, se devolverán los nombres de archivo(s).
En el siguiente resultado de muestra ls -l:
-rw-rw-r-- 1 nuevo ubuntu 20 Jan 27 06:24 ejemplo.txtnuevo representa el nombre del grupo, y ubuntu es el usuario.
Encontrar y listar archivos y subdirectorios propiedad de un grupo específico
find ./nombreDirectorio -group ubuntuEste comando, con el parámetro -group, encontrará todos los archivos y subdirectorios propiedad del grupo Ubuntu en el directorio nombreDirectorio. Si se encuentran, se devolverán los nombres de archivo(s).
Buscar archivos basados en el tiempo
find ./nombreDirectorio -type f -mtime +7Este comando busca archivos dentro del directorio nombreDirectorio que hayan sido modificados hace más de 7 días. Aquí está la explicación de los componentes del comando:
./nombreDirectorio: Especifica el directorio donde se realizará la búsqueda.-type f: Limita la búsqueda a archivos regulares (no directorios ni otros tipos de archivos).-mtime +7: Filtra los archivos según la última vez que se modificaron. El+7significa “más de 7 días”. Esto buscará archivos que hayan sido modificados hace más de 7 días.
Puedes ajustar el número después de + para cambiar la cantidad de días. Por ejemplo, +30 buscaría archivos modificados hace más de 30 días.
Más comandos de Linux:
| Operaciones de Directorios | rmdir · cd · pwd · exa · ls |
| Operaciones de Archivos | cat · cp · dd · less · touch · ln · rename · more · head |
| Operaciones de Sistema de Archivos | chown · mkfs · locate |
| Redes | ping · curl · wget · iptables · mtr |
| Búsqueda y Procesamiento de Texto | find · grep · sed · whatis · ripgrep · fd · tldr |
| Información y Gestión del Sistema | env · history · top · who · htop · glances · lsof |
| Gestión de Usuarios y Sesiones | screen · su · sudo · open |
¿Qué te parece?
Es bueno conocer tu opinión. Deja un comentario.