Look, I get it. You live in cd and ls. You’ve got your ls -la muscle memory so deeply ingrained you do it in your sleep. But sometimes, you need to actually get something done. You need to find a file buried in a labyrinth of directories, rename a batch of photos, or just see what’s chewing up all your disk space. For that, you need a proper file manager. Not the clunky GUI thing that came with your desktop environment, but a terminal-based one that respects your need for speed and doesn’t make you reach for the mouse.

Let’s talk about the three heavyweights: the venerable Midnight Commander, the Vim-inspired ranger, and the minimalist speed demon nnn. They all share a common goal—keeping your fingers on the keyboard—but they approach it in wildly different ways.

The Old Guard: Midnight Commander (mc)

Midnight Commander is the granddad. It’s been around since the 90s, and it shows—in both good and bad ways. It’s a clone of Norton Commander, and if that name means nothing to you, congratulations, you’re young. The interface is a classic two-panel layout. You’re never more than an F10 away from a menu, and it has a certain nostalgic charm.

Its biggest strength is that it’s incredibly feature-complete. Built-in file viewer? Check (F3). Built-in editor? Check (F4). FTP/SFTP? Check. It even has a semi-graphical umask calculator, because why not? It tries to be everything for everyone.

# Install it. It's probably in your repos.
sudo apt install mc        # Debian/Ubuntu
sudo dnf install mc        # Fedora
brew install mc            # macOS

# Run it. You'll be greeted by two blue panels.
mc

The key thing to understand about mc is that it’s largely self-contained. You don’t exit mc to run a command; you use its built-in tools or its “shell” hotkey (Ctrl-o), which suspends the interface and drops you into your actual shell until you type exit. It’s a paradigm shift, and it can feel a bit claustrophobic if you’re used to a more integrated workflow. It’s the Swiss Army knife you keep in a drawer—incredibly useful for specific tasks, but maybe not your everyday carry.

The Vim User’s Best Friend: ranger

If mc is a Swiss Army knife, ranger is a scalpel. It’s a console file manager with VI keybindings, and it makes no apologies for it. The first time you run it, you might panic because nothing seems to happen when you press a key. That’s because you’re in normal mode, just like Vim. j and k to move, l to enter a directory, h to go back. It becomes second nature frighteningly fast.

Its genius is its preview pane. As you navigate, it shows you a preview of the selected file—the contents of a text file, the properties of an image, even a tiny thumbnail if your terminal supports it. This is a massive workflow upgrade. No more cat file just to see what it is.

# Install the Python-powered wonder
sudo apt install ranger    # Debian/Ubuntu
sudo dnf install ranger    # Fedora
brew install ranger        # macOS

# Run it and feel like a 31337 hacker.
ranger

But here’s the catch, and it’s a big one: ranger doesn’t actually move or delete your files. It’s a visual shell. When you hit dd to “delete” a file, ranger just adds rm -f /your/file to your shell’s command line and executes it. This is brilliant because it means you can see exactly what it’s doing and leverage your shell’s history. The downside? If you rm something, it’s gone. ranger won’t hold your hand with a trash can. It assumes you know what you’re doing. It’s configurable to an insane degree with Python, but the out-of-the-box experience is already top-tier.

The Pure Speed of nnn

Then there’s nnn. If ranger is a scalpel, nnn is a laser beam. It’s written in C, so it starts instantly and navigates directories containing tens of thousands of files without a hint of lag. Its entire design philosophy is “get out of your way.” It’s brutally minimal.

You navigate with the arrow keys or, even faster, with the hjkl keys it borrows (but doesn’t fully embrace like ranger). Its magic is in its “contexts” and plugins. You can press ; to bring up a list of plugins to, for example, show a file’s mediainfo, upload it to a service, or find the biggest files in a directory. It’s not trying to be a self-contained environment like mc; it’s a launcher for your own tools.

# Install the speed demon
sudo apt install nnn       # Debian/Ubuntu
sudo dnf install nnn      # Fedora
brew install nnn          # macOS

# Run it. It's so fast you'll blink and miss the startup.
nnn

The learning curve is the navigation logic. Press l or Enter on a file to… well, it depends. It’ll try to “launch” it with whatever your $VISUAL or $PAGER is. Want to just select it? That’s right, you use the spacebar. This feels backwards coming from every other manager, but you get used to it. Its biggest power is that it gets you to the file you need with minimal keystrokes and then gets out of your way so you can use your actual tools on it.

So which one should you use? mc if you want a full-featured, menu-driven environment. ranger if you live in Vim and want previews and deep customization. nnn if you value raw speed above all else and just need a way to quickly hop around before getting back to your shell. Install all three. Spend an afternoon in each. Your fingers will tell you which one is right.