tree - list contents of directories in a tree-like format.
tree [ -adfgilnpqstuxACDFN ] [ -P pattern ] [ -I pattern ] [ directory ... ]
Tree is a recursive directory listing program that produces a depth indented listing of
files. Color is supported ala dircolors if the LS_COLORS environment variable is set,
output is to a tty, and the -C flag is used. With no arguments, tree lists the files in
the current directory. When directory arguments are given, tree lists all the files
and/or directories found in the given directories each in turn. Upon completion of list-
ing all files/directories found, tree returns the total number of files and/or directories
By default, when a symbolic link is encountered, the path that the symbolic link refers to
is printed after the name of the link in the format:
name -> real-path
If the `-l' option is given and the symbolic link refers to an actual directory, then tree
will follow the path of the symbolic link as if it were a real directory.
Tree understands the following command line switches:
-a All files are printed. By default tree does not print hidden files (those begin-
ning with a dot `.'). In no event does tree print the file system 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, useful when used in conjunction with
the -f option.
-l Follows symbolic links if they point to directories, as if they were directories.
-x Stay on the current file-system only. Ala find -xdev.
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 single charac-
ter), `[...]' (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).
Do not list those files that match the wild-card pattern.
-p Print the protections for each file (as per ls -l).
-s Print the size of each file along with the name.
-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.
-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.
-t Sort the output by last modification time instead of alphabetically.
-n Turn colorization off always, over-ridden by the -C option.
-C Turn colorization on always, unless 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.
/etc/DIR_COLORS System color database.
~/.dircolors Users color database.
LS_COLORS Color information created by dircolors
Steve Baker (firstname.lastname@example.org)
None known. Not heavily tested. Needs a few more options, ala ls.
UNIX Programmer's Manual TREE(1)