
Cómo buscar archivos en Linux
Recordar dónde se encuentra un archivo concreto en la instalación de Linux puede ser bastante difícil y buscar manualmente a través de un árbol de directorios masiva es un proceso muy laborioso. Por lo tanto, ¿cómo puede hacer búsquedas en Linux? Afortunadamente, Linux ofrece algunas herramientas muy fácil de usar para buscar archivos a lo largo de toda su distribución.
DIFICULTAD | Basic - 1 | Medio - 2 | Avanzado - 3 |
TIEMPO NECESARIO | 15 min |
PRODUCTOS RELACIONADOS | Servidores dedicados o VPS basados en Linux Compartida basada en Linux alojamiento con SSH habilitado |
Cómo buscar archivos en Linux
El comando Buscar es la herramienta principal que se utiliza para buscar archivos en cualquier lugar en el equipo. A lo más básico, buscar se ejecuta utilizando la sintaxis siguiente:
path
y flags
son ambos opcionales por defecto buscar volverá de forma recursiva la ruta de acceso de todos los archivos en el directorio actual y a sus subdirectorios:
./.ssh
./.ssh/authorized_keys
./.monit.state
./.aptitude
./.aptitude/cache
./.aptitude/config
./.profile
./.psql_history
./.gem
...
Buscar por nombre
Para buscar archivos con un nombre determinado uso del -name
indicador seguido del texto de búsqueda. Por ejemplo:
./misc/foo
Todos los archivos encuentra en el directorio actual con el nombre exacto de foo. En este caso se encuentra un único archivo en mi directorio misc. Mediante la -iname
indicador en su lugar utiliza una búsqueda de mayúsculas y minúsculas:
./misc/foo
Utilizando un asterisco (*) le permite buscar mediante caracteres comodín:
./misc/foobar.txt
./misc/foobar.sh
./misc/foo
./misc/foobar
Buscar por ubicación
Buscar fuera de su directorio actual a menudo es obligatorio y fácilmente se puede realizar mediante la opción de ruta de acceso inmediatamente después del comando Buscar.
Por ejemplo, para buscar archivos en todo el sistema, utilice una / path
opción:
/root/misc/foobar.txt
/root/misc/foobar.sh
/root/misc/foo
/root/misc/foobar
/usr/lib/node_modules/npm/node_modules/semver/foot.js
/usr/share/automake-1.14/am/footer.am
/usr/share/doc/xml-core/examples/foo.postrm
...
Puede restringir la ruta de búsqueda hacia abajo según sea necesario, en este caso buscar esos mismos archivos ubicados en el directorio raíz, misc:
/root/misc/foobar.txt
/root/misc/foobar.sh
/root/misc/foo
/root/misc/foobar
Incluso puede usar varios paths
en el comando Buscar en dos o más ubicaciones específicas. Aquí estamos buscando en la raíz, misc y los directorios usr:
/root/misc/foobar.txt
/root/misc/foobar.sh
/root/misc/foo
/root/misc/foobar
/usr/share/doc/xml-core/examples/foo.postrm
/usr/share/doc/xml-core/examples/foo.xmlcatalogs
/usr/share/doc/xml-core/examples/foo.postinst
/usr/share/doc/xml-core/examples/foo.prerm
/usr/share/doc/m4/examples/foo
Buscar por tipo
Otro indicador común para estrechar la búsqueda es -type
, que le permite buscar archivos en función de los identificadores basados en Unix asociados con todos los archivos.
Por ejemplo, puede utilizar el -type d
indicador para buscar sólo los directorios que coinciden con sus criterios:
/root/misc/foobar
La lista completa de los identificadores utilizados para seguir la -type
indicador puede encontrarse en la página de comando man, pero algunos de los más comunes son:
-type d
para directorios-type f
para los archivos-type l
para los vínculos simbólicos
Buscar por tiempo
Buscar archivos en función del tiempo que se crearon o modificaron puede ser una herramienta muy útil para analizar los registros o los cambios en un directorio determinado.
Hay tres categorías de comandos de búsqueda basado en tiempo: acceso, cambio y modificación. Todo tiempo tres categorías también tienen dos categorías secundarias para determinar el intervalo de tiempo está buscando: min para buscar por minutos y tiempo para buscar por días.
El argumento numérico (n) para marcas de tiempo puede ser neutro, positivo o negativo:
n
Busca un período de tiempo que coincida exactamente con n.+n
busca en los períodos de tiempo mayores que n.-n
Busque períodos de tiempo menor que n.
Por ejemplo, mediante el -atime
indicador le permite buscar archivos en función de la hora última se leyó o se escriben en el archivo. Para buscar todos los archivos denominado foo que se tenía acceso hace menos de 1 día, escriba:
/root/misc/foobar.txt
/root/misc/foobar.sh
/root/misc/foo
/root/misc/foobar
Para encontrar todos los nombre de foo archivos acceso dentro del último uso de 45 minutos el -amin
indicador en su lugar:
/root/misc/foo
También puede utilizar el -cmin
y -ctime
indicadores de la misma manera para buscar archivos en función de la última vez que se ha cambiado los datos del archivo inode (generalmente cuando el archivo se movió a una nueva ubicación dentro del sistema).
Después de mover el archivo foobar.txt es ahora entre los resultados de búsqueda para todos los archivos denominado foo que se cambiaron en los minutos de last10:
find / -cmin -10 -name foo*
/root/other/foobar.txt
Los indicadores de tiempo final de -mmin
y -mtime
permiten buscar archivos en función de la última vez que se modificó el contenido del archivo.
Después de utilizar el gato > comando para agregar texto nuevo para el archivo foobar.txt, ahora ubicado al buscar archivos que se modificaron en los últimos 5 minutos:
This is a new line.
ctrl+c
find / -mmin -5 -name foo*
/root/other/foobar.txt
Buscar por el contenido del archivo
Si desea buscar archivos basados en el contenido de texto real dentro del archivo puede combinarse el comando Buscar con otros comandos de unix utilizando la -exec
indicador.
Por ejemplo, mediante la combinación -exec
con muy eficaz herramienta de grep, puede encontrar todos los denominada foo archivos como antes que también contienen texto concreto:
/root/misc/foobar.sh:My favorite foods are:
/root/misc/foo:My favorite foods are:
/root/other/foobar.txt:My favorite foods are:
El comando completo parece desalentadora, pero realmente sólo consta de dos partes básicas:
Que es la funcionalidad básica del comando Buscar cubierto hasta ahora en que este tutorial, aquí estamos buscando todos los archivos de la typefile cuyos nombres empiecen por foo.
La última mitad del comando utiliza el nuevo -exec
indicador, seguido por el comando de unix que desea ejecutar en los resultados de buscar. En este caso es el componente clave:
Realiza una búsqueda en el contenido de los archivos (minúsculas debido a la -i
indicador) para el texto "Mis comidas favoritas son".
Ahora ejecuta el mismo comando, pero en su lugar buscando "apple" vemos que hay sólo dos archivos que tienen apple aparece como uno de los alimentos favoritos:
/root/misc/foobar.sh:apple
/root/other/foobar.txt:apple
Aunque esto es sólo una breve introducción del uso de -exec
búsqueda GREP indicador dentro de su búsqueda, le ofrece un muy alto nivel de versatilidad y potencia en las búsquedas.
Ahora vaya hacia delante y encontrar esos archivos!