window下的gitbash工具使用tree命令工具
附件下载:tree-1.5.2.1-bin.zip
自行下载地址:Tree for Windows (sourceforge.net)
解压后将tree.exe
执行文件复制到gitbash安装路径下的/usr/bin/
下
测试:
$ tree -L 4 -I node_modules
.
|-- README.md
|-- babel.config.js
|-- lint-staged.config.js
|-- package.json
|-- pnpm-lock.yaml
|-- public
| |-- favicon.ico
| `-- index.html
|-- src
| |-- App.vue
| |-- assets
| | `-- logo.png
| |-- components
| | `-- HelloWorld.vue
| |-- main.ts
| |-- router
| | `-- index.ts
| |-- shims-vue.d.ts
| |-- store
| | `-- index.ts
| `-- views
| |-- AboutView.vue
| `-- HomeView.vue
|-- tsconfig.json
`-- vue.config.js
7 directories, 18 files
tree命令使用技巧
可参考附件包下man中文件
命令格式
tree [-adfghilnopqrstuvxACDFNS] [-L level [-R]] [-H
baseHREF] [-T title] [-o filename] [--nolinks] [-P pat-
tern] [-I pattern] [--inodes] [--device] [--noreport]
[--dirsfirst] [--version] [--help] [--filelimit #]
[directory ...]
参数说明
--help Outputs a verbose usage listing.
--version
Outputs the version of tree.
-a All files are printed. By default tree does not
print hidden files (those beginning with a dot
`.'). In no event does tree print the file sys-
tem constructs `.' (current directory) and `..'
(previous directory).
-d List directories only.
-f Prints the full path prefix for each file.
-i Makes tree not print the indentation lines, use-
ful when used in conjunction with the -f option.
-l Follows symbolic links if they point to directo-
ries, as if they were directories. Symbolic links
that will result in recursion are avoided when
detected.
-x Stay on the current file-system only. Ala find
-xdev.
-P pattern
List only those files that match the wild-card
pattern. Note: you must use the -a option to
also consider those files beginning with a dot
`.' for matching. Valid wildcard operators are
`*' (any zero or more characters), `?' (any sin-
gle character), `[...]' (any single character
listed between brackets (optional - (dash) for
character range may be used: ex: [A-Z]), and
`[^...]' (any single character not listed in
brackets) and `|' separates alternate patterns.
-I pattern
Do not list those files that match the wild-card
pattern.
--noreport
Omits printing of the file and directory report
at the end of the tree listing.
-p Print the file type and permissions for each file
(as per ls -l).
-s Print the size of each file in bytes along with
the name.
-h Print the size of each file but in a more human
readable way, e.g. appending a size letter for
kilobytes (K), megabytes (M), gigabytes (G),
terrabytes (T), petabytes (P) and exabytes (E).
-u Print the username, or UID # if no username is
available, of the file.
-g Print the group name, or GID # if no group name
is available, of the file.
-D Print the date of the last modification time for
the file listed.
--inodes
Prints the inode number of the file or directory
--device
Prints the device number to which the file or
directory belongs
-F Append a `/' for directories, a `=' for socket
files, a `*' for executable files and a `|' for
FIFO's, as per ls -F
-q Print non-printable characters in filenames as
question marks instead of the default caret
notation.
-N Print non-printable characters as is instead of
the default caret notation.
-v Sort the output by version.
-r Sort the output in reverse alphabetic order.
-t Sort the output by last modification time instead
of alphabetically.
--dirsfirst
List directories before files.
-n Turn colorization off always, over-ridden by the
-C option.
-C Turn colorization on always, using built-in color
defaults if the LS_COLORS environment variable is
not set. Useful to colorize output to a pipe.
-A Turn on ANSI line graphics hack when printing the
indentation lines.
-S Turn on ASCII line graphics (useful when using
linux console mode fonts). This option is now
equivalent to `--charset=IBM437' and will eventu-
ally be depreciated.
-L level
Max display depth of the directory tree.
--filelimit #
Do not descend directories that contain more than
# entries.
-R Recursively cross down the tree each level direc-
tories (see -L option), and at each of them exe-
cute tree again adding `-o 00Tree.html' as a new
option.
-H baseHREF
Turn on HTML output, including HTTP references.
Useful for ftp sites. baseHREF gives the base
ftp location when using HTML output. That is, the
local directory may be `/local/ftp/pub', but it
must be referenced as `ftp://hostname.organiza-
tion.domain/pub' (baseHREF should be `ftp://host-
name.organization.domain'). Hint: don't use ANSI
lines with this option, and don't give more than
one directory in the directory list. If you wish
to use colors via CCS stylesheet, use the -C
option in addition to this option to force color
output.
-T title
Sets the title and H1 header string in HTML out-
put mode.
--charset charset
Set the character set to use when outputting HTML
and for line drawing.
--nolinks
Turns off hyperlinks in HTML output.
-o filename
Send output to filename.
使用示例
示例1
$ tree -L 4 -I 'node_modules|dist' -C
.
|-- README.md
|-- babel.config.js
|-- lint-staged.config.js
|-- package.json
|-- pnpm-lock.yaml
|-- public
| |-- favicon.ico
| `-- index.html
|-- src
| |-- App.vue
| |-- assets
| | `-- logo.png
| |-- components
| | `-- HelloWorld.vue
| |-- main.ts
| |-- router
| | `-- index.ts
| |-- shims-vue.d.ts
| |-- store
| | `-- index.ts
| `-- views
| |-- AboutView.vue
| `-- HomeView.vue
|-- tsconfig.json
`-- vue.config.js
7 directories, 18 files
示例2
$ tree -L 4 -I 'node_modules|dist' -d
.
|-- public
`-- src
|-- assets
|-- components
|-- router
|-- store
`-- views
示例3
/e/11047/Workplace/Code/java-vue-tomcat-example/vue-code (master)
$ tree -L 3 -d -I 'target' ../java-code/
../java-code/
`-- src
|-- main
| |-- java
| `-- resources
`-- test
`-- java
6 directories
评论区