Aunque la terminal de Linux es una interfaz de texto que parece compleja, en realidad es muy flexible, fácil de usar y una herramienta bastante útil. Los comandos se pueden copiar fácilmente de fuentes en línea y pegar en el terminal para realizar diversas operaciones. Hay toneladas de comandos, pero esta publicación se centrará en el comando de búsqueda.
El comando de búsqueda se utiliza para buscar, filtrar o buscar archivos y carpetas en su sistema de acuerdo con las condiciones especificadas por el usuario y realizar varias operaciones en ellos.
Analicemos en detalle cómo usar el comando de búsqueda, su sintaxis y varias operaciones realizadas por este comando.
Sintaxis del comando find en Linux
La sintaxis del comando de búsqueda se muestra a continuación:
encontrar [sendero] [opciones] [expresión]
Tres atributos van con el comando de búsqueda:
- [ruta]: Define el directorio donde empezar a buscar.
- [opciones]: define los criterios de filtrado, p. ej. buscar un archivo / carpeta por su nombre, permiso, hora o fecha.
- [expresión]: Define qué acciones realizar con el archivo.
Todos los atributos anteriores son opcionales, ya que se pueden utilizar de acuerdo con el requisito.
Para la demostración, he creado diferentes directorios y algunos archivos de texto, vea la imagen a continuación:
Encontrar un archivo por nombre
Para buscar el archivo por nombre, use el siguiente comando:
$encontrar.-nombreMyTextFile1.txt
El punto después de buscar en el comando anterior indica el directorio actual.
Si no recuerda el nombre exacto del archivo, la búsqueda se puede refinar aún más y hacer que no distinga entre mayúsculas y minúsculas utilizando el nombre -iname en el lugar del nombre:
$encontrar.-inamemytextfile1.txt
Encontrar un archivo por tipo
Para buscar un archivo por su tipo, use la opción -type con letras que también se conocen como descriptores, como f para archivos, d para directorios, l para el enlace simbólico y s para sockets.
Para buscar en todos los directorios utilice:
$encontrar.-escribeD
Para buscar archivos, use:
$encontrar.-escribeF
Búsqueda de un archivo por extensión de archivo
Para buscar el archivo por patrón, por ejemplo, extensión de archivo, como mostrar todos los archivos con .txt, use el siguiente comando:
$encontrar.-nombre *.TXT
Todos los archivos con .txt se mostrarán junto con sus directorios correspondientes.
Encontrar y eliminar un archivo
Para buscar y eliminar un archivo, use el siguiente comando:
$encontrar.-inamemytextfile1.txt-exec rm {};
El comando anterior busca primero el archivo y luego lo elimina. La imagen demuestra que MyTextFile1 se ha eliminado.
Para eliminar todos los archivos con extensión .txt, puede usar el comando adjunto:
$encontrar.-nombre *.TXT-Eliminar
Encontrar un archivo por tamaño
El comando de búsqueda también puede buscar un archivo por tamaño. Simplemente use la opción -size junto con sus descriptores como b para bloques de 512 Kb, c para bytes, k para kilobytes, M y G para megabytes y gigabytes respectivamente:
$encontrar.-escribeF-Talla -1024c
El comando mencionado anteriormente busca todos los archivos con un tamaño inferior a 1024 bytes. La búsqueda se puede refinar aún más, por ejemplo, si queremos encontrar todos los archivos que tienen menos de 1 Mb, entonces usamos el siguiente comando:
$encontrar.-escribeF-Talla1 M
Para todos los archivos de más de 1 Mb, utilice el siguiente comando:
$encontrar.-escribeF-Talla+ 1 M
También se puede definir un rango de tamaño mediante el comando adjunto:
$encontrar. –escribeF-Talla+ 1 M-Talla10MBúsqueda de archivos por permiso
Para buscar un archivo con permiso, usaremos la opción -perm, luego el código de permiso, como se muestra a continuación:
$encontrar.-permanente 664
Encontrar un texto dentro de archivos de texto
Para buscar texto en varios archivos de texto en su sistema, use el comando que se proporciona a continuación:
$encontrar.-escribeF-nombre *.TXT-exec sujeción'Hola'{};
El comando busca la palabra Hola en los archivos de texto. La salida son cadenas de texto de los archivos de texto que contienen Hello.
Búsqueda de un archivo por fecha y hora de modificación
Para acceder a un archivo por su última modificación, use el siguiente comando:
$encontrar.-escribeF-iname *.TXT-mmin+10
El comando anterior busca un archivo modificado por última vez hace cuatro minutos, y m significa la Modificación.
$encontrar. –escribeF-iname *.TXT-amina -10
El comando anterior busca un archivo al que se accedió por última vez hace 4 minutos, y a in amin significa Acceso. Para acceder a un archivo que se modificó hace cuatro días, use -mtime +4 en lugar de mmin +4.
Conclusión
El comando find en Linux es un comando muy útil que te permite buscar un archivo o directorio usando diferentes criterios, e incluso te permite modificar los archivos desde la terminal. En esta guía, observamos la sintaxis del comando find en Linux y aprendimos cómo usar el comando find para realizar varias funciones.