安装
Linux
tree本是Linux系统下的一个工具,不过Linux系统默认并没有集成,需要手动安装,我们这里以Ubuntu版本为例:
sudoapt-getinstalltree
Windows
Windows系统中提供了一个tree命令,不过这个tree并不是Linux系统中的tree,这个版本的tree功能有限,只会显示该目录下文件夹的名称。
在Windows下,也可以手动安装:
pipinstalltree
语法
tree[-aACdDfFgilnNpqstux][-I范本样式][-P范本样式][目录...]
参数说明
-a显示所有文件和目录。-A使用ASNI绘图字符显示树状图而非以ASCII字符组合。-C在文件和目录清单加上色彩,便于区分各种类型。-d显示目录名称而非内容。-D列出文件或目录的更改时间。-f在每个文件或目录之前,显示完整的相对路径名称。-F在执行文件,目录,Socket,符号连接,管道名称名称,各自加上”*”,”/“,”=”,”
”,””号。-g列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码。-i不以阶梯状列出文件或目录名称。-Llevel限制目录显示层级。-l如遇到性质为符号连接的目录,直接列出该连接所指向的原始目录。-n不在文件和目录清单加上色彩。-N直接列出文件和目录名称,包括控制字符。-p列出权限标示。-P范本样式只显示符合范本样式的文件或目录名称。-q用”?”号取代控制字符,列出文件和目录名称。-s列出文件或目录大小。-t用文件和目录的更改时间排序。-u列出文件或目录的拥有者名称,没有对应的名称时,则显示用户识别码。-x将范围局限在现行的文件系统中,若指定目录下的某些子目录,其存放于另一个文件系统上,则将该子目录予以排除在寻找范围外。
实例
忽略某些文件夹
我们前端项目中,有个node_modules文件夹,做过前端的人都了解,这个文件夹非常的重,而且多数情况下我们也不需要关心其目录结构,因此我们在输出前端项目结构的时候,就需要忽略掉此文件夹
tree-I"node_modules"##输出结果.├──CHANGELOG.md├──README.md├──dist│├──extension.js│└──extension.js.map├──out├──package-lock.json├──package.json├──src│├──extension.ts│└──process.ts├──tsconfig.json├──vsc-extension-quickstart.md├──webpack.config.js└──yarn.lockdirectories,12files
另外,-I支持正则匹配,因此我们如果需要忽略多个文件夹时,可以用如下写法:
tree-I"node_modules
dist
cache
*.md"##输出结果.├──out├──package-lock.json├──package.json├──src│├──extension.ts│└──process.ts├──tsconfig.json├──webpack.config.js└──yarn.lock2directories,7files
只看两级目录
tree-L2##输出结果.├──CHANGELOG.md├──README.md├──dist│├──extension.js│└──extension.js.map├──node_modules│├──
babel...##这里太多省略了│└──yocto-queue├──out├──package-lock.json├──package.json├──src│├──extension.ts│└──process.ts├──tsconfig.json├──vsc-extension-quickstart.md├──webpack.config.js└──yarn.lockdirectories,12files