你可能在很多人的博客文章内或是一些文档内见到清晰的文件结构说明
那他们是怎么做的呢?不会是一个文件一个文件的拼接手写吧?不会吧?
各大操作系统都有tree
这个命令,本文仅描述Windows系统
先看看tree
命令有些说明参数说明吧,输入tree /?
也可以使用help tree
参数说明
Windows系统自带的功能实在是太少了,例如我需要生成指定文件的在该结构总的位置,则系统自带的是的tree
是无法办到的,这里推荐使用tree-node-cli
1 2 3 4 5 6 7
| L:\Windows\Desktop\新建文件夹>tree /? 以图形显示驱动器或路径的文件夹结构。
TREE [drive:][path] [/F] [/A]
/F 显示每个文件夹中文件的名称。 /A 使用 ASCII 字符,而不使用扩展字符。
|
/F /A 都可以使用小写,对大小写不敏感(博主设备: win11)
本文以.git
文件文件夹结构举例
本文的目录结构
1 2 3 4 5 6 7 8 9 10 11
| L:. └─test └─.git ├─hooks ├─info ├─objects │ ├─info │ └─pack └─refs ├─heads └─tags
|
tree /F > tree.txt
: 生成的文件目录树形结构写入到 tree.txt
使用特殊字符
1 2 3 4 5 6 7 8 9
| .git ├─hooks ├─info ├─objects │ ├─info │ └─pack └─refs ├─heads └─tags
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| .git │ config │ description │ HEAD │ ├─hooks │ applypatch-msg.sample │ commit-msg.sample │ fsmonitor-watchman.sample │ post-update.sample │ pre-applypatch.sample │ pre-commit.sample │ pre-merge-commit.sample │ pre-push.sample │ pre-rebase.sample │ pre-receive.sample │ prepare-commit-msg.sample │ push-to-checkout.sample │ update.sample │ ├─info │ exclude │ ├─objects │ ├─info │ └─pack └─refs ├─heads └─tags
|
使用 ASCII 字符
1 2 3 4 5 6 7 8 9
| .git +---hooks +---info +---objects | +---info | \---pack \---refs +---heads \---tags
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| .git | config | description | HEAD | +---hooks | applypatch-msg.sample | commit-msg.sample | fsmonitor-watchman.sample | post-update.sample | pre-applypatch.sample | pre-commit.sample | pre-merge-commit.sample | pre-push.sample | pre-rebase.sample | pre-receive.sample | prepare-commit-msg.sample | push-to-checkout.sample | update.sample | +---info | exclude | +---objects | +---info | \---pack \---refs +---heads \---tags
|