Introducción
En este artículo veremos cómo buscar para localizar determinados archivos o directorios dentro de nuestro sistema de archivos. Hay varios comandos para buscar y encontrar archivos en Linux.
Busque un archivo con el comando de localización
Uno de los comandos más utilizados para buscar archivos o directorios es el comando de localización que busca por nombre de archivo. Debería ver una lista de archivos y directorios que contienen la palabra buscada en su nombre y ruta:
locate nomefile
El comando de localización no realiza una búsqueda en tiempo real entre los archivos del sistema, sino que busca en una base de datos que contiene información sobre los archivos presentes en el sistema. Por lo tanto, debe actualizar esta base de datos con frecuencia usando el siguiente comando:
updatedb
Busque un archivo con el comando buscar
Otro comando útil es find, que nos permite buscar archivos y directorios por nombre, fecha de creación o tamaño. Para buscar un archivo en el sistema, use el comando buscar. Un ejemplo para buscar un archivo en el sistema, desde la terminal:
find /home/user -type f
Este comando buscará todos los archivos ubicados en /home /user. El comando de búsqueda es extremadamente poderoso y se puede personalizar con varios comandos para hacer la búsqueda aún más detallada.
Para buscar en todo el sistema un archivo específico:
find /-name nomefile.txt
Para buscar por fecha de creación del archivo, use la opción -ctime seguida de la edad (expresada en días) del archivo para buscar. Por ejemplo, para buscar un archivo creado hace 6 días en una ruta específica:
find /var/www/html -ctime 7
Si desea buscar archivos de un tamaño superior a cierto, puede utilizar:
find. -type f -size 10M
El comando anterior buscará en el directorio actual todos los archivos que superen los 10 MB. Asegúrese de no ejecutar el comando desde el directorio raíz de su sistema Linux, ya que esto puede causar una alta E /S del sistema.
Una de las combinaciones más utilizadas es la opción "exec " que le permite realizar algunas acciones sobre los resultados del comando de búsqueda.
Por ejemplo, si queremos buscar todos los archivos en un directorio y cambiar sus permisos. Esto se puede hacer con:
find /home/user/files/-type f -exec chmod 644 {} \;
El comando anterior buscará recursivamente todos los archivos en el directorio especificado y ejecutará el comando chmod en los archivos encontrados.
Busque un archivo con el comando grep
Con grep puede buscar archivos que contengan una determinada palabra o una determinada cadena de texto:
grep index *.html
Gracias a esta sintaxis, la cadena " índice " se buscará entre todos los archivos.html (el asterisco indica "cualquier cosa" y se utiliza, en este ejemplo, para buscar cualquier archivo con la extensión.html ).
Como resultado de la búsqueda también tendremos todo entre el índice de palabras y .html.
Para recibir solo la palabra específica como resultado, use el parámetro -w:
grep -w "index" *.html