Skip to main content

broot — Interactive Tree File Manager for the Terminal

broot is an interactive, full-screen directory explorer for the terminal.

It combines:

  • Tree-style visualization (like tree)
  • Fuzzy search (like fzf)
  • File actions (like a minimal file manager)
  • Shell integration (cd, open editor, delete, move, run commands)

Unlike ls or tree, broot is not just for viewing — it is for navigating and acting.

For WordPress VPS workflows, broot is extremely powerful when managing:

  • /var/www/html
  • wp-content/plugins
  • wp-content/uploads
  • /home/backups
  • /var/log

1. Installation & Setup

broot is not installed by default.

Install (Ubuntu/Debian)

sudo apt install broot

Install (Latest via Cargo)

cargo install --locked broot

Install the br Shell Function (Important)

broot --install

This installs the br shell function.

You should use:

br

instead of:

broot

Why?

Because br allows :cd inside broot to change your shell directory after exit.

Verify Installation

broot --version
command -v br

2. What Makes broot Different

ToolPurpose
----
lsFlat listing
treeStatic hierarchy
rangerFull TUI file manager
brootInteractive filtered tree with actions

Key strengths:

  • Filter-as-you-type search
  • Built-in actions called “verbs”
  • Git-aware (respects .gitignore)
  • Toggle file info instantly
  • Customizable via conf.toml

3. Core Usage Model

Launch

br [PATH]

Example:

br /var/www/html

If no path is given, it starts in the current directory.

Inside broot

1. Filter

Start typing immediately:

wp-config
plugins
error.log

The tree narrows in real time.

2. Use Verbs

Verbs start with :.

Examples:

:cd
:edit
:rm
:mv
:size
:perm

Press ? for help inside broot.

4. Essential Verbs & Toggles

Change Directory (:cd)

Moves your shell into the selected directory.

Works only when launched with br.

Edit File (:edit)

Opens the selected file in $EDITOR.

Example use case:

Edit wp-config.php quickly.

Remove File (:rm)

Deletes the selected file or directory.

Use carefully.

Move File (:mv DEST)

Move selected item.

Example:

:mv 2025/11/

Toggle File Size (:size)

Displays file sizes.

Useful in:

wp-content/uploads

to detect large folders.

Toggle Permissions (:perm)

Shows Unix permission bits.

Useful for WordPress permission audits.

Toggle Hidden Files

Press:

alt+h

Shows .htaccess, .env, hidden files.

Toggle Ignored Files

Press:

alt+i

Shows files normally hidden by .gitignore.

5. Useful Launch Flags

Summarized View (-s)

br -s /var/www/html

Shows condensed overview.

Very useful for large directories.

6. Configuration (conf.toml)

Config file location:

~/.config/broot/conf.toml

Open from inside broot:

:os

Set Default Flags

default_flags = "-ps"

Always show:

  • permissions
  • sizes

Create Custom Verbs

Example: open with Neovim

[[verbs]]
key = "E"
execution = "nvim {file}"

Example: tail logs

[[verbs]]
key = "t"
execution = "tail -n 100 -f {file}"

Example: open with less

[[verbs]]
key = "L"
execution = "less {file}"

7. WordPress VPS Workflows

Inspect WordPress Root

br -s /var/www/html

Quick structural overview.

Jump to Plugin Directory

br /var/www/html/wp-content/plugins

Type plugin name → :cd.

Audit Upload Size

br /var/www/html/wp-content/uploads

Then type:

:size

Permission Audit

br /var/www/html

Then:

:perm

Edit wp-config.php

br /var/www/html

Type wp-config.php:edit.

Inspect Nginx Logs

br /var/log/nginx

Select error.log → custom verb (less or tail).

Clean Old Backups

br /home/backups

Filter year → :rm.

8. Benefits

  • Faster than repeated cd + ls
  • Visual structure without overwhelming output
  • Fuzzy filtering reduces typing
  • Custom actions eliminate repetitive commands
  • Git-aware by default
  • Integrates cleanly with shell

9. Best Practices

  • Always use br, not raw broot.
  • Keep default view minimal for speed.
  • Use toggles only when needed.
  • Define WordPress-specific verbs in config.
  • Be careful with destructive verbs (:rm).

10. Troubleshooting

ProblemCauseFix
---
:cd doesn’t persistUsed broot instead of brRun broot --install
Hidden files missingNot toggledPress alt+h
Ignored files missingGit ignore activePress alt+i
Slow performanceLarge tree expandedUse -s
Custom verb not workingWrong syntaxCheck conf.toml

11. Cheat Sheet

br # Launch broot
br -s # Summarized mode
br /var/www/html # Start at path

# Inside broot:
? # Help
:cd # Change directory
:edit # Open file in editor
:rm # Remove file
:mv dest/ # Move file
:size # Toggle sizes
:perm # Toggle permissions
alt+h # Toggle hidden files
alt+i # Toggle ignored files
:os # Open config

12. Summary

broot is an interactive file navigation and execution tool.

It replaces repetitive patterns like:

cd
ls
cd
ls
grep
cd ..

with:

  • One screen
  • Instant filtering
  • Direct action execution

In WordPress VPS management, it becomes a powerful navigation and audit companion.

Mini Knowledge Check

  1. Why should you use br instead of broot?
  2. Which toggle shows hidden files?
  3. Where are custom verbs defined?
  4. What does -s change?
  5. Which verb shows file sizes?