50 ejemplos simples y útiles del comando Find en Linux

Una de las principales razones detrás de la popularidad global que disfrutan actualidad son sus herramientas y utilidades predeterminadas. Linux ofrece algunos de los mejores métodos para buscar y acceder a archivos directamente desde la línea de comandos. El comando find en Linux es una de esas utilidades que permite a los usuarios de Linux buscar en su sistema tipos particulares de archivos de manera efectiva. Es una utilidad de línea de comandos que permite potentes funciones de búsqueda y puede ser una herramienta atractiva en la mano de usuarios experimentados. Si desea dominar el comando de búsqueda en detalle y acelerar sus habilidades de Linux, ha venido al lugar correcto.

Ejemplos cotidianos del comando Find en Linux

Creemos que la mejor manera de aprender es probarlos usted mismo. Los comandos que se muestran a continuación deberían funcionar bien en todas pesar de su entorno de escritorio. Por lo tanto, puede probar rápidamente algún comando de búsqueda en Linux abriendo una terminal usando Ctrl + T y copiando y pegando los comandos desde aquí. Intente utilizar estos comandos en su computación diaria tanto como sea posible para dominarlos en poco tiempo.

Estructura del comando Buscar

El comando de búsqueda en Linux tiene la siguiente estructura.

buscar [rutas] [expresión] [acciones]

Aquí las rutas denotan el directorio donde no “encontrará” para buscar los archivos especificados. La expresión le permitirá filtrar sus archivos según algunos criterios, mientras que las acciones le permitirán ejecutar comandos de shell en los archivos. La acción predeterminada es imprimir, que simplemente imprime los archivos que coinciden con la expresión en cualquier ruta. Find muestra los archivos de forma recursiva, lo que significa que primero atravesará cada directorio y luego imprimirá los resultados en consecuencia.

Comandos básicos de búsqueda de Linux

Puede utilizar algunos comandos básicos de búsqueda para tener una idea de lo que puede hacer. Estos comandos son bastante sencillos y no requieren experiencia previa con otras utilidades de línea de comandos.

comando de búsqueda básico en Linux

1. Enumere todos los archivos presentes en el directorio actual

$ encontrar

Esto imprimirá todos los archivos presentes en el directorio actual. Si el directorio actual contiene directorios adicionales, también los mostrará. Este comando es equivalente al comando

$ buscar -imprimir .

2. Enumere todos los archivos presentes en un directorio específico

$ buscar / carpeta

Este comando imprimirá todos los archivos presentes dentro del directorio / carpeta . Puede usar este comando para listar todos los archivos de una ruta específica en su sistema Linux.

3. Busque un archivo específico

$ buscar -nombre test.txt

Este comando busca un archivo llamado test.txt dentro de su directorio actual y en todos los demás subdirectorios. Utilice este comando cuando busque archivos específicos.

4. Busque un archivo específico en un directorio

$ find / Docs -name test.txt

Este comando buscará el archivo llamado test.txt en la carpeta llamada / Docs . Puede usar rutas absolutas y rutas relativas al usar este comando.

5. Busque un archivo en varios directorios

$ find / opt / usr / var -name foo.scala -type f

Puede utilizar el comando de búsqueda de Linux cuando busque un archivo en varios directorios al mismo tiempo. Simplemente coloque los nombres de los directorios uno tras otro, seguidos de un espacio al realizar la búsqueda.

6. Busque un caso que ignore el archivo

$ buscar -iname test.txt

Este comando buscará el archivo test.txt sin coincidir con el caso. Entonces, si tiene dos archivos llamados test.txt y Test.txt , mostrará ambos archivos. La opción -iname permite que el comando de búsqueda haga esto.

7. Busque carpetas dentro del directorio actual

$ buscar -tipo d

Este comando enumerará todos los directorios que tiene en su directorio de trabajo actual. Puede agregar la opción de nombre para enumerar directorios específicos.

8. Busque una carpeta específica en un directorio

$ find / home -type d -name usuarios

Este comando buscará una carpeta llamada usuarios dentro del directorio / home . Puede agregar la opción -iname en lugar de -name para buscar sin respetar las mayúsculas y minúsculas.

9. Busque archivos PHP usando el nombre

$ find -type f -name test.php

Este comando listará el archivo PHP llamado test.php presente dentro del directorio de trabajo actual.

10. Busque todos los archivos PHP

$ find -type f -name “* .php”

Este comando de búsqueda en Linux imprimirá todos los archivos PHP que tenga dentro de su directorio de trabajo actual. Puede agregar la opción de ruta antes del tipo para enumerar los archivos PHP presentes solo en un directorio específico.

11. Buscar todos los enlaces simbólicos

$ buscar / usr -tipo l

El comando anterior buscará todos los enlaces simbólicos que tenga dentro de su directorio actual y los imprimirá en consecuencia.

12. Busque archivos con diferentes extensiones

$ encontrar. -tipo f \ (-nombre “* caché” -o -nombre “* xml” -o -nombre “* html” \)

El comando de búsqueda anterior busca archivos llamados caché con diferentes extensiones. Puede buscar extensiones adicionales agregando la opción de nombre seguida de la marca -o .

Buscar archivos según el permiso

El comando de búsqueda permite a los usuarios de Linux buscar archivos en función de su estado de permiso. Esto será útil cuando su sistema tenga varios usuarios y necesite asegurarse de que nadie tenga acceso no autorizado a sus datos.

13. Busque archivos que tengan un conjunto de permisos 777

$ buscar -tipo f -perm 0777 -imprimir

Este comando enumerará todos los archivos en el directorio de trabajo actual que tienen su permiso establecido en 777. Estos son los archivos que cualquier usuario puede leer, escribir y ejecutar.

14. Buscar archivos sin permisos 777

$ buscar / -tipo f! -perma 777

Este comando de búsqueda en Linux solo buscará aquellos archivos que tengan permisos establecidos distintos a 777. Puede reemplazar / con cualquier otra ubicación para limitar los resultados de la búsqueda.

15. Encuentre archivos SGID con permisos 644

$ buscar / -perm 2644

Este comando de búsqueda solo buscará archivos SGID que tengan su estado de permiso establecido en 644. Los archivos SGID permiten el acceso temporal a archivos que no son de su propiedad o a los que no tiene acceso.

16. Encuentre todos los archivos Sticky Bit con permisos 551

$ buscar / -perm 1551

Los archivos Sticky Bit son un conjunto de archivos o carpetas que solo el usuario que los creó o el usuario root puede cambiar de nombre o eliminar. Este comando mostrará todos los archivos Sticky Bit en su sistema con permisos 551.

17. Buscar todos los archivos SUID

$ buscar / -perm / u= s

Los archivos SUID permiten la propiedad temporal de un grupo de archivos a usuarios que no sean el propietario del grupo de archivos o el usuario raíz. Este comando de búsqueda enumerará todos los archivos SUID que tiene en su máquina Linux actual.

18. Buscar todos los archivos SGID

$ buscar / -perm / g= s

Los archivos SGID son similares a los archivos SUID en muchos aspectos, excepto que cuando se ejecutan archivos con permisos SGID, la ejecución tiene lugar como si el propietario original estuviera ejecutando el proceso. Este comando de búsqueda enumera todos los archivos SGID independientemente de su estado de permiso.

19. Buscar archivos de solo lectura

$ buscar / -perm / u= r

Los archivos de solo lectura prohíben a los usuarios de Linux escribir en ellos o ejecutarlos. Solo pueden ser escritos o ejecutados por el propietario de los archivos o el usuario root. Este comando de búsqueda mostrará todos los archivos de solo lectura que su máquina tiene actualmente.

20. Buscar todos los archivos ejecutables

$ buscar / -perm / a= x

Los archivos ejecutables son simplemente archivos que se pueden ejecutar, como archivos binarios. El “comando de búsqueda” de Linux anterior buscará en el sistema todos los archivos y los enumerará en consecuencia.

21. Buscar todos los archivos con permisos 777 y chmod a 644

$ buscar / -tipo f -perm 0777 -imprimir -exec chmod 644 {} \;

El comando de búsqueda anterior busca todos los archivos que tienen el permiso 777 asociado con ellos y cambiará su estado de permiso a 644 usando el comando chmod. Ahora solo usted puede leer o escribir en los archivos con el permiso 644.

22. Encuentra todos los directorios con permisos 777 y chmod a 755

$ buscar / -tipo d -perm 777 -imprimir -exec chmod 755 {} \;

Este comando de búsqueda de Linux buscará todos los directorios que tengan el permiso 777 y cambiará su estado de permiso a 755. Lo que hace, en esencia, es permitir permisos completos solo para el propietario y permisos de lectura y ejecución para otros usuarios.

Buscar archivos específicos usando Buscar

Find se puede utilizar para buscar archivos específicos con bastante eficacia. Puede usar buscar para seleccionar archivos en función de algunos criterios y realizar operaciones de shell como la eliminación de archivos en ellos.

comando de búsqueda en Linux para buscar archivos específicos

23. Busque un archivo y elimínelo

$ find -type f -name “test.txt” -exec rm -f {} \;

Este comando de “buscar” de Linux se utiliza cuando necesita eliminar un archivo de una lista de muchos archivos. En este caso, primero encuentra el archivo llamado test.txt en el directorio actual y lo elimina usando rm- f.

24. Busque varios archivos y elimínelos a la vez

$ find -type f -name “* .mp3” -exec rm -f {} \;

El comando Buscar es útil para buscar matrices grandes de tipos de archivos específicos y eliminarlos a la vez. El comando anterior busca archivos .mp3 en su sistema y los elimina sin ningún aviso. Puede agregar el indicador interactivo -i con la parte rm para obtener un mensaje cada vez que se produce una eliminación.

25. Encuentre todos los archivos vacíos en el sistema

$ find / tmp -type f -empty

Los archivos vacíos pueden acaparar los recursos de su sistema en muy poco tiempo. Use el comando anterior para listar todos los archivos vacíos usando el comando de búsqueda. Puede eliminar estos archivos agregando -exec rm -f {} \; al igual que el comando anterior.

26. Buscar todas las carpetas vacías en el sistema

$ find / tmp -type d -empty

Este comando enumerará todas las carpetas vacías que residen dentro del directorio / tmp . Puede usar esto para encontrar carpetas vacías en cualquier otro directorio y también puede eliminarlas si lo desea, como lo hizo anteriormente.

27. Encuentre todas las carpetas ocultas en el sistema

$ find / home -type f -name “. *”

Las carpetas ocultas suelen tener como prefijo un solo punto (.) En los sistemas Linux. Utilice el comando anterior para enumerar todas las carpetas ocultas que tiene dentro de su directorio / home.

Buscar archivos según el usuario

El comando Buscar también es útil para buscar archivos basados ​​en grupos de usuarios. Puede buscar archivos específicos para ciertos grupos de usuarios y modificar los permisos de archivos muy rápidamente usando los comandos de búsqueda de Linux.

28. Busque un archivo que pertenezca al usuario

$ buscar / -usuario raíz -nombre test.txt

Puede usar el comando de búsqueda en Linux para buscar un solo archivo propiedad de un usuario específico. El comando anterior busca un archivo llamado test.txt en el directorio / que pertenece a la raíz del usuario.

29. Buscar todos los archivos que pertenecen al usuario

$ find / home -user nombre de usuario

El anterior busca todos los archivos en el directorio / home que pertenecen al usuario “nombre de usuario”. Deberá reemplazar “nombre de usuario” con su nombre de usuario de Linux para encontrar todos los archivos que le pertenecen.

30. Buscar todos los archivos que pertenecen a un grupo

$ find / programador de grupo en el hogar

Los archivos de Linux generalmente pertenecen a algunos grupos. El comando de Linux anterior le permite buscar todos los archivos que pertenecen a un grupo en particular llamado “programador” y los imprime en la terminal. Reemplace “programador” con el nombre del grupo que desea buscar.

31. Buscar archivos específicos para un usuario

$ find / home -user bob -iname “* .txt”

Puede utilizar el comando de búsqueda para buscar archivos específicos que pertenecen a un usuario. El comando anterior hace esto y enumera todos los archivos .txt que pertenecen al usuario bob. Reemplace bob con su nombre de usuario y .txt con cualquier otro tipo de archivo para encontrar archivos de cierto tipo que le pertenezcan.

Buscar archivos según el tiempo

Find también permite a los administradores de sistemas monitorear su sistema de manera efectiva. Permite buscar archivos según el tiempo de modificación, el tiempo de acceso, etc.

32. Buscar todos los archivos que se han modificado en los últimos 50 días

$ buscar / -mtime 50

El comando de búsqueda permite a los usuarios buscar archivos que se hayan modificado en un tiempo determinado. El comando anterior imprimirá todos los archivos en su sistema, que han sido modificados hace 50 días.

33. Buscar todos los archivos a los que se ha accedido en los últimos 50 días

$ buscar / -atime 50

La opción -atime muestra los archivos a los que se ha accedido dentro de un período de tiempo definido. El comando anterior enumera todos los archivos de su sistema a los que se ha accedido hace 50 días.

34. Buscar todos los archivos modificados en los últimos 50-100 días

$ find / -mtime +50 –mtime -100

El comando de búsqueda en Linux permite a los usuarios buscar todos los archivos modificados en un rango de tiempo determinado. El operador + y – se usa junto con -mtime para hacer esto. El comando anterior busca todos los archivos modificados por usted en los últimos 50 a 100 días.

35. Buscar todos los archivos modificados en la última hora

$ buscar / -cmin -60

Este comando buscará y enumerará todos los archivos que se han modificado en la última hora. Puede reemplazar / con un directorio específico para limitar sus búsquedas. Cambie 60 a cualquier otro número como 120 para buscar archivos que se hayan modificado en ese tiempo (2 horas para 120).

36. Buscar todos los archivos modificados en la última hora

$ buscar / -mmin -60

El comando anterior mostrará todos los archivos que se han modificado en la última hora. Cambie 60 a cualquier otro número para cambiar el período de tiempo requerido por su propósito.

37. Buscar todos los archivos a los que se tuvo acceso en la última hora

$ buscar / -amin -60

Este comando muestra todos los archivos a los que accedió en la última hora. Al igual que con los dos comandos anteriores, siéntase libre de cambiar 60 para obtener el resultado deseado.

Buscar archivos según el tamaño

A veces, necesitará buscar archivos en función de sus tamaños. Find también es útil a este respecto. Puede agregar diferentes opciones para buscar archivos según el tamaño con mayor precisión.

38. Busque archivos de 50 MB de tamaño

$ buscar / -tamaño 50M

Este “comando de búsqueda” en Linux imprime todos los archivos que tiene más de 50 MB de tamaño. Reemplace / con su directorio deseado y 50M con cualquier otro tamaño para reducir sus resultados de búsqueda de manera más efectiva.

39. Buscar todos los archivos de más de 100 MB

$ buscar / -tamaño + 100 M

El comando anterior enumerará todos los archivos que tiene por encima de la marca de 100 MB dentro de su directorio / . Puede cambiar 100M con otros tamaños de archivo para obtener el resultado deseado.

40. Busque archivos entre 50 MB y 100 MB

$ buscar / -tamaño + 50M -tamaño -100M

A veces, necesitará encontrar archivos dentro de un rango de tamaño específico. El comando anterior mostrará todos los archivos que tenga entre 50 MB y 100 MB. Cambie los parámetros opcionales para que coincida con cualquier criterio de búsqueda específico.

41. Eliminar todos los archivos de más de 500 MB

$ buscar / Películas -tamaño + 500M -exec rm -rf {} \;

El comando de búsqueda es útil para buscar archivos por encima de un límite específico y eliminarlos instantáneamente del terminal. Suponga que tiene algunas películas antiguas en una carpeta y desea eliminarlas de una vez. El comando anterior le permitirá hacer precisamente esto. Asegúrese de reemplazar / Movies con el nombre de la carpeta donde residen sus archivos.

42. Buscar archivos más grandes

$ encontrar. -tipo f -exec ls -s {} \; | sort -n -r | cabeza -5

El comando de búsqueda anterior imprimirá los 5 archivos más grandes que tiene en su directorio de trabajo actual y en sus subdirectorios.

43. Encuentra los archivos más pequeños

$ encontrar. -tipo f -exec ls -s {} \; | sort -n | cabeza -5

También puede usar el comando de búsqueda en Linux para mostrar los archivos más pequeños. Este comando imprime los 5 archivos más pequeños que tiene en su directorio actual.

Comandos de búsqueda varios

El comando de búsqueda en Linux ofrece muchas capacidades adicionales como buscar archivos basados ​​en el texto que contienen, buscar y eliminar archivos, encontrar archivos basados ​​en patrones, etc. Los siguientes comandos demuestran brevemente algunas de estas habilidades.

44. Buscar y eliminar archivos específicos

$ buscar / -tipo f -nombre * .mp3 -tamaño + 10M -exec rm {} \;

Este “comando de búsqueda” de Linux permite a los usuarios encontrar todos los archivos .mp3 en su sistema que ocupan más de 10 MB de espacio y eliminarlos. Puede reemplazar .mp3 con cualquier otro tipo de archivo y el parámetro de tamaño para tipos específicos de archivos.

45. Busque archivos que no coincidan con un patrón

$ find / home -type f -not -name “* .html”

El comando de búsqueda anterior en Linux buscará todos los archivos en el directorio / home que no terminen en .html. La opción -not permite que “buscar” haga esto.

46. Buscar archivos por texto dentro del archivo

$ encontrar. -tipo f -nombre “* .java” -exec grep -l StringBuffer {} \;

Puede usar grep para buscar archivos según el texto que contienen. El “comando de búsqueda” de Linux anterior busca archivos .java que contengan StringBuffer en su interior. Agregar el indicador -i a grep hará que esta búsqueda ignore las mayúsculas y minúsculas.

47. Buscar y copiar archivos

$ encontrar. -tipo f -nombre “* .mp3” -exec cp {} / home / MusicFiles \;

Buscar se puede utilizar para buscar ciertos archivos y copiarlos en una nueva ubicación. El comando anterior busca todos los archivos .mp3 en el directorio actual y los copia en la carpeta / home / MusicFiles .

48. Buscar y mover archivos

$ encontrar. -type f -name “* .jpg” -exec cp {} / home / Pictures \;

Find también se puede utilizar para mover archivos de forma eficaz. El comando anterior busca todos los archivos .jpg que tiene en su directorio actual y los mueve al directorio / inicio / Imágenes .

49. Buscar y archivos Tar

$ encontrar. -tipo f -nombre “* .java” | xargs tar cvf myfile.tar

Puede usar find para buscar algunos archivos específicos y archivarlos en tarballs. El comando anterior encuentra todos los archivos .java en el directorio actual y los comprime en un archivo tar llamado myfile.tar .

50. Filtrado de mensajes de error

$ buscar [rutas] [expresión] [acciones] 2> / dev / null

A veces, puede enfrentar errores como ‘Permiso denegado’ u otra cosa al probar algunos comandos de búsqueda. Puede redirigir estos errores a / dev / null , como se muestra arriba.

Pensamientos finales

El comando find en Linux es una de las más que puede usar para o procesar archivos con frecuencia. Las implementaciones inteligentes de varios “comandos de búsqueda” lo convertirán en un usuario avanzado de Linux en poco tiempo. Nuestros editores han hecho todo lo posible para describir los comandos de búsqueda más útiles para su uso diario. Utilice estos comandos en su informática diaria para obtener el máximo beneficio de su sistema Linux.

Leave a Comment

Your email address will not be published.