1. Introducción
Encontrar directorios es una tarea común en el sistema operativo Linux. Tanto si es un administrador del sistema como si es un usuario normal, es posible que necesite encontrar un directorio específico para realizar varias operaciones, como navegar por el sistema de archivos, realizar copias de seguridad de los datos, eliminar archivos, etc. Linux proporciona una variedad de comandos y herramientas para ayudarnos a encontrar rápidamente el directorio de destino en el sistema de archivos. Este artículo presentará varios métodos y comandos de uso común para ayudarlo a encontrar directorios de manera eficiente en Linux.
2. Usa find
el comando
find
Command es una poderosa herramienta de búsqueda en el sistema Linux. Puede recorrer recursivamente el directorio especificado y buscar archivos y directorios según diferentes criterios.
2.1 Sintaxis básica
find
La sintaxis básica del comando es la siguiente:
find [path] [expression]
Entre ellos, path
está la ruta del directorio de inicio para buscar, si se omite, la búsqueda comienza desde el directorio actual de forma predeterminada. expression
es una opción para especificar criterios de búsqueda, que pueden ser nombre de archivo, tipo de archivo, tamaño, permiso, etc.
2.2 Ejemplos
2.2.1 Buscar todos los subdirectorios bajo el directorio especificado
Para encontrar todos los subdirectorios en un directorio específico, puede usar el siguiente comando:
find /path/to/directory -type d
Este comando /path/to/directory
encontrará recursivamente todos los subdirectorios bajo el directorio y generará sus rutas.
Por ejemplo:
find /tmp -type d
producción:
2.2.2 Buscar directorios cuyo nombre de directorio contenga una cadena específica
Si solo desea buscar directorios cuyos nombres de directorio contengan una determinada cadena, puede utilizar -name
la opción:
find /path/to/directory -type d -name "keyword"
Reemplace keyword
con la cadena que desea encontrar.
Por ejemplo:
find /tmp -type d -name "localhost"
producción:
2.2.3 Buscar el directorio del usuario especificado
Para encontrar un directorio para un usuario específico, puede usar -user
la opción:
find /path/to/directory -type d -user username
Reemplace username
con el nombre de usuario del usuario de destino.
Por ejemplo:
find /tmp -type d -user root
producción:
2.2.4 Buscar directorios modificados dentro de un rango de fechas específico
También puede encontrar directorios modificados dentro de un rango de fechas específico. Por ejemplo, para buscar directorios modificados en los últimos 7 días:
find /path/to/directory -type d -mtime -7
Este comando devolverá los directorios que se han modificado en los últimos 7 días.
Por ejemplo:
find /tmp -type d -mtime -7
producción:
2.2.5 Enviar resultados de búsqueda a un archivo
Si desea enviar los resultados de la búsqueda a un archivo en lugar de mostrarlos en la terminal, puede usar el operador de redirección >
:
find /path/to/directory -type d -name "keyword" > result.txt
Esto guardará los resultados de la búsqueda en result.txt
un archivo llamado .
Por ejemplo:
find /tmp -type d -name "localhost" > result.txt
more result.txt
2.3 Más opciones
find
Command también admite muchas otras opciones, como buscar por tamaño de archivo, buscar por permisos, etc. Puede ver más opciones y ejemplos consultando find
la página de manual del comando (usando el comando).man find
3. Usa locate
el comando
locate
Los comandos son otra forma rápida de encontrar directorios y archivos en Linux. A diferencia de find
los comandos, locate
los comandos utilizan una base de datos para acelerar el proceso de búsqueda.
Es posible que los servidores generales no tengan este comando, debe instalarlo:
apt install mlocate
3.1 Actualización de la base de datos
Antes de usar locate
el comando, debemos asegurarnos de que la base de datos esté actualizada. La base de datos se puede actualizar con el siguiente comando:
sudo updatedb
Este comando requiere privilegios de administrador y regenerará la base de datos para incluir la información de archivo más reciente.
3.2 Buscar directorio
El comando para buscar directorios es el mismo que para buscar archivos, solo use -type d
la opción para limitar los resultados de búsqueda a directorios:
locate -b '\keyword'
Reemplace keyword
con la cadena que desea encontrar.
3.3 Ignorar caso
De forma predeterminada, locate
los comandos distinguen entre mayúsculas y minúsculas. Si desea buscar sin importar el caso, puede utilizar -i
la opción:
locate -i -b '\keyword'
3.4 Más opciones
locate
El comando admite algunas opciones adicionales, como limitar la cantidad de resultados de búsqueda, especificar un archivo de base de datos, etc. Puede ver más opciones y ejemplos consultando locate
la página de manual del comando (usando el comando).man locate
4. Usa una combinación de find
ygrep
A veces, es posible que deba filtrar aún más los resultados de la búsqueda en categorías específicas. Esto se puede lograr usando una combinación del find
comando y el comando.grep
Por ejemplo, desea buscar todos los directorios /path/to/directory
bajo el directorio .log
que termina con:
find /path/to/directory -type d | grep ".log$"
El comando primero usará find
el comando para buscar todos los directorios, luego pasará los resultados al grep
comando para filtrar.
5. Usa tree
el comando
Si desea mostrar directorios y subdirectorios en una estructura de árbol, puede usar tree
el comando. tree
El comando enumera recursivamente el contenido del directorio especificado y sus subdirectorios.
5.1 tree
Comando de instalación
En algunas distribuciones de Linux, tree
es posible que el comando no esté instalado de manera predeterminada. Puedes instalarlo con el siguiente comando:
En Ubuntu y Debian:
sudo apt-get update
sudo apt-get install tree
En CentOS y Fedora:
sudo yum install tree
5.2 Usando tree
el comando
Usar tree
el comando es muy simple. Simplemente especifique la ruta del directorio para buscar en:
tree /path/to/directory
tree
El comando mostrará recursivamente el contenido del directorio especificado y sus subdirectorios en una estructura de árbol.
Por ejemplo:
tree /tmp
5.3 tree
Opciones de comando
tree
El comando también admite algunas opciones, que pueden ajustar los resultados de salida según las necesidades. Aquí hay algunas opciones de uso común:
-d
: solo muestra directorios, no archivos.-L level
: limite el número de niveles mostrados, por ejemplo,-L 2
solo muestre una estructura de directorio de dos niveles.-I pattern
: especifique el directorio o el patrón de archivo que desea excluir, por ejemplo,-I "*.log"
excluya todos.log
los archivos que terminen en .-f
: muestra rutas completas, no solo rutas relativas.
Puede ver más opciones y ejemplos consultando tree
la página de manual del comando (usando el comando).man tree
6. Usa ls
el comando
Además de las herramientas de búsqueda especializadas, ls
los comandos también pueden ayudarnos a encontrar directorios. ls
El comando se usa para enumerar el contenido del directorio, y el directorio se puede filtrar combinando diferentes opciones y comodines.
6.1 Buscar directorio
Para buscar directorios, puede usar la opción ls
del comando -d
, combinada con comodines */
:
ls -d /path/to/directory/*/
Este comando listará /path/to/directory/
todos los subdirectorios bajo el directorio.
6.2 Buscar un directorio con un nombre específico
Si solo desea buscar directorios cuyo nombre de directorio coincida exactamente con un nombre específico, puede usar el nombre del directorio directamente como argumento:
ls -d /path/to/directory/directory_name
Reemplace directory_name
con el nombre del directorio de destino.
6.3 Buscar directorios que contengan una cadena específica
También puede usar ls
el *
comodín del comando para buscar directorios cuyos nombres de directorio contengan una determinada cadena:
ls -d /path/to/directory/*keyword*
Reemplace keyword
con la cadena que desea encontrar.
6.4 Más opciones
ls
El comando también admite algunas otras opciones, como mostrar detalles de directorios, ordenar por hora de modificación, etc. Puede ver más opciones y ejemplos consultando ls
la página de manual del comando (usando el comando).man ls
7. Conclusión
Encontrar directorios en Linux es una tarea común e importante. find
Los comandos locate
, tree
y ls
son cuatro herramientas de uso común que pueden ayudarnos a encontrar rápidamente el directorio de destino en el sistema de archivos. Al dominar el uso de estos comandos, puede administrar directorios y archivos de manera más eficiente y realizar varias operaciones más fácilmente en el sistema Linux.