Introduction
Most time, I make screenshot to show folder structure, but whenever there is change, it is painful to make screen capture again and agian. This is how you can export folder structure to text file.
Tree on Windows
"tree.exe" is installed as default and you can run it from command prompt.
d:\GitRepo\github\dockeransible>tree /?
Graphically displays the folder structure of a drive or path.
TREE [drive:][path] [/F] [/A]
/F Display the names of the files in each folder.
/A Use ASCII instead of extended characters.
d:\GitRepo\github\dockeransible>tree d:\gitrepo\github\dockeransible /A /F > tree.txt
d:\GitRepo\github\dockeransible>notepad tree.txt
d:\GitRepo\github\dockeransible>
Output from the command
Folder PATH listing
Volume serial number is D8A7-163B
D:\GITREPO\GITHUB\DOCKERANSIBLE
| README.md
| tree.txt
|
+---2-CreateVM
| CreateVM.yaml
|
+---4-AnsibleDebug
| DisplayClonedVMInfo.yaml
|
+---5-AddIpToDHCP
| AddIpToDHCP.yaml
|
+---7-AccessInventoryVariable
| AccessInventoryVariable.md
|
\---8-RunningRemoteCommand
RunningRemoteCommand.md
Tree on Linux
[root@ns01 exactcalllogservice]# yum install tree
Loaded plugins: fastestmirror
Installing:
tree x86_64 1.6.0-10.el7 base 46 k
...
Complete!
[root@ns01 exactcalllogservice]# tree --help
usage: tree [-acdfghilnpqrstuvxACDFQNSUX] [-H baseHREF] [-T title ] [-L level [-R]]
[-P pattern] [-I pattern] [-o filename] [--version] [--help] [--inodes]
[--device] [--noreport] [--nolinks] [--dirsfirst] [--charset charset]
[--filelimit[=]#] [--si] [--timefmt[=]<f>] [<directory list>]
------- Listing options -------
-a All files are listed.
-d List directories only.
-l Follow symbolic links like directories.
-f Print the full path prefix for each file.
-x Stay on current filesystem only.
-L level Descend only level directories deep.
-R Rerun tree when max dir level reached.
-P pattern List only those files that match the pattern given.
-I pattern Do not list files that match the given pattern.
--noreport Turn off file/directory count at end of tree listing.
--charset X Use charset X for terminal/HTML and indentation line output.
--filelimit # Do not descend dirs with more than # files in them.
--timefmt <f> Print and format time according to the format <f>.
-o filename Output to file instead of stdout.
--du Print directory sizes.
--prune Prune empty directories from the output.
-------- File options ---------
-q Print non-printable characters as '?'.
-N Print non-printable characters as is.
-Q Quote filenames with double quotes.
-p Print the protections for each file.
-u Displays file owner or UID number.
-g Displays file group owner or GID number.
-s Print the size in bytes of each file.
-h Print the size in a more human readable way.
--si Like -h, but use in SI units (powers of 1000).
-D Print the date of last modification or (-c) status change.
-F Appends '/', '=', '*', '@', '|' or '>' as per ls -F.
--inodes Print inode number of each file.
--device Print device ID number to which each file belongs.
------- Sorting options -------
-v Sort files alphanumerically by version.
-r Sort files in reverse alphanumeric order.
-t Sort files by last modification time.
-c Sort files by last status change time.
-U Leave files unsorted.
--dirsfirst List directories before files (-U disables).
------- Graphics options ------
-i Don't print indentation lines.
-A Print ANSI lines graphic indentation lines.
-S Print with ASCII graphics indentation lines.
-n Turn colorization off always (-C overrides).
-C Turn colorization on always.
------- XML/HTML options -------
-X Prints out an XML representation of the tree.
-H baseHREF Prints out HTML format with baseHREF as top directory.
-T string Replace the default HTML title and H1 header with string.
--nolinks Turn off hyperlinks in HTML output.
---- Miscellaneous options ----
--version Print version and exit.
--help Print usage and this help message and exit.
[root@ns01 exactrestlibrary]# tree . -a > tree.txt
Output
.
├── bitbucket-pipelines.yml
├── dependency-reduced-pom.xml
├── exact-rest-properties.xml
├── .git
│ ├── branches
│ ├── COMMIT_EDITMSG
│ ├── config
│ ├── description
│ ├── FETCH_HEAD
│ ├── HEAD
│ ├── hooks
│ │ ├── applypatch-msg.sample
│ │ ├── commit-msg.sample
│ │ ├── post-update.sample
│ │ ├── pre-applypatch.sample
│ │ ├── pre-commit.sample
│ │ ├── prepare-commit-msg.sample
│ │ ├── pre-push.sample
│ │ ├── pre-rebase.sample
│ │ └── update.sample
│ ├── index
│ ├── info
│ │ └── exclude
Tree on Mac
$ brew install tree
==> Downloading https://homebrew.bintray.com/bottles/tree-1.7.0.high_sierra.bott
######################################################################## 100.0%
==> Pouring tree-1.7.0.high_sierra.bottle.1.tar.gz
🍺 /usr/local/Cellar/tree/1.7.0: 8 files, 114.3KB
alexjoh at flcad03048 in ~
The command is the same as Linux.
Summary
By using tree command, you can simply add the tree/folder structure into your blog.
Comments
Post a Comment