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.
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|
|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|
|Neofetch||System information tool written in Bash|
|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.