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.

tree
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
PlatformCross-platform
TypeCommand
LicenseUnix, Unix-like, FreeDOS, ReactOS: GPLv2

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]

Overview

edit

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]

Example

edit
$ tree path/to/folder/
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

References

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. ^ "Users Guide". archive.org.{{cite web}}: CS1 maint: url-status (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 ibiblio.org.
  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). www.datalight.com.
  13. ^ Baker, Steve. "Home - Old Man Programmer". Retrieved 2024-01-26.
  14. ^ "FreeDOS Package -- Tree (FreeDOS Base)". FreeDOS on ibiblio.org.
  15. ^ tree.c on GitHub
  16. ^ "Homebrew - Tree (Formala)". Homebrew. Retrieved 2024-05-14.

Further reading

edit
edit