Básicamente, todo en Linux es un archivo. Pero antes de que pueda editar un archivo, debe poder localizarlo en su sistema.
Acerca de la búsqueda de archivos de Linux
En este artículo, describo brevemente dos comandos en detalle con ejemplos útiles para buscar archivos con la terminal. Los dos comandos son el comando de búsqueda y el comando de localización . La diferencia entre los dos comandos es que buscar realiza una búsqueda en tiempo real y localizar utiliza una base de datos indexada para la búsqueda. Esto significa que el comando de localización suele ser más rápido, pero asume que el archivo que se busca está en su base de datos de índice, y esa base de datos generalmente se crea por la noche, por lo que el comando de localización no encuentra los archivos más nuevos. Estoy usando Debian 11 en mi entorno. Pero los comandos deberían ser los mismos en otras distribuciones de Linux.
Si desea buscar archivos por su contenido en lugar del nombre del archivo, eche un vistazo al comando grep.
Búsqueda de archivos y directorios usando el comando de búsqueda
Buscar archivo en el directorio actual
Si desea encontrar un archivo usando el comando de búsqueda, ejecute uno de los siguientes en su terminal.
find <filname>
supongamos,
find test.txt
Esto buscará el archivo en el directorio actual en el que está trabajando.
Buscar archivo en otro directorio
Ahora, si desea ubicar el archivo en un directorio específico. El comando completo debería verse así,
find <path of directory/filename>
Suponga que desea buscar un archivo llamado 'test.txt' en Documentos, el comando completo debería ser el siguiente.
find Documents/test.txt
Buscar archivos por extensión de archivo
Ahora, si desea encontrar todos los archivos de texto en su directorio actual o específico, los comandos respectivos deberían tener el siguiente aspecto.
find *.txt
find <path of directory/*.txt>
Suponga que desea buscar todos los archivos de texto en la ruta de Documentos/Karim, el comando completo debería verse así.
find Documents/Karim/*.txt
Buscar archivos por nombre
Alternativamente, puede usar el cambio de nombre cuando desee buscar un archivo por nombre.
find <path> -name <name of file you want to search>
Suponga que desea buscar un archivo llamado test1.txt en Documents/Karim. El comando completo debería verse así.
find Documents/Karim -name test1.txt
Si desea buscar un archivo específico en el directorio actual en el que está trabajando. Poner . en la ruta como se muestra en el ejemplo.
find . -name test1.txt
Ignorar mayúsculas y minúsculas al buscar archivos
Si desea buscar un archivo y quiere ignorar el caso, use el modificador -iname. El comando completo debería tener el siguiente aspecto.
find . -iname test.txt
Encuentre archivos por tipo de archivo, p. enlaces simbólicos
Para buscar un tipo de archivo específico, use la opción -type. El comando completo debería tener el siguiente aspecto.
find <path> -type <c>
- c denota el tipo de archivo y lo siguen.
- b bloque (en búfer) especial
- c carácter (sin búfer) especial
- d directorio
- p canalización con nombre
- f archivo normal
- l enlace simbólico
- D puerta (Solaris)
Suponga que desea buscar archivos regulares en Documentos/Karim, ejecute el siguiente comando.
find Documents/Karim -type f
Si desea buscar archivos regulares en su directorio actual. El comando completo debería tener el siguiente aspecto.
find . -type f
Si desea buscar archivos con varias extensiones, utilice los caracteres c separados por comas.
Digamos que desea encontrar todos los archivos vacíos regulares en su directorio actual.
find . -type f -empty
Suponga que desea encontrar todos los directorios vacíos en su directorio actual, use las opciones -d y -empty en un comando de búsqueda de la siguiente manera.
find . -type d -empty
Buscar archivos por tamaño
Si desea buscar archivos con un tamaño específico, puede usar el parámetro -size. Puede usar el siguiente sufijo con su tamaño exacto.
- c :bytes
- k :kilobytes
- M :Megabytes
- G :Gigabytes
- b :bloque de 512 bytes
Suponga que desea encontrar todos los archivos en su directorio actual que tengan exactamente 50 bytes. Tienes que ejecutar el siguiente comando.
find . -size 50c
Suponga que desea encontrar todos los archivos en su directorio actual que tengan más de 50 bytes o menos de 50 bytes respectivamente, debe ejecutar uno de los siguientes comandos.
find . -size +50c
find . -size -50c
Buscar archivos por propietario (usuario)
Si desea buscar un archivo propiedad de un usuario específico, puede usar la opción -user. La sintaxis del comando debe ser la siguiente.
find <path> -user <username>
Suponga que desea buscar un archivo en su directorio actual propiedad de vitux. El comando debería tener el siguiente aspecto.
find . -user vitux
Búsqueda de archivos usando un comando de localización
El segundo es el comando de localización que puede usar para buscar archivos y directorios en su sistema.
En primer lugar, debe instalar la utilidad de localización en su máquina Debian 11. Inicie sesión con root y ejecute el siguiente comando en su terminal. Presiona Y desde tu teclado cuando se te pida confirmación.
apt-get install locate
Espere a que se complete una operación.
Localizar es un comando más rápido y depende de la base de datos del sistema de archivos. Se actualiza una vez al día, pero si desea actualizarlo manualmente, ejecute el siguiente comando en su terminal con privilegios de root.
updatedb
Para buscar un archivo con el comando de localización en su directorio actual, ejecute lo siguiente en su terminal.
locate <filename>
Supongamos que mi nombre de archivo es test.txt. El comando completo debería tener el siguiente aspecto.
locate test.txt
Puede usar la opción -i para ignorar el caso del nombre del archivo.
locate -i <filename>
o
locate -i test.txt
Tanto los comandos de localización como los de búsqueda son útiles para buscar los archivos. Depende de usted cuál de los comandos usa principalmente. Se pueden ampliar con otros comandos usando pipe, wc, sort y grep, etc.