Ejemplos de uso del comando find en Linux

Ejemplos de uso del comando find en Linux

La mayoría de los administradores de archivos más populares para los sistemas operativos del núcleo de Linux tienen una herramienta de búsqueda bastante funcional. Sin embargo, las opciones que contiene no siempre son suficientes para que el usuario encuentre la información que necesita. En este caso, la utilidad estándar que se puede ejecutar a través del «Terminal».. Permite encontrar fácilmente los datos necesarios en un directorio o en todo el sistema introduciendo un comando, un argumento y una opción.

Uso del comando find en Linux

El comando encontrar está diseñado para buscar varios objetos, incluyendo archivos de cualquier formato y directorios de diferentes profundidades. El usuario sólo tiene que introducir el propio comando, especificar el valor a buscar y asignar argumentos para establecer los parámetros de filtrado. El procedimiento por parte de la propia utilidad no suele llevar mucho tiempo, pero sigue dependiendo de la cantidad de información que se vaya a escanear. Veamos ahora algunos ejemplos de cómo utilizar encontrar con más detalle.

Navegar a un directorio a través de la consola

Para empezar, me gustaría desviarme un poco del comando básico y tocar el tema de las acciones adicionales que ayudarán en el futuro al controlar desde la consola. La cuestión es que las utilidades de las distribuciones de Linux no están diseñadas para buscar todos los elementos de su ordenador. Todos los procesos deben ser lanzados sólo especificando la ubicación completa a los elementos o saltar a la ubicación a través del comando cd. Esto puede hacerse fácilmente:

  1. Abra el gestor de archivos instalado y navegue hasta la carpeta deseada en la que desea utilizar el comando en el futuro encontrar.
  2. En cualquier objeto, haga clic en el PCM y localice el elemento «Propiedades»..
  3. Verá su carpeta principal con la ruta completa listada. Memorícelo para poder navegar desde «Terminal»..
  4. Ahora inicie la consola, por ejemplo a través del menú.
  5. Escribe un comando ahí. cd /home/user/folderdonde usuario – el nombre de la carpeta de inicio del usuario, y carpeta – es el nombre del directorio requerido.

Si antes de activar encontrarAl ejecutar la instrucción anterior, es posible no escribir la ruta completa del archivo con la condición de que se encuentre en la ubicación seleccionada. Esta solución acelerará considerablemente la introducción de comandos en el futuro.

Búsqueda de archivos en el directorio actual

Cuando se ejecuta. find desde la consola que acaba de ejecutar, obtendrá un resultado de búsqueda en el directorio raíz de su usuario activo. En otro caso, por ejemplo, al realizar una activación mientras se busca por ubicación, se verán en los resultados todas las subcarpetas y los archivos presentes en ellas en esa ubicación.

Activación encontrar sin argumentos ni opciones se utiliza cuando es necesario buscar entre todos los elementos a la vez. Si sus nombres no encajan completamente en las líneas, vale la pena cambiar el comando para que se vea como find . -print.

Buscar archivos en el directorio especificado

El comando para mostrar los archivos a través de la ruta especificada es prácticamente el mismo que mencionamos anteriormente. También debe escribir findy luego añadir ./foldersi quiere conocer los datos del directorio en la ubicación actual, o tendrá que especificar la ruta completa escribiendo, por ejemplo find ./home/user/downloads/folderdonde carpeta – directorio final. Cada elemento será emitido como una línea separada en el orden de su profundidad.

Buscar por nombre

A veces es necesario mostrar sólo los objetos que satisfacen por su nombre. Entonces, el usuario debe especificar una opción separada para el comando, de modo que éste entienda la referencia. La línea de entrada tendrá este aspecto: find . -name "word"donde palabra – La palabra clave de búsqueda, que debe escribirse entre comillas dobles y distinguir entre mayúsculas y minúsculas para cada carácter.

Si no conoce las mayúsculas y minúsculas exactas de cada letra, o si desea mostrar todos los nombres coincidentes sin tener en cuenta esta opción, introduzca find . -iname "word".

Para filtrar los resultados por palabra clave a argumento -nombre se añade uno más. El comando tiene la forma de find . -not -name "word"donde palabra – palabra a excluir.

A veces también es necesario encontrar objetos por una clave, mientras se excluye otra. A continuación, se asignan varias opciones de búsqueda, una por una, y la cadena de entrada es la siguiente: find . -name "word" -not name "*.txt". Tenga en cuenta que el segundo argumento tiene » entre comillas*.txt»lo que significa que encontrar no sólo funciona con los nombres, sino también con los formatos de los archivos, que se establecen de esta manera.

También hay un operador O. Permite encontrar uno o más argumentos coincidentes a la vez. Cada uno de ellos se especifica por separado, añadiendo al mismo tiempo los argumentos correspondientes. El resultado es aproximadamente el siguiente: find -name "word" -o -name "word1".

Especificación de la profundidad de la búsqueda

Comando encontrar también ayudará al usuario cuando necesite encontrar el contenido de los directorios sólo hasta una profundidad determinada, por ejemplo, no necesita realizar el análisis dentro de una tercera subcarpeta. Para establecer estas restricciones, escriba find . -maxdepth N -name "word"donde N – profundidad máxima, y -nombre «palabra» – Cualquier argumento posterior.

Búsqueda en múltiples directorios

Muchos directorios contienen varias carpetas con diferentes contenidos a la vez. Si hay un gran número de ellas y quieres buscar sólo algunas, entonces tendrás que especificarlo al introducir el comando find ./folder ./folder1 -type f -name "word"donde ./carpeta ./carpeta1 – una lista de directorios adecuados, y -nombre «palabra» – otros argumentos.

Visualización de elementos ocultos

Si no se especifica un argumento adecuado, los objetos ocultos situados en los directorios escaneados no se mostrarán en la consola. Por lo tanto, el usuario escribe manualmente una opción adicional para que el comando termine así: find ~ -type f -name ".*". Obtendrá una lista completa de todos los archivos, pero si no se puede acceder a algunos de ellos, antes de la palabra encontrar en la línea, escriba sudopara activar los derechos de superusuario.

Escaneo de las carpetas de inicio de los grupos y usuarios

Cada usuario puede crear un número ilimitado de directorios y objetos en diferentes ubicaciones. La forma más rápida de encontrar información que pertenece a un usuario es utilizar el comando encontrar y uno de sus argumentos. В «Terminus». teclear find . -user usernamedonde nombre de usuario – nombre de usuario. Una vez introducido, el escaneo se iniciará automáticamente.

Aproximadamente el mismo esquema funciona con los grupos de usuarios. Los archivos asociados a uno de los grupos se analizan por find /var/www -group groupname. Hay que tener en cuenta que puede haber un gran número de objetos y que a veces se tarda mucho tiempo en darles salida a todos.

Filtrado por fecha de modificación

El sistema operativo almacena automáticamente información sobre la fecha de modificación de cada archivo existente. El comando encontrar permite encontrarlos todos por el parámetro especificado. Lo único que hay que hacer es escribir sudo find / -mtime Ndonde N – El número de días en que el objeto fue modificado por última vez. Prefijo sudo es necesario aquí para obtener datos sobre los archivos sólo para superusuarios también.

Si está interesado en ver los artículos que se abrieron por última vez hace un determinado número de días, la cadena cambia ligeramente a sudo find / -atime N.

Filtrado por tamaño de archivo

Cada objeto tiene su propio tamaño, en consecuencia, el comando de búsqueda de archivos debe tener una función que permita filtrarlos por este parámetro. encontrar puede hacer esto, el usuario sólo tiene que especificar el tamaño mismo a través de un argumento. Basta con escribir find / -size Ndonde N – volumen en bytes, megabytes (M) o gigabytes (G).

También puede especificar un rango de elementos a buscar. A continuación, se insertan los determinantes en el comando y se obtiene, por ejemplo, la siguiente cadena: find / -size +500M -size -1000M. Este análisis mostrará los archivos de más de 500 megabytes, pero menos de 1000.

Búsqueda de archivos y directorios vacíos

Algunos de los archivos o carpetas aparecen vacíos. Simplemente ocupan un espacio innecesario en el disco y, a veces, le impiden interactuar con su ordenador correctamente. Es necesario encontrarlos para decidir qué hacer a continuación, y aquí es donde find /folder -type f -emptydonde /carpeta – el lugar donde se realiza la exploración.

Por otro lado, me gustaría mencionar brevemente otros argumentos útiles que se vuelven útiles para el usuario de vez en cuando:

  • -mount – Restricción al sistema de archivos actual solamente;
  • -type f – sólo archivos de visualización;
  • -type d – mostrar sólo los directorios;
  • -nogroup, -nouser – busca archivos que no pertenecen a ningún grupo o que no pertenecen al usuario;
  • -version – averiguar la versión de la utilidad que se está utilizando.

Esa es la introducción del comando encontrar completa. Si quieres explorar en detalle otras herramientas de consola estándar de los sistemas operativos del núcleo de Linux, te sugerimos que eches un vistazo a nuestro material separado en el siguiente enlace.

Leer más: Comandos de uso frecuente en el «Terminal» de Linux

Después de buscar la información requerida, puede realizar cualquier otra acción con ellos, como editar, borrar o examinar el contenido. Otras utilidades incorporadas pueden ayudar en este sentido «Terminal».. A continuación encontrará ejemplos de su uso.

Lea también: Ejemplos de comandos grep / cat / ls en Linux

Nos alegramos de que hayamos podido ayudarle con el problema.

Describa lo que no le ha funcionado.
Nuestros especialistas tratarán de responder con la mayor rapidez posible.

¿Le ha ayudado este artículo?