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.
Developer(s) | Steve Baker, DR, Microsoft, IBM, Itautec, Datalight, Toshiba, Dave Dunfield, Asif Bahrainwala |
---|---|
Written in | Unix-like, FreeDOS, ReactOS: C |
Operating system | Unix, Unix-like, MS-DOS, PC DOS, FlexOS, SISNE plus, ROM-DOS, 4690 OS, PTS-DOS, OS/2, eComStation, ArcaOS, Windows, DR DOS, FreeDOS, ReactOS |
Platform | Cross-platform |
Type | Command |
License | Unix, 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
editWith 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
editReferences
edit- ^ 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.
- ^ "Users Guide". archive.org.[dead link ]
- ^ "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.
- ^ "FreeDOS group -- FreeDOS Base". FreeDOS on ibiblio.org.
- ^ "JaTomes Help - OS/2 Commands". Archived from the original on 2019-04-14. Retrieved 2019-07-27.
- ^ "Tree". Microsoft Docs. 3 February 2023.
- ^ "The World of the Technical Support Scam". The State of Security. 2016-11-09. Retrieved 2019-12-29.
- ^ Linux User Commands Manual –
- ^ Wolverton, Van (2003). Running MS-DOS Version 6.22 (20th Anniversary Edition), 6th Revised edition. Microsoft Press. ISBN 0-7356-1812-7.
- ^ DR DOS 6.0 User Guide Optimisation and Configuration Tips
- ^ 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)
- ^ "Datalight ROM-DOS User's Guide" (PDF). www.datalight.com.
- ^ Baker, Steve. "Home - Old Man Programmer". Retrieved 2024-01-26.
- ^ "FreeDOS Package -- Tree (FreeDOS Base)". FreeDOS on ibiblio.org.
- ^ tree.c on GitHub
- ^ "Homebrew - Tree (Formala)". Homebrew. Retrieved 2024-05-14.
Further reading
edit- Cooper, Jim (2001). Special Edition Using MS-DOS 6.22, Third Edition. Que Publishing. ISBN 978-0789725738.
- Kathy Ivens; Brian Proffit (1993). OS/2 Inside & Out. Osborne McGraw-Hill. ISBN 978-0078818714.
- John Paul Mueller (2007). Windows Administration at the Command Line for Windows Vista, Windows 2003, Windows XP, and Windows 2000. John Wiley & Sons. ISBN 978-0470165799.