El comando de búsqueda le permite buscar en una ubicación específica archivos y directorios que cumplan con algunos criterios de búsqueda. Busca recursivamente la estructura del directorio, incluidos los subdirectorios y sus contenidos, comenzando con la ubicación de búsqueda que ingresa. Puede realizar una o más acciones en los archivos encontrados.
La opción -type le permite especificar el tipo de objeto que está buscando, como d para directorio o f para archivo. La opción -name es donde especifica el nombre del objeto que está buscando. El siguiente ejemplo busca en el directorio de inicio de un usuario (y todos los subdirectorios) todos los archivos denominados 2021_report:
$ find /home/user -type f -name 2021_report
Sintaxis
La sintaxis del comando de búsqueda es:
$ find [options] {search locations} {search criteria} [actions]
busque VS. localizar comandos
El comando de localización busca en una base de datos y recupera información sobre los archivos presentes en su sistema. Sin embargo, no mantener esta base de datos actualizada puede producir resultados obsoletos. El comando de búsqueda, por otro lado, realiza una búsqueda en vivo del sistema de archivos y puede concentrarse en una ubicación específica. El comando de búsqueda puede tardar más tiempo en completar una búsqueda que el comando de localización.
Opciones para archivos encontrados
Cuando el sistema encuentra una lista que cumple con sus criterios, hay varias acciones que puede realizar en los resultados. Varias de estas opciones se describen en la siguiente tabla.
Opción | Solía |
---|---|
-imprimir | Muestra la ubicación de los archivos encontrados. |
-exec | Ejecuta el siguiente comando. |
-bien | Ejecuta el comando que sigue de forma interactiva. |
-eliminar | Elimina los archivos encontrados. |
-fprint | Almacena los resultados en el archivo de destino. |
buscar ejemplos de comandos
1. Para encontrar el archivo con nombre, dentro del directorio especificado:
# find / -name file.txt # find . -name file.txt (within current directory)
2. Para encontrar el archivo de permisos especificados:
# find / -perm 775 # find / -perm a+x # find . -perm 775(within current directory)
3. Para tener al menos un conjunto de bits de escritura (permiso específico):
# find / -perm /a+w # find . -perm /a+w (within current directory)
4. Para encontrar un archivo que no tenga ningún conjunto de bits ejecutables:
# find / ! -perm /111 # find / ! -perm /a+x # find . ! -perm /a+x (within current directory)
5. Para buscar un archivo legible por todo el mundo, al menos un bit de escritura y no ejecutable por nadie:
# find . -perm -a+r -perm /a+w ! -perm /a+x
6. Para evitar seguir los enlaces simbólicos:
# find -p / -name file
7. Para seguir los enlaces simbólicos:
# find -p / -name file
8. No seguir enlaces simbólicos, excepto mientras se procesan los argumentos de la línea de comandos:
# find -H / -name file
9. Para encontrar el archivo con la profundidad especificada en la estructura del directorio:
# find -d 2 / -name file
10. Para especificar el nivel de descenso:
# find -maxdepth 2 / -name file
11. Para especificar el nivel mínimo de profundidad:
# find -mindepth 4 / -name file
12. Para procesar el contenido de cada directorio antes que el propio directorio:
# find -depth / -name file
13. Para dar el día de inicio de las marcas de tiempo del archivo:
# find -daystart -atime file
14. Para mostrar que no se emitirá ningún mensaje de error (si el archivo se elimina durante el procesamiento):
# find -ignore_readdir_race / -name file
15. Para desactivar -ignore_readdir_race:
# find -noignore_readdir_race / -name file
16. Para no incluir directorios de otros puntos de montaje:
# find -mount / -name file
17. Para cambiar la sintaxis de expresión regular entendido:
# find -regextype type
18. Para activar o desactivar los mensajes de advertencia:
# find -warn / -name file # find -nowarn / -name file
19. No descender directorios en sistemas de archivos autofs:
# find -xautofs / -name file
20. No descender directorios en otros sistemas de archivos:
# find -xdev / -name