Automic VaultAutomic Vault

brew

Install tree with Homebrew, apk, chocolatey, apt, dnf, MacPorts, Nix, pacman, zypper

Display directories as trees (with optional color/HTML output). Version 2.3.2 via Homebrew; verified from local package data.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install tree

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install tree

MacPorts ports tree · sysutils/tree/Portfile · source: api.github.com

Linux

Alpine Linux apkverified · 92%
sudo apk add tree

Alpine Linux edge package indexes · tree · source: dl-cdn.alpinelinux.org

Debian aptverified · 92%
sudo apt install tree

Debian stable package indexes · tree · source: deb.debian.org

Fedora dnfverified · 92%
sudo dnf install tree

Fedora Rawhide package metadata · tree · source: dl.fedoraproject.org

Nixverified · 92%
nix profile install nixpkgs#tree

nixpkgs package indexes · pkgs/by-name/tr/tree/package.nix · source: api.github.com

Arch Linux pacmanverified · 92%
sudo pacman -S tree

Arch Linux sync databases · tree · source: geo.mirror.pkgbuild.com

openSUSE zypperverified · 92%
sudo zypper install tree

openSUSE Tumbleweed package metadata · tree · source: download.opensuse.org

overview

Package summary

Display directories as trees (with optional color/HTML output)

Commands and aliases

  • tree

history

Project history and usage

tree is the classic Unix-style command that prints directory contents as an indented tree, with options for color, filtering, metadata, and machine-readable output.

Project history

Steve Baker's README describes tree as a handy utility he had written earlier to display a directory tree and later released after adding color support. The man page identifies the program as copyright 1996-2026 and describes it as listing directory contents in a tree-like format.

The command grew by accretion in the Unix tradition. Early releases added filtering, modification-time sorting, ownership display, dircolors support, ANSI line drawing, HTML output, output redirection, depth limits, recursive HTML generation, portability fixes, and symlink handling.

Later releases made tree more useful for scripts and modern repositories: XML output, JSON output, UTF-8 handling, file-size sorting, gitignore support, NO_COLOR support, hyperlink output, from-file modes, ACL/SELinux display, and extensive portability fixes across Linux, macOS, Solaris, Cygwin, OS/2, HP NonStop, and other systems.

Adoption history

tree became one of those small commands many users expect even though it is not part of every base system. Its broad package-manager presence reflects that: Homebrew, Debian, Ubuntu, Fedora, Arch, Alpine, MacPorts, Nix, Chocolatey, and others package a compatible `tree` executable.

Its adoption is driven less by a framework ecosystem than by muscle memory: README examples, dotfile screenshots, CI diagnostics, support tickets, and filesystem explanations often become easier once a directory hierarchy can be pasted as text.

How it is used

Common use is simply `tree` or `tree DIR`, with options such as `-L` for depth, `-a` for hidden files, `-d` for directories only, `-I` or `-P` for filtering, `-J` for JSON, `-X` for XML, and `-H` for HTML.

In package-nerd culture, tree is both a diagnostic tool and a packaging sanity check: after install, after build, or inside a fixture, it gives a compact visual proof of what files landed where.

Why package nerds care

tree is significant because it turns filesystem shape into a stable text artifact. That makes it unusually useful in package recipes, bug reports, documentation, and tests where `find` is correct but hard to read.

Timeline

  • 1996: Man page copyright range begins, matching the early public life of the Unix tree utility.
  • 1997: version 1.2 adds date sorting, ignore patterns, name display controls, ownership output, and fuller dircolors support.
  • 1999: version 1.3 adds HTML output, output redirection, depth limits, portability work, and symlink fixes.
  • 2004: version 1.5.0 adds locale/UTF-8 work, OS/2 support, charset options, and switches license text to GPLv2.
  • 2014: version 1.7.0 adds JSON output and more sorting and matching options.
  • 2021: version 2.0.0 adds gitignore support and refactors output handling.
  • 2026: version 2.3.2 continues portability and output fixes.

Related projects

  • tree overlaps with `find`, `ls`, `du`, and `git status --ignored`, but optimizes for readable hierarchy output rather than exhaustive query language.
  • Its HTML, XML, and JSON modes made it useful beyond interactive terminal browsing.

security posture

Risk level: green

doc example: narrow filesystem listing tool.

Risk classifier

green risk · high confidence · appliance

Why

  • doc example: narrow filesystem listing tool

Signals

  • override:tree

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
treecliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-08
manager version2.3.2
manager updated
local dataok
upstreamcurrent
latest detected2.3.2

https://github.com/Old-Man-Programmer/tree

  • infoNo package-manager update timestamp was available.low confidence

install metadata

Package metadata

Package keybrew:tree
Version2.3.2
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/tree
Homepagehttps://oldmanprogrammer.net/source.php?dir=projects/tree
Repositoryhttps://github.com/Old-Man-Programmer/tree
Upstream docshttps://github.com/Old-Man-Programmer/tree#readme
LicenseGPL-2.0-or-later
Source archivehttps://github.com/Old-Man-Programmer/tree/archive/refs/tags/2.3.2.tar.gz
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Nametree
Version Scheme0
Revision0
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Debian apt95%

tree 2.2.1-1

displays an indented directory tree, in color

http://oldmanprogrammer.net/source.php?dir=projects/tree

sudo apt install tree
  • Section: utils
  • Architecture: amd64
  • 1 dependencies
  • normalized package name match
  • Matched by: Tree
Debian stable package indexes · deb.debian.org · Debian stable package indexes: tree from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Nix95%

tree

nix profile install nixpkgs#tree
  • normalized package name match
  • Matched by: Tree
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/tr/tree/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
Ubuntu apt95%

tree 2.1.1-2ubuntu3

displays an indented directory tree, in color

http://oldmanprogrammer.net/source.php?dir=projects/tree

sudo apt install tree
  • Section: universe/utils
  • Architecture: amd64
  • 1 dependencies
  • normalized package name match
  • Matched by: Tree
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: tree from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
apk95%

tree 2.3.2-r0

Recursive directory indented listing of files

https://oldmanprogrammer.net/source.php?dir=projects/tree

sudo apk add tree
  • License: GPL-2.0-or-later
  • Architecture: x86_64
  • Source Package: tree
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Tree
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: tree from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz
apk95%

tree-doc 2.3.2-r0

Recursive directory indented listing of files (documentation)

https://oldmanprogrammer.net/source.php?dir=projects/tree

sudo apk add tree-doc
  • License: GPL-2.0-or-later
  • Architecture: x86_64
  • Source Package: tree
  • normalized package name match
  • Matched by: Tree
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: tree-doc from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz
dnf95%

tree 2.3.1-1.fc45

File system tree viewer

https://oldmanprogrammer.net/source.php?dir=projects/tree

sudo dnf install tree
  • License: GPL-2.0-or-later AND LGPL-2.1-or-later
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: tree-pkg
  • 2 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Tree
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: tree from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
pacman95%

tree 2.3.2-1

A directory listing program displaying a depth indented list of files

https://gitlab.com/OldManProgrammer/unix-tree

sudo pacman -S tree
  • License: GPL-2.0-or-later
  • Architecture: x86_64
  • 1 dependencies
  • normalized package name match
  • Matched by: Tree
Arch Linux sync databases · geo.mirror.pkgbuild.com · Arch Linux sync databases: tree from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz
zypper95%

tree 2.3.2-1.1

File listing as a tree

https://oldmanprogrammer.net/tar/tree/

sudo zypper install tree
  • License: GPL-2.0-or-later
  • Category: Productivity/File utilities
  • Architecture: x86_64
  • Source Package: tree
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Tree
openSUSE Tumbleweed package metadata · download.opensuse.org · openSUSE Tumbleweed package metadata: tree from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst
MacPorts95%

tree

sudo port install tree
  • normalized package name match
  • Matched by: Tree
MacPorts ports tree · api.github.com · MacPorts ports tree: sysutils/tree/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
Chocolatey95%

tree

choco install tree
  • normalized package name match
  • Matched by: Tree
Chocolatey community package catalog · community.chocolatey.org · Chocolatey community package catalog: tree from http://community.chocolatey.org/api/v2/Packages?$filter=IsLatestVersion&$select=Id&$top=1000&$skiptoken='11','timberwinr'

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment