System Administration

Excellent System Tools: nnn – portable terminal file manager

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.

nnn - keyboard shortcuts
Click for full size image

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
AlacrittyInnovative, hardware-accelerated terminal emulator
BleachBitSystem cleaning software. Quick and easy way to service your computer
bottomGraphical process/system monitor for the terminal
btop++Monitor usage and stats for CPU, memory, disks, network and processes
catfishVersatile file searching software
ClonezillaPartition and disk cloning software
CPU-XSystem profiler with both a GUI and text-based
CzkawkaFind duplicate files, big files, empty files, similar images, and much more
ddrescueData recovery tool, retrieving data from failing drives as safely as possible
dustMore intuitive version of du written in Rust
f3Detect and fix counterfeit flash storage
Fail2banBan hosts that cause multiple authentication errors
fdupesFind or delete duplicate files
FirejailRestrict the running environment of untrusted applications
GlancesCross-platform system monitoring tool written in Python
GPartedResize, copy, and move partitions without data
GreenWithEnvyNVIDIA graphics card utility
gtopSystem monitoring dashboard
gWakeOnLANTurn machines on through Wake On LAN
hyperfineCommand-line benchmarking tool
HyFetchSystem information tool written in Python
inxiCommand-line system information tool that's a time-saver for everyone
journalctlQuery and display messages from the journal
kmonManage Linux kernel modules with this text-based tool
KrusaderAdvanced, twin-panel (commander-style) file manager
NmapNetwork security tool that builds a "map" of the network
nmonSystems administrator, tuner, and benchmark tool
nnnPortable terminal file manager that's amazingly frugal
petSimple command-line snippet manager
PingnooGraphical representation for traceroute and ping output
ps_memAccurate reporting of software's memory consumption
SMCMulti-featured system monitor written in Python
TimeshiftReliable system restore tool
QDirStatQt-based directory statistics
QJournalctlGraphical User Interface for systemd’s journalctl
TLPMust-have tool for anyone running Linux on a notebook
UnisonConsole and graphical file synchronization software
VeraCryptStrong disk encryption software
VentoyCreate bootable USB drive for ISO, WIM, IMG, VHD(x), EFI files
WTFPersonal information dashboard for your terminal
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Please read our Comment FAQ before posting a comment.

3 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Bear
Bear
4 years ago

What optimizations does nnn use? The developer’s website seems unclear on this.

kodekat
kodekat
4 years ago
Reply to  Bear

You’ll find the details here: https://github.com/jarun/nnn/wiki/Performance

Bear
Bear
4 years ago
Reply to  kodekat

Thanks, that’s very interesting.