Provided by: tree_2.1.1-2ubuntu3_amd64 bug

NAME

       tree - list contents of directories in a tree-like format.

SYNOPSIS

       tree [-acdfghilnpqrstuvxACDFJQNSUX] [-L level [-R]] [-H baseHREF] [-T title] [-o filename]
       [-P pattern] [-I pattern]  [--gitignore]  [--gitfile[=]file]  [--matchdirs]  [--metafirst]
       [--ignore-case]  [--nolinks]  [--hintro[=]file]  [--houtro[=]file]  [--inodes]  [--device]
       [--sort[=]name] [--dirsfirst]  [--filesfirst]  [--filelimit  #]  [--si]  [--du]  [--prune]
       [--charset[=]X]  [--timefmt[=]format]  [--fromfile]  [--fromtabfile]  [--fflinks] [--info]
       [--infofile[=]file] [--noreport] [--version] [--help] [--] [directory ...]

DESCRIPTION

       Tree is a recursive directory listing program that produces a depth  indented  listing  of
       files,  which  is colorized ala dircolors if the LS_COLORS environment variable is set and
       output is to tty.  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 listing all  files/directories  found,
       tree returns the total number of files and/or directories listed.

       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.

OPTIONS

       Tree understands the following command line switches:

LISTING OPTIONS

       -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 system  constructs
              `.' (current directory) and `..' (previous directory).

       -d     List directories only.

       -l     Follows  symbolic  links if they point to directories, as if they were directories.
              Symbolic links that will result in recursion are avoided when detected.

       -f     Prints the full path prefix for each file.

       -x     Stay on the current file-system only.  Ala find -xdev.

       -L level
              Max display depth of the directory tree.

       -R     Recursively cross down the tree each level directories (see -L option), and at each
              level outputting to a file named 00Tree.html (ala -o).

       -P pattern
              List  only  those files that match the wild-card pattern.  You may have multiple -P
              options. 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 zero or more characters as well as null /'s, i.e.  /**/  may
              match a single /), `?' (any single 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. A '/' at the end of the pattern matches  directories,  but  not
              files.

       -I pattern
              Do not list those files that match the wild-card pattern.  You may have multiple -I
              options.  See -P above for information on wildcard patterns.

       --gitignore
              Uses  git  .gitignore  files  for  filtering  files  and  directories.   Also  uses
              $GIT_DIR/info/exclude if present.

       --gitfile[=]file
              Use file explicitly as a gitignore file.

       --ignore-case
              If a match pattern is specified by the -P or -I option, this will cause the pattern
              to match without regard to the case of each letter.

       --matchdirs
              If a match pattern is specified by the -P option, this will cause the pattern to be
              applied  to directory names (in addition to filenames).  In the event of a match on
              the directory name, matching is disabled  for  the  directory's  contents.  If  the
              --prune option is used, empty folders that match the pattern will not be pruned.

       --metafirst
              Print  the meta-data information at the beginning of the line rather than after the
              indentation lines.

       --prune
              Makes tree prune empty directories from the output, useful when used in conjunction
              with -P or -I.  See BUGS AND NOTES below for more information on this option.

       --info Prints  file  comments  found  in  .info  files.   See  .INFO  FILES below for more
              information on the format of .info files.

       --infofile[=]file
              Use file explicitly as a info file.

       --noreport
              Omits printing of the file and directory report at the end of the tree listing.

       --charset[=]charset
              Set the character set to use when outputting HTML and for line drawing.

       --filelimit[=]#
              Do not descend directories that contain more than # entries.

       --timefmt[=]format
              Prints (implies -D) and formats the date according to the format string which  uses
              the strftime(3) syntax.

       -o filename
              Send output to filename.

FILE OPTIONS

       -q     Print  non-printable  characters  in  filenames  as  question  marks instead of the
              default.

       -N     Print non-printable characters as is instead of as escaped octal numbers.

       -Q     Quote the names of files in double quotes.

       -p     Print the file type and permissions for each file (as per ls -l).

       -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.

       -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), terabytes (T), petabytes
              (P) and exabytes (E).

       --si   Like -h but use SI units (powers of 1000) instead.

       --du   For each directory report its size as the accumulation of sizes of  all  its  files
              and  sub-directories  (and their files, and so on).  The total amount of used space
              is also given in the final report (like the 'du -c' command.) This option  requires
              tree  to  read  the  entire  directory  tree before emitting it, see BUGS AND NOTES
              below.  Implies -s.

       -D     Print the date of the last modification time or if -c  is  used,  the  last  status
              change time for the file listed.

       -F     Append a `/' for directories, a `=' for socket files, a `*' for executable files, a
              `>' for doors (Solaris) and a `|' for FIFO's, as per ls -F

       --inodes
              Prints the inode number of the file or directory

       --device
              Prints the device number to which the file or directory belongs

SORTING OPTIONS

       -v     Sort the output by version.

       -t     Sort the output by last modification time instead of alphabetically.

       -c     Sort the output by last status change instead of alphabetically.  Modifies  the  -D
              option (if used) to print the last status change instead of modification time.

       -U     Do not sort.  Lists files in directory order. Disables --dirsfirst.

       -r     Sort  the output in reverse order.  This is a meta-sort that alter the above sorts.
              This option is disabled when -U is used.

       --dirsfirst
              List directories before files. This is a meta-sort that  alters  the  above  sorts.
              This option is disabled when -U is used.

       --filesfirst
              List  files  before  directories.  This is a meta-sort that alters the above sorts.
              This option is disabled when -U is used.

       --sort[=]type
              Sort the output by type instead of name. Possible values  are:  ctime  (-c),  mtime
              (-t), size, or version (-v).

GRAPHICS OPTIONS

       -i     Makes  tree  not  print the indentation lines, useful when used in conjunction with
              the -f option.  Also removes as much whitespace as possible when used with  the  -J
              or -X options.

       -A     Turn on ANSI line graphics hack when printing the indentation lines.

       -S     Turn  on  CP437  line  graphics  (useful when using Linux console mode fonts). This
              option is now equivalent to `--charset=IBM437' and may eventually be depreciated.

       -n     Turn colorization off always, over-ridden  by  the  -C  option,  however  overrides
              CLICOLOR_FORCE if present.

       -C     Turn  colorization  on  always,  using  built-in color defaults if the LS_COLORS or
              TREE_COLORS environment variables are not set.  Useful  to  colorize  output  to  a
              pipe.

XML/JSON/HTML OPTIONS

       -X     Turn on XML output. Outputs the directory tree as an XML formatted file.

       -J     Turn on JSON output. Outputs the directory tree as a JSON formatted array.

       -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.organization.domain/pub'        (baseHREF         should         be
              `ftp://hostname.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  CSS style-sheet, use the -C option in addition to this option to force
              color output.

       --hintro[=]file
              Use file as the HTML intro in place of the default  one.   Use  an  empty  file  or
              /dev/null to eliminate the intro altogether.

       --houtro[=]file
              Use  file  as  the  HTML  outro  in place of the default one.  Use an empty file or
              /dev/null to eliminate the outro altogether.

       -T title
              Sets the title and H1 header string in HTML output mode.

       --nolinks
              Turns off hyperlinks in HTML output.

INPUT OPTIONS

       --fromfile
              Reads a directory listing from a file rather than the file-system.  Paths  provided
              on  the command line are files to read from rather than directories to search.  The
              dot (.) directory indicates that tree should read paths from standard input.  NOTE:
              this  is  only suitable for reading the output of a program such as find, not 'tree
              -fi' as symlinks are not distinguished from files that simply contain  '  ->  '  as
              part of the filename unless the --fflinks option is used.

       --fromtabfile
              Like  --fromfile,  tree reads a directory tree from a text file where the files are
              tab indented in a tree like format to indicate the directory nesting level.

       --fflinks
              Processes symbolic link information found in a file, as from the  output  of  'tree
              -fi  --noreport'.  Only the first occurrence of the string ' -> ' is used to denote
              the separation of the filename from the link.

MISC OPTIONS

       --help Outputs a verbose usage listing.

       --version
              Outputs the version of tree.

       --     Option processing terminator.  No further options will be processed after this.

.INFO FILES

       .info files are similar to .gitignore files, if a .info file is  found  while  scanning  a
       directory  it  is read and added to a stack of .info information. Each file is composed of
       comments (lines starting with hash marks (#),) or wild-card patterns  which  may  match  a
       file  relative  to  the  directory  the  .info file is found in.  If a file should match a
       pattern, the tab indented comment that follows the pattern is used as the file comment.  A
       comment  is  terminated by a non-tab indented line. Multiple patterns, each to a line, may
       share the same comment.

FILES

       /etc/DIR_COLORS          System color database.
       ~/.dircolors             Users color database.
       .gitignore               Git exclusion file
       $GIT_DIR/info/exclude    Global git file exclusion list
       .info                    File comment file
       /usr/share/finfo/global_info  Global file comment file

ENVIRONMENT

       LS_COLORS      Color information created by dircolors
       TREE_COLORS    Uses this for color information over LS_COLORS if it is set.
       TREE_CHARSET   Character set for tree to use in HTML mode.
       CLICOLOR       Enables colorization even if TREE_COLORS or LS_COLORS is not set.
       CLICOLOR_FORCE Always enables colorization (effectively -C)
       NO_COLOR       Disable colorization (effectively -n) (see https://no-color.org/)
       LC_CTYPE       Locale for filename output.
       LC_TIME        Locale for timefmt output, see strftime(3).
       TZ             Timezone for timefmt output, see strftime(3).
       STDDATA_FD     Enable the stddata feature, optionally set descriptor to use.

AUTHOR

       Steve Baker (ice@mama.indstate.edu)
       HTML output hacked by Francesc Rocher (rocher@econ.udg.es)
       Charsets and OS/2 support by Kyosuke Tokoro (NBG01720@nifty.ne.jp)

BUGS AND NOTES

       Tree does not prune "empty" directories when the -P and -I options are  used  by  default.
       Use the --prune option.

       The  -h  and  --si options round to the nearest whole number unlike the ls implementations
       which rounds up always.

       Pruning files and directories with the  -I,  -P  and  --filelimit  options  will  lead  to
       incorrect file/directory count reports.

       The  --prune  and  --du  options cause tree to accumulate the entire tree in memory before
       emitting it. For large directory trees this can cause a significant delay  in  output  and
       the use of large amounts of memory.

       The timefmt expansion buffer is limited to a ridiculously large 255 characters.  Output of
       time strings longer than this will be undefined, but are  guaranteed  to  not  exceed  255
       characters.

       XML/JSON trees are not colored, which is a bit of a shame.

       Probably more.

       As  of  version  2.0.0, in Linux, tree will attempt to automatically output a compact JSON
       tree on file descriptor 3 (what I call stddata,) if present and the  environment  variable
       STDDATA_FD is defined or set to a positive non-zero file descriptor value to use to output
       on.  It is hoped that some day a better  Linux/Unix  shell  may  take  advantage  of  this
       feature, though BSON would probably be a better format for this.

SEE ALSO

       dircolors(1), ls(1), find(1), du(1), strftime(3) gitignore(5)