Si bien hay muchas maneras con las que podemos buscar y localizar archivos y directorios en Linux, la más fácil y rápida es probablemente a través del terminal. Sin embargo, no muchos usuarios de Linux lo saben, lo que conduce a una frustración innecesaria. Aquí hay una guía rápida que con suerte le ayudará a localizar lo que está buscando en su sistema.
Use el comando Locate
el comando «locate» es el primer recurso que un usuario de Linux debe utilizar porque es mucho más rápido que cualquier otra cosa por ahí., La razón de esta velocidad incomparable es que el comando localizar no está realmente buscando sus discos duros locales para los archivos o directorios que usted necesita encontrar, pero más como lecturas a través del mlocate.archivo de base de datos db que contiene todas las rutas de archivo en su sistema.
Si aún no ha instalado locate, utilice estos comandos:
Debian y Ubuntu
sudo apt-get install locate
CentOS
yum install locate
Prepare locate command for first use
para actualizar mlocate.,db database antes del primer uso, ejecute:
sudo updatedb
para usar locate, abra un terminal y escriba locate seguido del nombre de archivo que está buscando. En este ejemplo, Estoy buscando archivos que contengan la palabra ‘sunny’ en su nombre.
locate sunny
Locate también puede indicarle cuántas veces se coincide una palabra clave de búsqueda en la base de datos. Esto se logra mediante la inclusión de un parámetro » – c «en el comando, que significa»count».,
locate -c sunny
lo que los usuarios deben tener en cuenta aquí es que «locate» necesita el nombre específico y exacto del archivo que está buscando, a diferencia de otras herramientas más flexibles. Eso significa que localizar es ideal para encontrar algo que usted está seguro acerca de su nombre, pero no tan grande para cuando usted no recuerda exactamente el nombre del archivo.
locate howtoforge
vs
locate Howtoforge
Además, y como» locate » lee un archivo de base de datos, los resultados pueden estar desactualizados y no ser completamente ciertos., Para mitigar este problema, puede actualizar la base de datos de rutas de archivo escribiendo «sudo updatedb» en una sesión de terminal.
eche un vistazo aquí para obtener más ejemplos de cómo usar el comando locate.
Si después de eso todavía no está obteniendo lo que estaba buscando, o simplemente está abrumado por el número de resultados, continúe con el siguiente paso que es el comando «find».
Use el comando Find
el comando «find» es una utilidad de búsqueda mucho más potente pero también más lenta., Esto se debe a que, contrariamente al comando «locate», «find» realmente busca en sus discos los archivos y directorios que busca el usuario. Find es perfecto para cuando intenta localizar un archivo o un directorio pero no puede recordar su nombre, porque «find» puede buscar archivos que pertenecen a un determinado usuario o grupo de usuarios, archivos que se modificaron o accedieron recientemente, archivos de un rango de tamaño específico, archivos ocultos, ejecutables, archivos de solo lectura y archivos con ciertos permisos., La mejor parte es que un usuario es libre de combinar múltiples de los criterios anteriores en un comando «find», esencialmente reduciendo los resultados.
hablando de reducir, lo primero que quieres hacer al ejecutar «find» es decirle que busque en un directorio específico. Esto acelerará el proceso de búsqueda significativamente, pero siempre dependiendo del tamaño del directorio. Si sabe dónde puede estar el archivo, abra el terminal, navegue hasta el directorio y ejecute » find . ”. Ese punto le dice a find que busque en el directorio actual., Si desea buscar en su directorio personal, reemplace el punto con «~/», y si desea buscar en todo el sistema de archivos, use «/» en su lugar.
como ejemplo, quiero buscar un archivo que contenga un póster en mi directorio de descargas. Sé que el nombre del archivo contiene la palabra «poster», pero no recuerdo exactamente el nombre., Por esta razón, navegaría a mi carpeta de descargas a través del terminal con «descargas de cd», y luego ingresaría el comando:
sudo find . -name "*poster*"
Aquí está el resultado:
esto me dice que hay un archivo pdf llamado «billy_poster copy» en la carpeta de descargas. Si no sabía dónde estaba, «find» todavía me haría saber que está en la carpeta de descargas si buscaba en un directorio padre.
ahora, si reemplazo el parámetro » – name «Con»- iname», podría obtener resultados sin importar el caso de la letra., Eso es algo que no está allí en «localizar», por lo que otro elemento útil para cuando no está seguro sobre el nombre del archivo.
sudo find . -iname "*poster*"
ahora, supongamos que todavía estoy buscando ese mismo archivo de póster, y lo único que recuerdo es que es menos de 5 MB de tamaño. El comando que usaría en ese caso es:
find ~/ -size -5M
Si supiera que es más alto que digamos 2MB, el comando sería»find ~/ -size +2M». La mejor parte es que find soporta operadores booleanos para hacer la búsqueda aún más fuerte., Para este ejemplo, usaré un comando que combina mi conocimiento de que el archivo tiene menos de 5 megabytes de tamaño, y también más de 2. El comando para esto sería:
find / -size -5M -and -size +2M
Por último, sugeriremos que no recordemos nada sobre el archivo, pero recordamos que accedimos a él hace tres minutos. Para encontrarlo, utilice el comando buscar como:
find / -amin -3
Este sería «find / -amin -30» durante media hora, y «-amin -120» durante dos horas, etc., Si accedió al archivo hace dos días, use esto en su lugar:
find / -time -2
esto mostrará todos los archivos a los que se accedió durante los últimos dos días en la ubicación de la búsqueda.
creo que lo anterior cubre la mayoría de los casos de uso habituales. Para obtener más información sobre el potente comando «find», abra una terminal y escriba «man find». Buena suerte encontrando lo que estás buscando.
Se pueden encontrar más ejemplos de Linux find command aquí.
Leave a Reply