tree (command)

From Wikipedia, the free encyclopedia
Developer(s)Steve Baker, DR, Microsoft, IBM, Itautec, Datalight, Toshiba, Dave Dunfield, Asif Bahrainwala
Written inUnix-like, FreeDOS, ReactOS: C
Operating systemUnix, Unix-like, MS-DOS, PC DOS, FlexOS, SISNE plus, ROM-DOS, 4690 OS, PTS-DOS, OS/2, eComStation, ArcaOS, Windows, DR DOS, FreeDOS, ReactOS
LicenseUnix, Unix-like, FreeDOS, ReactOS: GPLv2

In computing, tree is a recursive directory listing command or program that produces a depth-indented listing of files. Originating in PC- and MS-DOS, it is found in Digital Research FlexOS,[1] IBM/Toshiba 4690 OS,[2] PTS-DOS,[3] FreeDOS,[4] IBM OS/2,[5] Microsoft Windows,[6] and ReactOS. A version for Unix and Unix-like systems is also available.

The tree command is frequently used as part of a technical support scam, where the command is used to occupy the command prompt screen, while the scammer, pretending to be technical support, types additional text that is supposed to look like output of the command.[7]


With no arguments, tree lists the files in the current directory. When directory arguments are given, tree lists all the files or directories found in the given directories each in turn. Upon completion of listing all files and directories found, tree returns the total number of files and directories listed. There are options to change the characters used in the output, and to use color output.[8]

The command is available in MS-DOS versions 3.2 and later and IBM PC DOS releases 2 and later.[9] Digital Research DR DOS 6.0,[10] Itautec SISNE plus,[11] and Datalight ROM-DOS[12] include an implementation of the tree command.

The Tree Command for Linux was developed by Steve Baker.[13] The FreeDOS version was developed by Dave Dunfield[14] and the ReactOS version was developed by Asif Bahrainwala.[15] All three implementations are licensed under the GNU General Public License.

The Tree command is also available in macOS as a formula installed via the command line Homebrew package manager.[16]


$ tree path/to/folder/
├── a-first.html
├── b-second.html
├── subfolder
│   ├── readme.html
│   ├── code.cpp
│   └── code.h
└── z-last-file.html

1 directories, 6 files

See also[edit]


  1. ^ FlexOS User's Guide (PDF) (Version 1.3 ed.). Digital Research. November 1986. 1073-2003-001. Archived from the original (PDF) on 2019-09-25. Retrieved 2018-09-16.
  2. ^ [dead link]
  3. ^ "PTS-DOS 2000 Pro User Manual" (PDF). Buggingen, Germany: Paragon Technology GmbH. 1999. Archived (PDF) from the original on 2018-05-12. Retrieved 2018-05-12.
  4. ^ "FreeDOS group -- FreeDOS Base". FreeDOS on
  5. ^ "JaTomes Help - OS/2 Commands". Archived from the original on 2019-04-14. Retrieved 2019-07-27.
  6. ^ "Tree". Microsoft Docs. 3 February 2023.
  7. ^ "The World of the Technical Support Scam". The State of Security. 2016-11-09. Retrieved 2019-12-29.
  8. ^ tree(1) – Linux User Commands Manual
  9. ^ Wolverton, Van (2003). Running MS-DOS Version 6.22 (20th Anniversary Edition), 6th Revised edition. Microsoft Press. ISBN 0-7356-1812-7.
  10. ^ DR DOS 6.0 User Guide Optimisation and Configuration Tips
  11. ^ Itautec (2015-05-14). "SISNE plus - Referência Sumária" [SISNE plus - Quick Reference Manual]. Datassette (in Portuguese). COD 23987-01-4. Archived from the original on 2019-09-28. Retrieved 2020-01-12. [1] (86 pages)
  12. ^ "Datalight ROM-DOS User's Guide" (PDF).
  13. ^ Baker, Steve. "Home - Old Man Programmer". Retrieved 2024-01-26.
  14. ^ "FreeDOS Package -- Tree (FreeDOS Base)". FreeDOS on
  15. ^ tree.c on GitHub
  16. ^ "Homebrew - Tree (Formala)". Homebrew. Retrieved 2024-05-14.

Further reading[edit]

External links[edit]