将目录和文件系统以图形化的树状层次结构描述会使其更为形象。这种形式也被一些监控脚本用来更清晰易懂地呈现文件系统。
3.17.1 预备知识
tree命令能够以图形化的树状结构打印文件和目录。Linux发行版中通常不包含这个命令。你需要用包管理器自行安装。
3.17.2 实战演练
下面是树状Unix文件系统的一个示例:
$ pwd/root/workspace$ tree ..├── echo├── else...633 directories, 5820 files
[root@dev workspace]# pwd/root/workspace[root@dev workspace]# tree ..├── echo├── else...633 directories, 5820 files
tree命令支持多种选项:
-P选项可以只显示出匹配指定模式的文件:
例如:$ tree path -P PATTERN #使用通配符描述模式并将其放入单引号中
```powershell [root@dev workspace]# tree . -P ‘*.sh’ . … ├── variables.sh └── vitest └── test.sh$ tree . -P '*.sh' #使用目录路径替换PATH....├── variables.sh└── vitest└── test.sh633 directories, 1170 files
633 directories, 1170 files
- `-I`选项可以只显示出不匹配指定模式的文件:```powershell$ tree path -I PATTERN
[root@dev workspace]# tree . -I '*.sh' #除.sh后缀的文件.├── echo├── else...├── vitest│ ├── host.txt│ └── man_db.conf└── welcome.txt
-h选项可以同时打印出文件和目录的大小:
```powershell [root@dev workspace]# tree . -h . ├── [ 0] echo ├── [ 0] else … ├── [ 90] variables.sh ├── [ 4.0K] vitest │ ├── [ 453] host.txt │ ├── [ 5.0K] man_db.conf │ └── [ 11] test.sh └── [ 30] welcome.txt$ tree -h
633 directories, 5820 files
<a name="sqjxd"></a>## 3.17.3 补充内容`tree`命令还可以在终端中生成`HTML`输出。**生成HTML形式的目录树**用下面的命令可以生成一个包含目录树输出的 **HTML **文件:```bash$ tree PATH -H http://localhost -o out.html
将 http://localhost 替换为适合存放输出文件的URL。将PATH替换为主目录的真实路径。当前目录可以用.作为PATH。
根据目录列表生成的Web页面如图3-1所示。
[root@dev workspace]# tree . -H http://localhost -o out.html


