Shell 打印目录树

Shell 打印目录树,将目录和文件系统以图形化的树状层次结构描述会使其更为形象。这种形式也被一些监控脚本用来更清晰易懂地呈现文件系统。

Shell 打印目录树

预备知识

tree命令能够以图形化的树状结构打印文件和目录。Linux发行版中通常不包含这个命令。你需要用包管理器自行安装。

实战演练

下面是树状Unix文件系统的一个示例:

$ tree ~/unixfs
unixfs/
|-- bin
|   |-- cat
|   `-- ls
|-- etc
|   `-- passwd
|-- home
|   |-- pactpub
|   |   |-- automate.sh
|   |   `-- schedule
|   `-- slynux
|-- opt
|-- tmp
`-- usr
8 directories, 5 files

tree命令支持多种选项。

  • -P选项可以只显示出匹配指定模式的文件:
$ tree path -P PATTERN    # 使用通配符描述模式并将其放入单引号中

例如:

$ tree PATH -P ’*.sh’    # 使用目录路径替换PATH|-- home|   |-- packtpub|   |   `-- automate.sh
  • -I选项可以只显示出不匹配指定模式的文件:
$ tree path -I PATTERN
  • -h选项可以同时打印出文件和目录的大小:
$ tree -h

补充内容

tree命令还可以在终端中生成HTML输出。

生成HTML形式的目录树
用下面的命令可以生成一个包含目录树输出的HTML文件:

$ tree PATH -H http://localhost -o out.html

将 http://localhost 替换为适合存放输出文件的URL。将PATH替换为主目录的真实路径。当前目录可以用.作为PATH
根据目录列表生成的Web页面如下图所示:
Shell 打印目录树

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Shell 实例