Last Updated on May 28, 2022
Summary
nnn is an extremely fast and frugal file manager. It employs a variety of optimization techniques to improve performance. To maximize performance, nnn doesn’t adopt a kitchen-sink approach to features, although it’s feature-list is still impressive. And plugins offer a variety of additional functionality.
nnn fully warrants inclusion in our Essential System Tools compilation. Following the release of its latest version, it just pips Midnight Commander to our recommended console-based file manager. If you insist on a GUI interface, Krusader gets our recommendation.
The latest version offers a number of notable improvements including Perl Compatible Regular Expressions (PCRE) support, and some useful keybindings such as F5 keybinding to toggle hidden files, and the reintroduction of e to edit a file in your editor.
Personally I disagree with nnn’s reliance on a terminal multiplexer for multi-pane support. nnn’s design focuses on encompassing multiple utilities wrapped together including file management, file launcher, and disk usage analysis. Given that multi-pane functionality is so useful (at least for me), it seems reasonable for nnn’s design to offer multi-pane support too.
Documentation could be better.
The project hosts a Wiki which provides a lot of useful information, but it’s not complete.
Maybe something you’d want to help with?
As it’s important to learn the keyboard shortcuts, it’s helpful that nnn has some in-program help.
Press ? and get the low-down on the keyboard shortcuts.
Website: github.com/jarun/nnn
Support: Wiki
Developer: Arun Prakash Jana and contributors
License: BSD 2-Clause “Simplified” License
nnn is written in C. Learn C with our recommended free books and free tutorials.
Pages in this article:
Page 1 – Introduction / Installation
Page 2 – In Operation
Page 3 – Disk usage analyzer
Page 4 – Plugins
Page 5 – Memory Usage & Comparison with other console-based file managers
Page 6 – Summary
All the essential tools in this series:
Essential System Tools | |
---|---|
Alacritty | Innovative, hardware-accelerated terminal emulator |
BleachBit | System cleaning software. Quick and easy way to service your computer |
bottom | Graphical process/system monitor for the terminal |
btop++ | Monitor usage and stats for CPU, memory, disks, network and processes |
catfish | Versatile file searching software |
Clonezilla | Partition and disk cloning software |
CPU-X | System profiler with both a GUI and text-based |
Czkawka | Find duplicate files, big files, empty files, similar images, and much more |
ddrescue | Data recovery tool, retrieving data from failing drives as safely as possible |
dust | More intuitive version of du written in Rust |
f3 | Detect and fix counterfeit flash storage |
Fail2ban | Ban hosts that cause multiple authentication errors |
fdupes | Find or delete duplicate files |
Firejail | Restrict the running environment of untrusted applications |
Glances | Cross-platform system monitoring tool written in Python |
GParted | Resize, copy, and move partitions without data |
GreenWithEnvy | NVIDIA graphics card utility |
gtop | System monitoring dashboard |
gWakeOnLAN | Turn machines on through Wake On LAN |
hyperfine | Command-line benchmarking tool |
HyFetch | System information tool written in Python |
inxi | Command-line system information tool that's a time-saver for everyone |
journalctl | Query and display messages from the journal |
kmon | Manage Linux kernel modules with this text-based tool |
Krusader | Advanced, twin-panel (commander-style) file manager |
Nmap | Network security tool that builds a "map" of the network |
nmon | Systems administrator, tuner, and benchmark tool |
nnn | Portable terminal file manager that's amazingly frugal |
pet | Simple command-line snippet manager |
Pingnoo | Graphical representation for traceroute and ping output |
ps_mem | Accurate reporting of software's memory consumption |
SMC | Multi-featured system monitor written in Python |
Timeshift | Reliable system restore tool |
QDirStat | Qt-based directory statistics |
QJournalctl | Graphical User Interface for systemd’s journalctl |
TLP | Must-have tool for anyone running Linux on a notebook |
Unison | Console and graphical file synchronization software |
VeraCrypt | Strong disk encryption software |
Ventoy | Create bootable USB drive for ISO, WIM, IMG, VHD(x), EFI files |
WTF | Personal information dashboard for your terminal |
What optimizations does nnn use? The developer’s website seems unclear on this.
You’ll find the details here: https://github.com/jarun/nnn/wiki/Performance
Thanks, that’s very interesting.