tree 参数选项: -a:显示所有文件,包括隐藏文件。 -d:只显示目录。 -f:显示每个文件的全路径。 -i:不显示树枝,常与-f参数配合使用。 -L level:遍历目录的最大层数,level为大于0的正整数。 -F:在执行文件,目录,Socket,符号连接,管道名称等不同类型文件的结尾,各自加上"*","/","@","|"号,类似ls命令的-F选项。 范例. 不带参数 [root@testdb62 ~]# tree /tmp /tmp ├── aaa.log ├── a.log ├── import_mysql_data.sh ├── systemd-private-0b4f7a702deb460eaee9b4daf2de2651-chronyd.service-nKWU9N │ └── tmp └── wordpress.zip 2 directories, 4 files 范例. 带 -a 参数显示包括隐藏文件的所有文件。 [root@testdb62 ~]# tree -a /tmp /tmp ├── aaa.log ├── a.log ├── .font-unix ├── .ICE-unix ├── import_mysql_data.sh ├── systemd-private-0b4f7a702deb460eaee9b4daf2de2651-chronyd.service-nKWU9N │ └── tmp ├── .Test-unix ├── wordpress.zip ├── .X11-unix └── .XIM-unix 7 directories, 4 files 范例. 只列出根目录下第一层目录的结构( -L 功能) -L 参数后接数字表示要查看目录的层数,不带 -L 选项默认显示所有的层数。 [root@testdb62 ~]# tree -L 1 /data /data ├── applogs ├── backup ├── backup2windows ├── clickhouse ├── code ├── docker_backup ├── docker_data ├── elasticsearch ├── hadoop ├── hbase ├── liquibase_sql ├── mongodb ├── mysql ├── mysql_3307 ├── mysql_3308 ├── mysqlbak ├── pgsql_data ├── redis ├── restore ├── xxl_job ├── zibo_binlog └── zookeeper 22 directories, 0 files 范例. 只显示所有的目录(-d功能) [root@testdb62 ~]# tree -d /data/mysql /data/mysql ├── basedata ├── db_1 ├── db_2 ├── db_3306 ├── jumpserver ├── mysql ├── nacos_dev ├── otter ├── performance_schema ├── scott └── sys 11 directories 范例. -f 选项和 -i 选项的使用 -f 选项可显示完整的路径名称,使用 -i 选项则不显示树枝部分。 1.显示内容的完整路径 [root@testdb62 ~]# tree -L 1 -f /boot/ /boot ├── /boot/config-3.10.0-1062.el7.x86_64 ├── /boot/efi ├── /boot/grub ├── /boot/grub2 ├── /boot/initramfs-0-rescue-304ba91566574244a4ed6752152ec067.img ├── /boot/initramfs-3.10.0-1062.el7.x86_64.img ├── /boot/symvers-3.10.0-1062.el7.x86_64.gz ├── /boot/System.map-3.10.0-1062.el7.x86_64 ├── /boot/vmlinuz-0-rescue-304ba91566574244a4ed6752152ec067 └── /boot/vmlinuz-3.10.0-1062.el7.x86_64 3 directories, 7 files 2. -i 不显示树枝,当需要获取所有文件的完整路径时,这个命令很好用 [root@testdb62 ~]# tree -L 1 -fi /boot/ /boot /boot/config-3.10.0-1062.el7.x86_64 /boot/efi /boot/grub /boot/grub2 /boot/initramfs-0-rescue-304ba91566574244a4ed6752152ec067.img /boot/initramfs-3.10.0-1062.el7.x86_64.img /boot/symvers-3.10.0-1062.el7.x86_64.gz /boot/System.map-3.10.0-1062.el7.x86_64 /boot/vmlinuz-0-rescue-304ba91566574244a4ed6752152ec067 /boot/vmlinuz-3.10.0-1062.el7.x86_64 3 directories, 7 files 范例.使用tree命令区分目录和文件的方法 1.使用 -F 参数会在目录后面添加 “/”,方便区分目录 [root@testdb62 ~]# tree -L 1 -F /boot/ /boot/ ├── config-3.10.0-1062.el7.x86_64 ├── efi/ ├── grub/ ├── grub2/ ├── initramfs-0-rescue-304ba91566574244a4ed6752152ec067.img ├── initramfs-3.10.0-1062.el7.x86_64.img ├── symvers-3.10.0-1062.el7.x86_64.gz ├── System.map-3.10.0-1062.el7.x86_64 ├── vmlinuz-0-rescue-304ba91566574244a4ed6752152ec067* └── vmlinuz-3.10.0-1062.el7.x86_64* 3 directories, 7 files 2. 过滤以斜线结尾的所有内容 [root@testdb62 ~]# tree -L 1 -F /boot/ | grep /$ /boot/ ├── efi/ ├── grub/ ├── grub2/ 3. 使用 -d 参数只显示目录树,这样可轻松过滤内容中的目录 [root@testdb62 ~]# tree -L 1 -d /boot/ /boot/ ├── efi ├── grub └── grub2 3 directories