使用 tree 命令生成目录
前言
在分析项目结构的时候,像按照结构路径做一下记录,把目录提取出来
windows 的 cmd 中的 tree 命令可用的参数有限 ,效果并不直观,所以尝试使用 linux 下的tree命令
提示:以下是本篇文章正文内容,下面案例可供参考
一、windows CMD 中的 tree
在文件所在位置的命令行窗口中输入 tree 命令
tree [path] [/f] [/a]
#/f 显示每个文件中文件的名称
#/a 使用ASCII字符,而不使用扩展字符
tree/f
tree/a
会以递归的方式展示所有的目录层级
但是分析项目的时候有一些文件夹是希望可以被忽略掉,或者说想要指定生成的目录层级,windows 中的功能做不到
在windows DOS终端下,tree对应的参数功能有限,无法过滤特定的文件,而且在git bash终端下此命令却无法使用,如果要使用,特用特定的方法,后文中提供了具体的解决方法
tree命令使用:
二、在git命令行工具里使用 tree 命令
1.下载 tree
-
下载tree
-
下载binaries文件
-
添加tree,将下载文件解压bin/目录下的 tree.exe 复制到 git/usr/bin 目录中,如下图所示:
-
将tree放到Git/usr/bin目录下
2.使用 tree 命令
1. 常见参数
$ tree --help
usage: tree [-adfghilnpqrstuvxACDFNS] [-H baseHREF] [-T title ] [-L level [-R]]
[-P pattern] [-I pattern] [-o filename] [--version] [--help] [--inodes]
[--device] [--noreport] [--nolinks] [--dirsfirst] [--charset charset]
[--filelimit #] [<directory list>]
-a All files are listed(列出所有文件).
-d List directories only(只列出目录).
-l Follow symbolic links like directories.(遵循象目录这样的符号链接)
-f Print the full path prefix for each file(打印每个文件的完整路径前缀).
-i Don't print indentation lines()不要打印压痕线.
-q Print non-printable characters as '?'.(将不可打印字符打印为'?'。)
-N Print non-printable characters as is.(按原样打印不可打印字符)
-p Print the protections for each file.(打印每个文件的保护)
-u Displays file owner or UID number(显示文件所有者或UID号).
-g Displays file group owner or GID number.(显示文件组所有者或GID编号)
-s Print the size in bytes of each file.(打印每个文件的字节大小)
-h Print the size in a more human readable way.(以更容易被人阅读的方式打印尺寸)
-D Print the date of last modification.(打印上次修改的日期)
-F Appends '/', '=', '*', or '|' as per ls -F.(根据ls -F添加'/'、'='、'*'或'|'。)
-v Sort files alphanumerically by version.(按版本对文件进行字母数字排序)
-r Sort files in reverse alphanumeric order.(按字母数字倒序排列文件。)
-t Sort files by last modification time.(按上次修改时间排序文件)
-x Stay on current filesystem only.(只保留当前文件系统)
-L level Descend only level directories deep.(只向下深入到级别目录)
-A Print ANSI lines graphic indentation lines.(打印ANSI线图形压痕线)
-S Print with ASCII graphics indentation lines.(用ASCII图形缩进行打印)
-n Turn colorization off always (-C overrides).(始终关闭着色(-C覆盖))
-C Turn colorization on always.(始终打开彩色化)
-P pattern List only those files that match the pattern given.(只列出与给定模式匹配的文件)
-I pattern Do not list files that match the given pattern.(不要列出与给定模式匹配的文件)
-H baseHREF Prints out HTML format with baseHREF as top directory.(打印出以baseHREF作为顶部目录的HTML格式)
-T string Replace the default HTML title and H1 header with string.(用字符串替换默认的HTML标题和H1标题)
-R Rerun tree when max dir level reached.(当达到最大dir级别时重新运行树)
-o file Output to file instead of stdout.(输出到文件而不是stdout。)
--inodes Print inode number of each file.(打印每个文件的inode编号)
--device Print device ID number to which each file belongs.(打印每个文件所属的设备ID号)
--noreport Turn off file/directory count at end of tree listing.(在树列表末尾关闭文件/目录计数)
--nolinks Turn off hyperlinks in HTML output(关闭HTML输出中的超链接).
--dirsfirst List directories before files.(在文件之前列出目录)
--charset X Use charset X for HTML and indentation line output.(使用charset X作为HTML和缩进行输出)
--filelimit # Do not descend dirs with more than # files in them.(不要下载包含超过#文件的dirs)
2. 生成 HbuilderX 中这样文件夹在上,文件在下,字母排序,两层目录层级,忽略 node_modules 和 uview-ui
命令
$ tree -C -L 2 -I "node_modules" --dirsfirst
$ tree -C -L 2 -I "node_modules|uview-ui" --dirsfirst
-C : 彩色
-L 2 : 目录层级两层
-I "node_modules" : 忽略 node_modules
-I "node_modules|uview-ui" 忽略 node_modules 和 uview-ui
生成效果
3. 生成 md 文件并指定生成的位置
$ tree -C -L 2 -I "node_modules|uview-ui" --dirsfirst > "C:\Users\HP\Desktop\开发文档\料塔称\tree.md"
夜夜流光相皎洁_小宁: 感谢分享,卧槽,我也遇到这个问题了,我是做后端的,自己也在做前端,遇到这个问题被坑了蛮久,找文档没找着...........
xuehaiwuya@: 上面的分页按钮没显示,怎么显示
淞沪闵: 跨域如何解决的呢
月笙哥哥: 大佬,为什么uniapp的onBackPress生命周期必须要return页面跳转才会执行呢
Fy哥: 非常好,我一下就理解了,我说为什么报错“未完成的操作”。原来要打开“不校验...”。有些时候需要先关闭在重新打开才生效 [code=html] ws + SSL = wss 因此需要申请 SSL [/code]