¿Sabe cuántos archivos hay en una instalación nueva de Linux? Si usas PopOS! distribución de linux como ejemplo, hay más de 31.000 archivos. Eso es antes de comenzar a crear documentos, almacenar música, descargar archivos PDF u organizar imágenes.
Debido a esto, encontrar el archivo o carpeta correcto en Linux cuando lo necesita se convierte en un desafío. En este artículo, aprenderá a utilizar el comando FIND de Linux y le daremos todos los ejemplos que podamos.
Sintaxis del comando FIND de Linux
La sintaxis se refiere a cómo se combinan las palabras o los comandos. Así como una oración normal puede convertirse en una tontería con solo mezclar las palabras, los comandos pueden fallar si no se usan con la sintaxis adecuada.
buscar [ruta] [condiciones] [acciones]
Esto es lo que eso significa:
buscar : inicia la utilidad Buscar en Linux
ruta – dónde buscar
condiciones : argumentos que desea aplicar a la búsqueda
acciones : qué quieres hacer con los resultados
Un ejemplo sencillo que utiliza los tres es el siguiente:
encontrar. -nombre archivo-muestra.rtf -print
Como habrás adivinado, esto encontrará el nombre del archivo file-sample.rtf .
La ruta del punto (. ) le indica a Find que busque en el directorio actual y en cualquier directorio dentro de él.
La condición -name le indica a Find que obtenga el archivo con ese nombre específico.
La acción -imprimir le indica a FIND que muestre los resultados en la pantalla.
El punto y -print son valores predeterminados para el comando de búsqueda. Por lo que seguirá haciendo lo mismo si no los usas. Entonces, find -name file-sample.rtf le dará los mismos resultados.
Linux ENCONTRAR en otro directorio
Puedes buscar en un directorio diferente al que estás. Simplemente inserta la ruta al directorio después de ENCONTRAR. Si estás en la raíz y sabes que el archivo está en algún lugar del directorio inicio/usuario , usarías:
buscar inicio/nombre de usuario archivo-sample.rtf
Sigue siendo una búsqueda recursiva, por lo que recorrerá todos los directorios de usuario ..
Linux ENCONTRAR Buscar en varios directorios
Si deseas buscar en varios directorios a la vez, simplemente enuméralos en el comando, separados por un espacio.
buscar /lib /var /bin -name archivo-sample.rtf
Linux FIND sin recursividad o recursividad limitada
Si utilizó el comando FIND anterior en el nivel raíz, buscará en todos los directorios del sistema. Entonces, si desea limitarse al directorio actual, use la opción -max Depth . El número después de -max Depth le indica a qué profundidad debe llegar antes de detenerse.
Usar -max Depth 1 significa solo este directorio.
buscar -nombre archivo-muestra.rtf -maxprofundidad 1
Usar -max Depth 2 o un número mayor significa llegar a muchos niveles más profundos.
buscar -maxprofundidad 5 -nombre archivo-muestra.rtf
Ejemplo de comodín FIND de Linux
El comando BUSCAR utiliza el asterisco (* ) como comodín. Úselo para cualquier parte del nombre de la que no esté seguro. Se puede utilizar más de una vez en el nombre. Sin el tipo de archivo como parte del nombre del archivo, los resultados también incluirán directorios que coincidan.
buscar archivo de nombre de inicio/usuario*muestra*
Ejemplo de BUSCAR por tipo en Linux
Para buscar sólo un archivo o directorio, utilice la opción -type y el descriptor apropiado. Hay algunos, pero los de archivos y directorios son los más comunes:
f – archivo
d – directorio
b – bloquear dispositivo
c – dispositivo de caracteres
l – enlace simbólico
s – enchufe
buscar inicio/usuario -nombre archivo*muestra* -tipo d
Ejemplo de Linux FIND que no distingue entre mayúsculas y minúsculas
A diferencia de Windows, a Linux le importa si una letra está en mayúscula o en minúscula. Entonces, si desea buscar tanto File-Sample.rtf como file-sample.rtf, use la opción -iname .
buscar inicio/usuario -iname File-Sample.rtf
Ejemplo de FIND de varios archivos en Linux
Digamos que desea encontrar las versiones .rtf y .html de un archivo. Esto se puede hacer con un solo comando usando el operador -o (o). En algunas distribuciones, es posible que tengas que poner los nombres entre corchetes, como ( -name file-sample.rtf -o -name file-sample.html ) ..
buscar inicio/usuario -nombre archivo-muestra.rtf -o -nombre archivo-muestra.html
Linux ENCUENTRA archivos que no coinciden con un nombre
Quizás sepas que existe la versión .html de un archivo, pero no si hay otras. Puedes filtrar la versión .html fuera de la búsqueda usando la opción -not .
buscar inicio/usuario -nombre archivo-muestra* -no -nombre *.html
Linux FIND sin resultados de error
En el ejemplo de búsqueda sin recursividad, observe que enumera todos los directorios en los que no pudo buscar y el resultado correcto. Eso es molesto. Evitemos que muestre todos esos directorios de "Permiso denegado". Combínalo con otro Comando de terminal de Linux, grep. También puedes usar Buscar con grep para encontrar archivos con palabras específicas en ellos.
buscar -maxprofundidad 5 -nombre archivo-muestra.rtf 2>&1 | grep -v “Permiso denegado”
Desglosemos 2>&1 .
2 : representa stderr, que es la abreviatura de salida de errores estándar.
1 : representa stdout, que es la abreviatura de salida estándar
> – significa redirigir cualquier salida que esté a la izquierda a la que esté a la derecha.
& – significa juntar.
Entonces, 2>&1 significa tomar los errores estándar y redirigirlos, y luego juntarlos con la salida estándar en una sola salida.
Ahora veamos | grep -v “Permiso denegado” .
grep : es una utilidad de búsqueda de texto.
-v : le dice a grep que busque cualquier cosa que no coincida con el texto a la izquierda de -v. En este caso, le dice a grep que solo busque cualquier cosa que no contenga el texto o la cadena "Permiso denegado". Por lo tanto, grep solo le mostrará los resultados que está buscando y cualquier error que no coincida con "Permiso denegado".
Ejemplo de BUSCAR por permisos en Linux
.Para utilizar esto bien, necesitas aprender permisos de Linux.
Todos los archivos de ejemplo tienen los permisos 664, excepto uno con los permisos 775. Utilice la opción -perm para encontrarlo.
buscar documentos/ -nombre archivo-muestra* -tipo f -perm 775
Ejemplo de BUSCAR por tamaño en Linux
Buscar archivos por tamaño es útil para que esos archivos enormes llenen su disco duro. Utilice la opción -size, el tamaño deseado y uno de los siguientes sufijos. Si no se utiliza ningún sufijo, -size por defecto es b . Para buscar archivos iguales o mayores que un tamaño determinado, coloque el signo más (+) delante del tamaño.
M – Megabytes
G – Gigabytes
k – Kilobytes
b – bloques (512 bytes – predeterminado)
c – bytes
w – palabras (dos bytes juntos)
encontrar -tamaño +500k
Linux ENCONTRAR por propietario
Hay dos formas de buscar archivos por propietario. Uno es por el nombre de usuario del propietario y el otro por el grupo del usuario. Para buscar por nombre de usuario, utilice la opción -user , seguida del nombre de usuario. Para buscar por grupo de usuarios, utilice -group seguido del nombre del grupo...
buscar nombre de grupo de usuarios o buscar nombre de usuario de usuario
Linux FIND archivos por último ejemplo modificado
Para buscar archivos que se modificaron o editaron en los últimos X días, utilice -mtime seguido de un número. Al poner un signo menos (– ) delante del número, se encontrará cualquier cosa que haya sido alterada dentro de esos días anteriores. Un signo más (+ ) significa dentro de esos días antes de ahora.
find -name “file-sample*” -mtime +5 (hace más de 5 días)
find -name “file-sample*” -mtime -5 (hace menos de 5 días)
Para buscar por última modificación en minutos, utilice la opción -mmin seguida del número de minutos. Utilice + y – como arriba.
buscar -nombre “archivo-muestra*” -mmin -5
buscar -nombre “archivo-muestra*” -mmin +5
Ejemplo de FIND de archivos de Linux por último momento de acceso
.La opción utilizada para buscar archivos según la última vez que se abrieron es -atime para días y -amin para minutos. Síguelo con el número de días o minutos para retroceder y usa los signos + y – como mayor que y menor que.
buscar -nombre “archivo-muestra*” -atime -5
buscar -nombre “archivo-muestra* -amin -5
Combinar FIND con otros comandos de Linux
Hay un ejemplo anterior sobre el uso de buscar con el comando grep y puedes usarlo con muchos otros. Puede ver que usar buscar y otros comandos puede ser muy poderoso y ahorrar mucho tiempo. Imagínese tener que eliminar varios archivos de un tipo particular. En lugar de buscar en el explorador de archivos, simplemente cree el comando correcto y estará listo en segundos. ¿Cómo utilizarás el comando buscar ahora?
.