Comando del árbol de comandos de Linux

1. Introducción al comando de árbol

  El comando de árbol es un comando que se utiliza para mostrar la estructura del directorio. Puede mostrar todos los archivos y subdirectorios en un directorio específico en forma de diagrama de árbol. Este comando no se usa con mucha frecuencia, pero sigue siendo muy útil cuando contamos la estructura de directorios de un determinado directorio. Necesitamos usarlo si necesitamos copiar completamente la estructura de directorios de un determinado directorio, pero no somos responsables de archivos en el directorio Orden.

2. Ejemplo de uso del comando de árbol

1. Verifique la versión del comando

[root@s152 ~]# árbol --versión
árbol v1.6.0 © 1996 - 2011 por Steve Baker, Thomas Moore, Francesc Rocher, Kyosuke Tokoro

2. Obtenga ayuda de comando

[root@s152 ~]# árbol --ayuda

3. Ver la estructura del directorio de prueba del directorio.

[root@s152 ~]# prueba de árbol
├──
nivel1-1
│ ├── nivel2-1
│ ├── nivel2-2
│ └── nivel2-3
├── nivel1-2
│ ├── nivel2-1
│ ├── nivel2-2
│ └── nivel2-3
└── nivel1-3
├── nivel2-1
├── nivel2-2
└── nivel2-3

12 directorios, 0 archivos

4. Mostrar solo la ruta completa del directorio.

  Si necesitamos obtener recursivamente toda la estructura de directorios bajo el directorio, podemos usar el siguiente comando: -f significa imprimir la ruta completa; -d significa imprimir solo el directorio, no el archivo; -i significa omitir el anterior linea horizontal.

[root@s152 ~]# árbol -fid test
test
test/level1-1
test/level1-1/level2-1

test/level1-3/level2-3

12 directorios

5. No imprimir información estadística

[root@s152 ~]# árbol --noreport prueba prueba
├──
a.txt
├── nivel1-1
│ ├── bb.txt
│ ├── nivel2-1
│ ├── nivel2-2
│ │ └─ ─ ccc.txt
│ └── nivel2-3

6. Imprimir información del inodo

  El parámetro inodes se puede utilizar para imprimir el número de inodos de archivos y directorios. El número de inodos se utiliza generalmente para eliminar archivos cuando el nombre del archivo muestra caracteres confusos. Puede utilizar el comando #find -inum inodes_number -delete para eliminar archivos confusos.

[root@s152 ~]# árbol --inodos prueba prueba
├──
[8576899] a.txt
├── [16851797] nivel1-1
│ ├── [16878307] bb.txt
│ ├── [25166001] nivel2- 1
│ ├── [ 303089] nivel2-2
│ │ └── [ 323552] ccc.txt
│ └── [8422822] nivel2-3

12 directorios, 3 archivos

7. Filtrar directorios vacíos al imprimir

[root@s152 ~]# árbol --prueba de poda
Insertar descripción de la imagen aquí

8. Imprima los atributos, el propietario y el grupo del archivo al imprimir y mostrar

Insertar descripción de la imagen aquí

9. Imprima primero el directorio y luego los archivos.

[root@s152 ~]# árbol --dirsfirst prueba prueba
├──
nivel1-1
│ ├── nivel2-1
│ ├── nivel2-2
│ │ └── ccc.txt
│ ├── nivel2-3
│ └ ── bb.txt
├── nivel1-2

12 directorios, 3 archivos

3. Sintaxis de uso y descripciones de parámetros comunes.

1. Usa la gramática

#árbol [opciones] [directorio]
#árbol [opciones] [directorio] -o nombre de archivo

2. Mostrar descripción del parámetro

  en la siguiente tabla

parámetro Descripción de parámetros
-a Lista todos los archivos.
-d Sólo se enumeran los directorios.
-l Siga enlaces simbólicos como directorios.
-F Imprima el prefijo de ruta completo de cada archivo.
-X Simplemente permanezca en el sistema de archivos actual.
-Nivel L Sólo directorios de nivel inferior profundo.
-R Vuelva a ejecutar el árbol cuando se alcance el nivel máximo de directorio.
-P patrón Enumere sólo aquellos archivos que coincidan con el patrón dado.
-Yo patrón No enumere archivos que coincidan con el patrón dado.
--no informe Desactive el recuento de archivos/directorios al final de la lista de árbol.
--juego de caracteres X Utilice el juego de caracteres X para terminal/HTML y salida de línea sangrada.
--límite de archivos # No tenga más de # archivos en el directorio.
--timefmt Imprima y formatee la hora según el formato <f>.
-o nombre de archivo Salida a archivo en lugar de salida estándar.
--de Tamaño del directorio de impresión.
--ciruela pasa Elimine los directorios vacíos de la salida.

3. Descripción del parámetro del archivo

parámetro Descripción de parámetros
-q Imprimir caracteres no imprimibles como "?"
-NORTE Imprima caracteres no imprimibles tal cual.
-Q Cita el nombre del archivo con comillas dobles.
-pag Protección de impresión para cada archivo.
-tú Muestra el propietario del archivo o el número UID.
-gramo Muestra el propietario del grupo de archivos o el número GID.
-s Imprime el tamaño de cada archivo en bytes.
-h Imprima las dimensiones de una manera que sea más fácil de leer.
--y Como -h, pero usa unidades SI (potencias de 1000).
-D Imprima la fecha de la última modificación o (-c) cambio de estado.
-F Agregue "/", "=", "*", "@", "
--inodos Imprime el número de inodo de cada archivo.
--dispositivo Imprima el número de identificación del dispositivo al que pertenece cada archivo.

4. Descripción del parámetro de clasificación

parámetro Descripción de parámetros
-v Ordene los archivos alfanuméricamente por versión.
-r Ordene archivos en orden alfanumérico inverso.
-t Ordene los archivos por hora de última modificación.
-C Ordene los archivos por hora del último cambio de estado.
-U Deje el archivo sin ordenar.
--dirsfirst Enumera los directorios antes que los archivos (-U lo desactiva).

5. Descripción de los parámetros de la opción de gráficos.

parámetro Descripción de parámetros
-i No imprima líneas de sangría.
-A Imprima líneas sangradas de gráficos de líneas ANSI.
-S Imprima utilizando líneas de sangría gráfica ASCII.
-norte Desactive siempre la coloración (anulación -C).
-C El sombreado siempre está habilitado.

6. Descripción del parámetro de opción XML/HTML

parámetro Descripción de parámetros
-X Imprima una representación XML del árbol.
-H baseHREF Imprima el formato HTML con baseHREF como directorio superior.
-T cuerda Reemplace el título HTML predeterminado y el título H1 con cadenas.
--sin enlaces Desactive los hipervínculos en la salida HTML.

4. Práctica de copiar la estructura de directorios según el comando de árbol

  Supongamos que un sistema ha completado las pruebas de integración y debe implementarse en línea en el entorno de producción. El sistema tiene un directorio grande para almacenar archivos, que contiene varios subdirectorios. Durante la prueba se generó una gran cantidad de datos y el volumen total de datos superó los 5 G. La implementación del entorno de producción solo necesita la estructura de directorios de los archivos almacenados y no necesita los archivos de prueba almacenados en ella ¿Qué debo hacer en este momento? Aquí presentaremos el uso del comando de árbol para escribir scripts para cumplir con este requisito.

  • Ver el tamaño de esta carpeta

[root@s152 datos]# du -sh *
Insertar descripción de la imagen aquí

  • Copiar estructura de directorio a documento de texto

[root@s152 datos]# árbol -fid --noreport archivos de datos -o archivos de datos.txt

  • Copie el documento de texto a la ruta del directorio que se almacenará en el servidor de producción.

[root@s152 data]# scp datafiles.txt 192.168.0.152:/tmp/
#Esto es solo una prueba de simulación. Simplemente cambie la dirección IP al host y al directorio al que realmente necesita copiar.

  • Cree un directorio usando el comando mkdir -p

[root@s152 tmp]# mkdir -pcat datafiles.txt
Insertar descripción de la imagen aquí

  • Comparar el número de directorios

[root@s152 tmp]# árbol /tmp/datafiles |directorios grep
235 directorios, 0 archivos
[root@s152 tmp]# árbol /data/datafiles |directorios grep
235 directorios, 3138 archivos
Insertar descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/carefree2005/article/details/132205901
Recomendado
Clasificación