00. 目录

01. 命令概述

tree命令以树状图列出目录的内容。

02. 命令格式

tree [选项] [参数]

03. 常用选项

-a 显示所有文件和目录。
-A 使用ASNI绘图字符显示树状图而非以ASCII字符组合。
-C 在文件和目录清单加上色彩,便于区分各种类型。
-d 显示目录名称而非内容。
-D 列出文件或目录的更改时间。
-f 在每个文件或目录之前,显示完整的相对路径名称。
-F 在执行文件,目录,Socket,符号连接,管道名称名称,各自加上"*","/","=","@","|"号。
-g 列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码。
-i 不以阶梯状列出文件或目录名称。
-I 不显示符合范本样式的文件或目录名称。
-l 如遇到性质为符号连接的目录,直接列出该连接所指向的原始目录。
-L 层级显示
-n 不在文件和目录清单加上色彩。
-N 直接列出文件和目录名称,包括控制字符。
-p 列出权限标示。
-P 只显示符合范本样式的文件或目录名称。
-q 用"?"号取代控制字符,列出文件和目录名称。
-s 列出文件或目录大小。
-t 用文件和目录的更改时间排序。
-u 列出文件或目录的拥有者名称,没有对应的名称时,则显示用户识别码。
-x 将范围局限在现行的文件系统中,若指定目录下的某些子目录,其存放于另一个文件系统上,则将该子目录予以排除在寻找范围外。

04. 参考示例

4.1 tree命令安装,Centos7.5为例

[deng@localhost test]$ yum install tree 

4.2 以树状图列出目录的内容

[deng@localhost test]$ mkdir -p a/b/c/d
[deng@localhost test]$ tree a
a
└── b
    └── c
        └── d

3 directories, 0 files
[deng@localhost test]$ 

4.3 显示目录的内容的时候,指定级别

使用 tree -L n 命令,n 为数字,表示查看当前第 n 级的目录和文件。

//指定只显示一级文件和目录
[deng@localhost home]$ tree -L 1 /home
/home
├── deng
└── oracle

2 directories, 0 files
[deng@localhost home]$ 
//指定最多显示二级文件和目录
[deng@localhost home]$ tree -L 2 /home
/home
├── deng
│   ├── bak
│   ├── bj34
│   ├── instantclient_11_2
│   ├── oracle_client_11gR2.tar.gz
│   ├── oradiag_deng
│   ├── projects
│   ├── scott_data.sql
│   ├── share
│   ├── sz12
│   ├── test
│   ├── test.c
│   ├── test.cpp
│   ├── \345\205\254\345\205\261
│   ├── \346\250\241\346\235\277
│   ├── \350\247\206\351\242\221
│   ├── \345\233\276\347\211\207
│   ├── \346\226\207\346\241\243
│   ├── \344\270\213\350\275\275
│   ├── \351\237\263\344\271\220
│   └── \346\241\214\351\235\242
└── oracle [error opening dir]

18 directories, 4 files
[deng@localhost home]$ 

4.4 在每个文件或目录之前,显示完整的相对路径名称。

[deng@localhost test]$ tree -f 
.
└── ./a
    └── ./a/b
        └── ./a/b/c
            └── ./a/b/c/d

4 directories, 0 files
[deng@localhost test]$ 

4.5 显示目录名称而非内容。

[deng@localhost test]$ tree -d /etc/systemd/
/etc/systemd/
├── system
│   ├── basic.target.wants
│   ├── bluetooth.target.wants
│   ├── default.target.wants
│   ├── dev-virtio\\x2dports-org.qemu.guest_agent.0.device.wants
│   ├── getty.target.wants
│   ├── graphical.target.wants
│   ├── local-fs.target.wants
│   ├── multi-user.target.wants
│   ├── network-online.target.wants
│   ├── printer.target.wants
│   ├── remote-fs.target.wants
│   ├── sockets.target.wants
│   ├── sysinit.target.wants
│   ├── system-update.target.wants
│   ├── timers.target.wants
│   └── vmtoolsd.service.requires
└── user

18 directories
[deng@localhost test]$

4.6 在文件和目录清单加上色彩,便于区分各种类型。

[deng@localhost ~]$ tree -C /home

4.7 列出文件或目录大小。

[deng@localhost test]$ tree -s a/
a/
└── [         15]  b
    └── [         15]  c
        └── [          6]  d

3 directories, 0 files
[deng@localhost test]$

05. 附录

参考:【Linux】一步一步学Linux系列教程汇总

Logo

更多推荐