40 mejores ejemplos del comando Find en Linux

toadmin. ru.

El comando Find en Linux es una herramienta poderosa que permite a los administradores del sistema encontrar y administrar archivos y directorios basados en una amplia gama de criterios de búsqueda. Puede encontrar directorios y archivos basados en su nombre, tipo o extensión, tamaño, permisos, etc.

Además de encontrar archivos y directorios, combinar Find con otros comandos le permite actuar sobre los resultados. Agregar el parámetr o-exec permite a los administradores del sistema ejecutar comandos externos y realizar acciones como copiar, mover, eliminar o cambiar los permisos para los archivos que cumplen con los criterios especificados como tamaño, nombre, etc.

En este artículo, comenzaremos explicando los comandos básicos de búsqueda de Linux con ejemplos. Esto le mostrará cómo encontrar archivos y directorios. Luego le mostraremos cómo usar el parámetr o-exec para funcionar con archivos o directorios en función de su tamaño, permisos, etc.

La sintaxis general del comando encontrar:

encontrar

  • la ruta especifica el directorio.
  • Nombre de archivo o dir-to-Search: el nombre del archivo o directorio para buscar.
  • La acción a realizar: p. Copiar, eliminar, mover, etc.

En este tutorial, explicaremos cómo encontrar archivos y directorios que coincidan con los patrones especificados. También veremos cómo realizar acciones en archivos o directorios que encuentre el comando Buscar. La guía se basa en Ubuntu, pero se aplica a la mayoría de las distribuciones y versiones de Linux.

Contents
  1. Encontrar archivos y directorios
  2. Busque archivos específicos por nombre o extensión
  3. Buscando archivos específicos en otro directorio
  4. Buscar archivos por extensión
  5. Buscar archivos y directorios por nombre
  6. Encontrar solo archivos o directorios
  7. El comando de búsqueda no es insensible
  8. Buscar un archivo de múltiples directorios
  9. Encuentre múltiples archivos con diferentes extensiones de todos los directorios
  10. Encuentre archivos que contienen texto específico
  11. Buscar archivos y directorios por tamaño
  12. Para encontrar archivos de un tamaño específico, es igual a 30 mb
  13. Encontrar archivos más grandes que el tamaño especificado
  14. Encuentre archivos de menos de 10 MB en el directorio actual
  15. Encuentre archivos entre 100 MB y 200 MB de tamaño.
  16. Buscar directorios mayores de 20 kb
  17. Encuentra archivos y directorios vacíos.
  18. Encontrar archivos por edad o tiempo de modificación
  19. Por fecha de modificación
  20. Encuentre archivos basados en el acceso o la modificación
  21. Encuentre archivos modificados en los últimos días N
  22. Encuentre archivos modificados durante un período específico.
  23. Archivos y directorios accedidos en los últimos 10 minutos
  24. Encontrar archivos que coincidan con permisos específicos
  25. Encontrar archivos con 777 permisos
  26. Encuentra archivos que son escritos por el propietario
  27. Encontrar archivos que pertenecen a un usuario
  28. Encontrar archivos específicos que pertenecen a un usuario
  29. Busque y enumere los archivos y directorios junto con sus permisos
  30. Encontrar y actuar sobre los resultados
  31. Encuentre archivos y cambie los permisos
  32. Encontrar y cambiar los permisos a archivos y directorios
  33. Buscar y copiar archivos o directorios
  34. Encontrar y copiar un archivo a muchos directorios
  35. Encontrar y mover archivos a otro directorio
  36. Encuentre archivos específicos y muévalos a otra carpeta
  37. Encontrar y mover archivos por edad
  38. Buscar y eliminar archivos y directorios
  39. Buscar y eliminar solo archivos específicos
  40. Para eliminar tanto archivos como directorios
  41. Eliminar por extensión
  42. Encontrar y eliminar archivos mayores que n días
  43. Encontrar y eliminar solo directorios
  44. Buscar y eliminar archivos vacíos
  45. Encontrar y eliminar directorios vacíos
  46. Que sigue.

Encontrar archivos y directorios

Busque archivos específicos por nombre o extensión

Para encontrar un archivo específico, ejecute el siguiente comando desde la raíz (/). El comando contiene el nombre exacto del archivo que está buscando.

encontrar .-name archivo22. txt
./test/file22. txt ./sales/file22. txt

Tenga en cuenta que los resultados incluyen la ruta. Esto es importante si no conoce el directorio donde se encuentra el archivo, o si el archivo está en más de una ubicación.

También puede buscar un archivo en un directorio diferente mientras permanece en la ubicación actual. En este caso, debe especificar la ruta al directorio que desea buscar.

buscar ./tes t-name file22. txt

Buscando archivos específicos en otro directorio

En nuestro caso, buscaremos todo lo que comience con el archivo de letras en el directorio de prueba.

buscar ./tes t-name archivo*
./test/file22. txt ./test/file30. doc ./test/file1. txt ./test/file5, doc

Buscar archivos por extensión

Para encontrar un archivo en Linux con una extensión específica, agréguelo al comando.

encontrar .-name *. txt
./test/subtest/subfil. txt ./test/file22. txt ./test/file1. txt ./home1/files32. txt ./home2/file22. txt ./qa/tags. txt

Buscar archivos y directorios por nombre

Use el comando a continuación para buscar archivos y directorios que comiencen con las letras QA. Nuestra computadora tiene los archivos Qatree. txt y Qa. txt, y un directorio llamado QA.

Cómo deshabilitar el firewall UFW en Linux

Si ejecutamos el comando;

encontrar ./ -name "Qa*"

Devuelve la siguiente salida

./test/qatree. pdf ./test/qa. txt ./home/qa

El comando devuelve ambos archivos y directorios que coinciden con los criterios de búsqueda. Para encontrar solo archivos o directorios, debe especificar esto en el comando.

Encontrar solo archivos o directorios

Solo para archivos, use el conmutador Tipo F.

encontrar ./ -Type f-name "Qa*"
./test/qatree. pdf ./test/qa. txt

Agregue la opción Tipo D para encontrar solo directorios.

encontrar ./ -Type d-name "Qa*"
./HOME/QA

El comando de búsqueda no es insensible

Todas las búsquedas con el interrupto r-name son sensibles a mayúsculas y no producirán resultados capitalizados. Para obtener todos los casos, use el parámetr o-iname.

Encuentra ./ -iname "Qa*"
./test/qatree. pdf ./test/qa. txt ./test/qatest. txt ./home/qa

Buscar un archivo de múltiples directorios

Para encontrar archivos en diferentes directorios, agregue sus rutas al comando. En nuestro caso, verificaremos la prueba y los directorios numéricos.

buscar ./test ./numeri c-name file22. tx t-type F
./test/file22. txt /root/numeric/file22. txt

Encuentre múltiples archivos con diferentes extensiones de todos los directorios

Puede usar el comando Buscar para encontrar múltiples archivos con diferentes extensiones, como *. doc, *. txt, *. pdf, y así sucesivamente. Esto se puede hacer individualmente, una extensión a la vez, o con un solo comando que incluye todas las extensiones que necesita.

encontrar .-type f (-name «*. txt» – o-name «*. pdf» – o-name «*. doc»)

./test/subtest/subfil. txt ./test/qatree. pdf ./test/file22. txt ./test/qa. txt ./test/file30. doc ./books/acro. pdf ./data1/file22. txt ./docs/files32. txt

Encuentre archivos que contienen texto específico

A veces desea acceder a un archivo que contiene texto específico, pero no puede recordar su nombre o ubicación. Este comando le permite encontrar todos los archivos que contienen el texto de destino.

Para encontrar todos los archivos que contienen la palabra «hiperconvergencia», use;

Find / -Type F-exec Gre p-L -I "Hyerconvergence"<> ;
/root/numérico/hci/root/hcip

La opció n-i permite que el comando ignore los casos y encuentre texto si está capitalizado o no, es decir, hiperconvergencia, hiperconvergencia, etc.

Para buscar archivos en un directorio específico, simplemente agrégalos al comando

encontrar ./numéric o-type f-exec gre p-l -i "hiperconvergencia"<> ;
./numeric/hci

Echa un vistazo a otros ejemplos de comandos GREP.

Buscar archivos y directorios por tamaño

Puede encontrar todos los archivos o directorios que sean menores que, iguales o mayores que cierto tamaño, dentro de un rango cierto o vacío. Use el formato de tamaño apropiado según el tipo de archivos o directorios que está buscando.

Las opciones de tamaño incluyen;

Para encontrar archivos de un tamaño específico, es igual a 30 mb

Para buscar, encuentre todos los archivos de tamaño de 30 MB.

encontrar / -tamaño 30m

Encontrar archivos más grandes que el tamaño especificado

encontra r-size +2m
.//Downloads/ubuntu18043. iso ./. cache/pip/http/6/e/3/8/3/3/6e38383f41850c3e5705d48116bc52f81b92a80500f41430507 7a9c

Encuentre archivos de menos de 10 MB en el directorio actual

encontrar .-type f-siz e-10m

Encuentre archivos entre 100 MB y 200 MB de tamaño.

Al buscar archivos dentro de un cierto rango, como de 100 a 200MB

encontrar / -size +100 m-siz e-200m

Buscar directorios mayores de 20 kb

encontrar / – -type d-size +20k

Encuentra archivos y directorios vacíos.

encontrar ./ -Type F-Size 0

encontrar ./ -Type F-Epty
encontrar ./ -type d-empty

Encontrar archivos por edad o tiempo de modificación

Encuentre archivos mayores que n días

find / rath / -type f-name '*. txt' -mtime +8

-Mtime +8 buscará archivos de texto mayores de 8 días.

Por fecha de modificación

Esto buscará archivos modificados en las últimas 17 horas.

encontrar .-mtim e-1 7-type F

Esto buscará directorios modificados en los últimos 10 días.

encontrar .-mtim e-1 0-type d

Encuentre archivos basados en el acceso o la modificación

Busque archivos basados en la fecha o hora de acceso. Esto le permite ver archivos a los que se accedió o no se accedió durante un período específico.

Para ver archivos a los que no se ha accedido en los últimos 10 días en el directorio de inicio.

encontrar /hom e-atime +10

Archivos a los que se accede exactamente hace 10 días

encontrar /hom e-atime 10

Accedido en los últimos 10 días

encontrar /hom e-atim e-10

Encuentre archivos modificados en los últimos días N

También puede encontrar archivos en el directorio /Home que han cambiado en los últimos 10 días usando el comando;

encontrar /hom e-mtim e-10

Encuentre archivos modificados durante un período específico.

Por ejemplo, todos los archivos se modificaron entre 6 y 15 días en el directorio de inicio.

find /hom e-type f-mtime + 6-mtim e-15

Archivos y directorios accedidos en los últimos 10 minutos

Para encontrar archivos a los que se accede en los últimos 10 minutos, use el parámetr o-amin.

encontrar .-ami n-1 0-tipo F
./. bash_history ./§Email protegido]:~#

Directorios a los que se accede en los últimos 10 minutos

encontrar .-ami n-1 0-tipo D

Encontrar archivos que coincidan con permisos específicos

$ Fin d-Mode

Donde el modo es la resolución, que puede ser numérica, como 644, 655, 700, 777, etc., o letras, como u = x, a = r+x, etc.

9 mejores entornos de escritorio de Linux para usar en 2022

Puede establecer el modo de las siguientes tres formas diferentes.

Encontrar archivos con 777 permisos

encontra r-perm 777
./file1

Encuentre archivos con un tamaño de al menos 766 Fin d-Per m-766

./file2 ./file1

El comando busca todos los archivos en los que

  • El propietario del archivo tiene permisos de lectura/escritura/ejecución.
  • El grupo tiene permisos de lectura/escritura
  • Otros tienen permisos de lectura/escritura

Por lo tanto, devuelve dos archivos que cumplen con este criterio: File1 y File2. Los archivos no tienen que tener los 766 permisos exactos y pueden tener permisos adicionales de la misma longitud, pero deben tener al menos los especificados.

Encuentra archivos que son escritos por el propietario

Ahora usaremos «/» para encontrar archivos que sean escritos para su propietario, un grupo u otros.

encontra r-perm /222../file2 ./file3 ./file1

Lo anterior busca archivos que son escritos por su propietario o grupo. Esto devuelve archivos que son escritos por uno de ellos, pero no necesariamente por ambos. Para ver archivos para los cuales ambos tienen permisos de escritura, use el prefijo -.

encontra r-per m-220
./file2 ./file1

Encontrar archivos que pertenecen a un usuario

Encuentra todos los archivos que pertenecen a Jack

encontrar /hom e-user jack
/home/jack /home/jack/examples. desktop /home/jack/. gnupg /home/jack/. gnupg/private-keys-v1. d /home/jack/ans. cgi

Encontrar archivos específicos que pertenecen a un usuario

Encuentre todos los archivos de texto que pertenecen a Jack.

encontrar /hom e-user jac k-iname "*. txt"
/home/jack/docs/file32. txt

Busque y enumere los archivos y directorios junto con sus permisos

encontra r-name "*. conf" |L S-L
Total 120 DRWXR-XR-X 2 Raíz Root 4096 Dic 31 13:19 Backup2 DRWXR-XR-X 2 Root Root 4096 Jan 4 11:57 Desktop DRWXR-XR-X 2 Root Root 4096 Dic 31:50 Documentos DRWXR-XR-XR-XR-x 2 raíz raíz 4096 31 de diciembre 12:27 descarga s-rw-r-r-- 1 raíz 0 enero 4 12:02 file22. doc drwxr-xr-x 2 raíz root 4096 4 de enero 12:14 file2 3-rw-r-r-- 1 raíz 0 4 de enero 12:23 file23. txt

Encontrar y actuar sobre los resultados

En esta sección, veremos cómo puede actuar en archivos que coincidan con el patrón especificado en el comando Find.

Encuentre archivos y cambie los permisos

Encuentre y cambie los permisos para tipos de archivos específicos. En nuestro caso, trabajaremos con archivos PHP con diferentes permisos como se muestra a continuación.

[correo electrónico protegido]:~/ver $ l s-la total 8 DRWXRWX R-X 2 Jack Jack 4096 3 de enero 14:11. DRWXRXR-XR-X 8 Jack Jack Jack 4096 3 de enero 14:05.-rwxr-xr-x 1 Jack Jack 0 3 de enero 14:06 ANS. PH P-RW-RW-RW-R-- 1 Jack Jack 0 Jan 3 14:11 Base. ph p-RWXR-XR-X 1 Jack Jack 03 de enero 14:06 Query. ph p-rw-rw-rw-rw-- 1 Jack Jack 0 3 de enero 14:11 qust. ph p-rwxr-xr-x 1 Jack Jack 0 Jan 3 14:06 Text. ph p-rw-rw-rw-rw-- 1 Jack Jack Jack 0 3 de enero 14:11 Vary. php

Ahora buscaremos todos los archivos PHP (arriba) y cambiaremos sus permisos a 755.

Encuentre ve r-name "*. php" -type f-exec chmod 755<> ;

El comando busca archivos PHP en el directorio Ver y luego establece sus permisos en 755 (RWXR-XR-X).

[correo electrónico protegido]:~/ver $ l s-la total 8 DRWXRWX R-X 2 Jack Jack 4096 3 de enero 14:11. DRWXR-XR-X 8 Jack Jack 4096 3 de enero 14:05.-rwxr-xr-x 1 Jack Jack 0 3 de enero 14:06 ANS. PH P-RWXR-XR-X 1 Jack Jack 0 Jan 3 14:11 Base. ph p-Rwxr-Xr-X 1 Jack Jack 0 Jan 3 14:06 consulta. ph p-rwxr-xr-x 1 Jack Jack 0 3 de enero 14:11 qust. ph p-rwxr-xr-x 1 jack jack 0 enero 3 14:06 Text. ph p-rwxr-xr-xr-x 1 Jack 0 Jan3 14:11 Vary. php

Encontrar y cambiar los permisos a archivos y directorios

Encuentre archivos con permisos 644 y cámbialos a los permisos 655.

encontrar .-Type F-Perm 64 4-Exec Chmod 655<> ;

También puede encontrar directorios con permisos 644 y cambiarlos a 755.

encontrar .-Tipo d-Perm 644
./docs

La carpeta Docs tiene 644 permisos.

DRWXRWXR-X 2 Jack Jack 4096 3 de enero 12:45 PM Documentos

Para configurarlo en 755, corremos

encontrar .-Type D-Perm 64 4-Exec CHMOD 755.<> ;

Ahora podemos verificar aún más que 755 es exactamente lo que es

encontrar .-Tipo d-Perm 755

Cómo deshabilitar el firewall UFW en Linux

Desde arriba podemos ver que los directorios de raíz y documentos tienen 755 permisos.

El comando L S-LA proporciona los siguientes datos

DRWXR-XR-X 2 Jack Jack 4096 3 de enero 12:45 PM Documentos

Buscar y copiar archivos o directorios

Buscar y copiar un archivo específico en un directorio

El comando a continuación encontrará el archivo File22. txt y copiará en el directorio~/TMP/Imágenes.

Fin d-iname File22. tx t-exec CP<> ~/tmp/imágenes;

Buscar y copiar un tipo de archivo a un directorio

Para encontrar archivos, como imágenes con la extensión JPG, en el directorio actual y copiarlos a otra ubicación, como una carpeta de imagen, use;

encontra r-iname '*. jpg' -exec cp<> ~/tmp/imágenes;

Esto encontrará y copiará todos los archivos JPG en la carpeta~/TMP/Imágenes.

Encontrar y copiar un archivo a muchos directorios

Encuentre y copie uno a múltiples directorios.

encontrar~/TMP/DIR1/~/tmp/dir2/$ home/3/-maxdepth 0-exec cp~/Numérico/HCI<> ;

Esto encontrará el archivo HCI y lo copiará en los tres directorios/tmp/dir1/,/tmp/dir2/, y $ home/3/.

Encontrar y mover archivos a otro directorio

Para mover un archivo conocido de un directorio a otro directorio. Mueva el archivo universal. php;

encontrar~/ carpeta/ -type f-name universal. ph p-exec mv<> ~/ numérico/;

Para encontrar y mover archivos con una extensión específica a otra carpeta

encontrar~/ numérico/ -type f-name '*. php' -exec MV<> ~/ carpeta/;

Encuentre archivos específicos y muévalos a otra carpeta

encontra r-type f-name uni*.* -exec MV<> ~/ unifiles/;

El comando busca todos los archivos con nombres que comienzan con UNI y tienen cualquier extensión. Luego los mueve al directorio / unifiles /

Encontrar y mover archivos por edad

Encuentre y mueva archivos mayores que un número específico de días a otra ubicación, como un archivo.

find / rath / -type f-name '*. pdf' -mtime +2 0-exec mv<>/ Backup1/;

Esto buscará archivos PDF mayores de 20 días y los moverá al directorio de respaldo1.

Buscar y eliminar archivos y directorios

Sintaxis para encontrar y eliminar archivos o directorios en el directorio actual:

encontrar .-type f-name «archivo para eliminar» -exec r m-f<>; eliminar solo archivos o

encontrar .-type d-name «Directorio para eliminar» -exec r m-rf<>; Eliminar solo directorios

Buscar y eliminar solo archivos específicos

Para encontrar y eliminar archivos que comienzan con TIL, use;

encontrar .-Type f-name "til*" -exec rm<> ;

Para encontrar y eliminar directorios que comienzan con TIL

encontrar .-type d-name "til*" -exec rm<> ;

Para eliminar tanto archivos como directorios

encontrar .-name "til*" -exec r m-rf<> ;

Esto eliminará los archivos y directorios que comienzan con las letras TIL.

Eliminar por extensión

Lo siguiente muestra cómo encontrar y eliminar todos los archivos de texto en el directorio actual. Reemplace TXT con otra extensión como BAK, PDF o cualquier otra extensión que desee eliminar.

encontrar .-Type f-name "*. txt" -exec r m-f<> ;

Si desea que el sistema solicite confirmación antes de eliminar cada archivo, agregue el parámetr o-I como se muestra a continuación.

encontrar .-Type f-name "*. txt" -exec r m-i<> ;
RM: Eliminar el archivo vacío regular './file22. txt'? Y RM: Eliminar el archivo vacío regular './file22. txt'? Y RM: Eliminar el archivo vacío regular './file23. txt'?

Por defecto, -RM no elimina los directorios, y debe usar el parámetr o-r para garantizar la eliminación recursiva. Esto asegura que se eliminen los directorios y directorios vacíos que contienen archivos. El parámetr o-f causa la eliminación forzada y se usa para archivos y directorios.

Encontrar y eliminar archivos mayores que n días

Encuentre y elimine archivos de copia de seguridad mayores de 20 días desde el directorio actual.

encontrar .-Type f-name '*. bak' -mtime +2 0-exec rm<> ;

Esto eliminará todos los archivos . bak mayores de 20 días.

Encontrar y eliminar solo directorios

Para eliminar un directorio llamado Dir22

encontrar .-Type d-name dir2 2-exec r m-rf<> ;

Asegúrese de que coincida con el caso del nombre del directorio o use el parámetr o-iname.

encontrar .-Tipo d-iname dir2 2-exec r m-rf<> ;

Elimina tanto Dir22 como Dir22

Use el parámetr o-i para confirmar antes de eliminar.

encontrar .-Type d-iname dir2 2-exec r m-r f-i<> ;

Salida RM: Eliminar directorio ‘./dir22’? n rm: Eliminar directorio ‘./dir22’? u

En nuestro caso, hemos ingresado N para el Directorio Dir22, que no se eliminará, e Y para el Directorio Dir22, que ahora se eliminará.

Buscar y eliminar archivos vacíos

Puede usar cualquiera de los siguientes comandos para encontrar archivos vacíos y eliminarlos automáticamente.

encontrar ./ -type f-size 0-exec r m-f<> ;

o encontrar ./ -Type f-size 0 |xargs r m-f o encontrar ./ -type f-size 0-delete

Encontrar y eliminar directorios vacíos

Para eliminar los directorios vacíos, usaremos el parámetro D.

encontrar ./ - -type d-emp t-exec rmdir<> ;

Otra alternativa es usar Eliminar en lugar de eliminar.

encontrar ./ - -type d-emp t-delete

Tenga en cuenta que eliminar el sistema o los archivos importantes de su computadora puede dañar su sistema operativo o aplicaciones o causar pérdida de datos importantes.

Para evitar la eliminación accidental, se recomienda que use una cuenta de usuario que no sea Root. Además, asegúrese de eliminar los archivos que necesita que no desea y que tenga una copia de seguridad de todos sus archivos de datos por si acaso.

Que sigue.

Continúe y pruebe los comandos de búsqueda de Linux anteriores en su laboratorio o entorno real. Vea si puede usar algunos de ellos para automatizar la limpieza del sistema de archivos con Crontab. Y para Master Linux, consulte este curso en línea.