tree
TLDR
Display directory tree
SYNOPSIS
tree [options] [directory...]
DESCRIPTION
tree displays the contents of directories in a tree-like format, showing the hierarchical relationship between files and subdirectories visually.
The default output uses ASCII or Unicode box-drawing characters to represent the tree structure. Colorization helps distinguish file types (directories, executables, symlinks, etc.).
Various output formats are supported for integration with other tools: JSON (-J) for programmatic parsing, XML (-X) for structured data, and HTML (-H) for web display.
Filtering with -I (exclude) and -P (include) uses shell glob patterns, supporting wildcards like \* and ?.
PARAMETERS
-a
Show all files including hidden-d
List directories only-L level
Limit depth to level-f
Print full path prefix-s
Print size of each file-h
Print sizes in human-readable format-D
Print last modification date-p
Print file permissions-u
Print username-g
Print group name-I pattern
Exclude files matching pattern-P pattern
List only files matching pattern--dirsfirst
List directories before files-C
Colorize output-n
Turn off colorization-H baseHREF
Output HTML with base URL-J
Output JSON-X
Output XML
CAVEATS
Large directories can produce overwhelming output. Use -L to limit depth or -d for directories only when exploring unfamiliar structures.
Tree follows symbolic links by default unless they would cause infinite loops. Use -l to follow all symlinks unconditionally.
The output is optimized for display width. Very long filenames may be truncated depending on terminal width.


