GNU/Linux >> Tutoriales Linux >  >> Linux

50 ejemplos simples y útiles del comando Buscar en Linux

Una de las razones principales detrás de la popularidad mundial que disfrutan los sistemas Linux y BSD en la 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 de búsqueda 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 poderosas funcionalidades de búsqueda y puede ser una herramienta convincente en manos de usuarios experimentados. Si desea dominar el comando de búsqueda en detalle y acelerar sus habilidades con Linux, ha venido al lugar correcto.

Ejemplos cotidianos del comando Buscar en Linux

Creemos que la mejor manera de aprender los comandos de Linux es probarlos usted mismo. Los comandos que se muestran a continuación deberían funcionar bien en todas las distribuciones de Linux a 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.

encontrar [rutas] [expresión] [acciones]

Aquí, las rutas indican 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 recorrerá todos los directorios y luego imprimirá los resultados correspondientes.

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.

1. Lista de todos los archivos presentes dentro del 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. Lista de 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 enumerar todos los archivos de una ruta específica en su sistema Linux.

3. Buscar un archivo específico

$ buscar -nombre prueba.txt

Este comando busca un archivo llamado test.txt dentro de su directorio actual y en cualquier otro subdirectorio. Utilice este comando cuando busque archivos específicos.

4. Buscar un archivo específico en un directorio

$ buscar /Docs -nombre prueba.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. Buscar un archivo en varios directorios

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

Puede usar el comando de búsqueda de Linux al buscar un archivo en varios directorios al mismo tiempo. Simplemente coloque los nombres de los directorios uno tras otro seguidos de un espacio al buscar.

6. Buscar un expediente ignorando caso

$ find -iname prueba.txt

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

7. Buscar carpetas dentro del directorio actual

$ buscar -escribir d

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

8. Buscar una carpeta específica en un directorio

$ buscar /casa -escribir d -nombre de los usuarios

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

9. Buscar archivos PHP usando el nombre

$ buscar -tipo f -nombre prueba.php

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

10. Buscar todos los archivos PHP

$ buscar -tipo f -nombre “*.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. Buscar 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 del indicador -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. Buscar archivos que tengan el conjunto de permisos 777

$ encontrar -tipo f -perm 0777 -imprimir

Este comando mostrará una lista de 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 / -escribir f ! -permanente 777

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

15. Encuentre archivos SGID con permisos 644

$ encontrar / -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. Buscar todos los archivos Sticky Bit con 551 permisos

$ encontrar / -perm 1551

Los archivos Sticky Bit son un conjunto de archivos o carpetas que solo pueden ser renombrados o eliminados por el usuario que los creó o por el usuario raíz. 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

$ encontrar / -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 se lleva a cabo 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 tiene actualmente su máquina.

20. Buscar todos los archivos ejecutables

$ encontrar / -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 cada uno de esos archivos y los enumerará en consecuencia.

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

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

El comando de búsqueda anterior busca todos los archivos que tienen el permiso 777 asociado 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. Buscar todos los directorios con permisos 777 y chmod a 755

$ buscar / -tipo d -perm 777 -print -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 esto 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 mediante Buscar

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

23. Buscar un archivo y eliminarlo

$ buscar -tipo f -nombre “prueba.txt” -exec rm -f {} \;

Este comando de "buscar" de Linux se usa 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. Encuentre varios archivos y elimínelos a la vez

$ buscar -tipo f -nombre “*.mp3” -exec rm -f {} \;

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

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

$ buscar /tmp -tipo f -vacío

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 {} \; como el comando anterior.

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

$ buscar /tmp -tipo d -vacío

Este comando enumerará todas las carpetas vacías que residen dentro de /tmp directorio. 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. Encuentra todas las carpetas ocultas en el sistema

$ buscar /casa -tipo f -nombre “.*”

Las carpetas ocultas suelen tener el prefijo de un solo punto (.) en los sistemas Linux. Use 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. Encuentre un archivo que pertenezca al usuario

$ buscar / -usuario raíz -nombre prueba.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 -usuario usuario

El comando anterior de Linux 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 /home -grupo programador

Los archivos de Linux generalmente pertenecen a algunos grupos. El comando anterior de Linux 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

$ buscar /home -usuario bob -iname “*.txt”

Puede utilizar el comando de búsqueda para buscar archivos específicos que pertenezcan 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

$ encontrar / -mtime 50

El comando de búsqueda permite a los usuarios buscar archivos que se han 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

$ encontrar / -atime 50

La opción -atime muestra los archivos a los que se accedió 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

$ buscar / -mtime +50 –mtime -100

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

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

$ encontrar / -cmin -60

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

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

$ encontrar / -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 accedió en la última hora

$ encontrar / -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. Buscar archivos de tamaño 50 MB

$ encontrar / -tamaño 50M

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

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

$ encontrar / -tamaño +100M

El comando anterior mostrará una lista de 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. Buscar archivos entre 50 MB y 100 MB

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

A veces necesitará encontrar archivos dentro de un rango específico de tamaño. El comando anterior mostrará todos los archivos que tiene entre 50 MB y 100 MB. Cambie los parámetros opcionales para hacer coincidir 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 de la terminal. Suponga que tiene algunas películas antiguas en una carpeta y desea eliminarlas de una sola vez. El comando anterior le permitirá hacer precisamente esto. Asegúrate de reemplazar /Películas con el nombre de la carpeta donde residen sus archivos.

42. Buscar archivos más grandes

$ encontrar . -tipo f -exec ls -s {} \; | ordenar -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. Buscar archivos más pequeños

$ encontrar . -tipo f -exec ls -s {} \; | ordenar -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 encontrar archivos según el texto que contienen, buscar y eliminar archivos, encontrar archivos según patrones, etc. Los siguientes comandos demuestran algunas de estas habilidades en resumen.

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 de archivos específicos.

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

$ buscar /casa -tipo f -no -nombre “*.html”

El comando de búsqueda anterior en Linux buscará todos los archivos en /home directorio que no termina 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" anterior de Linux busca .java archivos que contienen StringBuffer dentro de ellos. Agregar el indicador -i a grep hará que esta búsqueda ignore mayúsculas y minúsculas.

47. Buscar y copiar archivos

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

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

48. Buscar y mover archivos

$ encontrar . -escriba f -nombre “*.jpg” -exec cp {} /home/Imágenes \;

Find también se puede usar para mover archivos de manera efectiva. El comando anterior busca cada archivo .jpg que tenga en su directorio actual y los mueve al directorio /home/Pictures .

49. Buscar y tar archivos

$ encontrar . -tipo f -nombre “*.java” | xargs tar cvf miarchivo.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

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

A veces puede encontrar errores como 'Permiso denegado' o algo más mientras prueba algunos comandos de búsqueda. Puede redirigir estos errores a /dev/null , como se muestra arriba.

Pensamientos finales

El comando de búsqueda en Linux es una de las herramientas de línea de comandos más útiles que puede usar para monitorear de manera efectiva su sistema o el procesamiento frecuente de archivos. Las implementaciones inteligentes de varios "comandos de búsqueda" lo convertirán en un usuario avanzado de Linux en muy poco tiempo. Nuestros editores han hecho todo lo posible para delinear 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.


Linux
  1. 12 ejemplos útiles de comandos Wget en Linux

  2. 25 ejemplos prácticos útiles del comando find en Linux

  3. Comando Cat de Linux:uso y ejemplos

  4. 25 ejemplos simples del comando de búsqueda de Linux

  5. encontrar ejemplos de comandos en Linux

11 ejemplos útiles de comandos de fecha de Linux

Opciones de comando y ejemplos de Tee Command en Linux

50 comandos de corte de Linux simples y útiles en Unix con ejemplos

16 Ejemplos Prácticos y Útiles del Comando Echo en Linux

15 ejemplos súper útiles del comando Buscar en Linux

12 ejemplos útiles de comandos de fecha de Linux