Skip Navigation

What's the point of terminal file managers (mc, ranger, nnn, etc)?

Who are these for? People who use the terminal but don't like running shell commands?

OK sorry for throwing shade. If you use one of these, honestly, what features do you use that make it worthwhile?

81 comments
  • I use dired in Emacs.

    I assume you mean "why use these instead of file-manipulation commands in bash?"

    I use both.

    There are a handful of tasks that are easier in dired than bash.

    • Making small modifications to filenames that aren't amenable to programmatic changes. You can just toggle the read-only flag on a dired buffer, edit the filenames, and then hit C-c C-c when done.
    • Marking a set of files to perform an operation on where that set cannot trivially be expressed using tools in bash. Think, oh, "which movies do I like enough to want to keep around". This is especially handy when moving a number of files to another directory, which I think is why people often like the two-pane approach of orthodox file managers. Dired is not an OFM, but it can act like that if you have two dired windows open, using the other as the default target for the operation.
    • Dealing with filenames containing obnoxious-to-type characters like weird Unicode stuff. If I want to delete the one file in a directory whose name consists of a bunch of kanji, it's easier to just manually select it in a list.
    • Navigating where I usually want to see the contents of each directory. I'll often navigate around in dired while building up up an emms playlist. Browsing a list of movies to play.

    EDIT: It's also not really a file manager, but I do use ncdu to see what's taking up space on a disk. I'll also use du -h|sort -h|less, but ncdu is, like file managers, more convenient when just browsing around the tree and looking at each as one does so, while manually selecting a few items to operate on (deleting).

    EDIT2: I'll also add that virtually all of the people I know in person who love OFMs -- I'm in the US -- are from Eastern Europe, moved to the US from Russia, Ukraine, Romania, etc. I dunno why that is. Maybe just spreading along language lines. Maybe there are or were issues with switching between Cyrillic and Latin character stuff akin to my above irritation with kanji. But someone from Eastern Europe might have more input to answer your question.

    EDIT3: The link I provided above for OFMs has a very long discussion from the author on why he likes OFMs (though not all terminal file managers are OFMs, many, like Midnight Commander, are). Reading it, I'd say that there's a lot of overlap with how Emacs works with dired+TRAMP+eshell and some other Emacs packages, though they accomplish similar goals in a different way -- sort of making integrated functionality that spans network file transfer, file management, text editing, file archive access, console commands, with a common toolset available for all. Would be quicker to learn an OFM than Emacs, though Emacs is gonna provide a considerably-larger set of functionality if you're willing to spend the time on it.

    EDIT4: There are also a number of OFMs in Emacs, like Sunrise Commander, so I guess I shouldn't really treat it as an either-or matter.

  • With some people, it's just easier and faster to navigate a filesystem structure if you can just see it all laid out in front of you visually instead of "cd-ing" and "ls-ing" every directory you traverse just to see what's in it and having to "pwd" and remember where you are. Some of us didn't do too well at the memory game as kids.

  • Most systems I interface with are remote or headless. Forwarding X is annoying as fuck and to be avoided at all cost, so the more I can do though the terminal, the better.

    PS: I'm also old enough to have been a regular user of Norton Commander, the application MC (Midnight Commander) is based on (inspired by).

    EDIT: Norton Commander was a DOS app and so useful that it prompted Midnight Commander, one of the earliest applications developed for Linux. So MC kind of pre-dates Linux in a way.

  • Sometimes it helps to have a visual aide for what you're doing. CLI/TUI apps are often faster, or when accessing remotely, lower bandwidth.

    Also, let people enjoy thing.

  • Nostalgia for those 80s and 90s kids who grew up with norton commander ;-)

  • People who can use them effectively tend to be a way faster with the regular admin work. Also, they can do some things which are not that simple on the command line (browse through tarball, browse through remote directories).

  • As a Linux newb, it's easier than opening a SFTP session next to the terminal as I'm learning the file structure so it's either that or cd then ls for every damn folder because I don't know where I am or what's in this folder vs that. Ranger has been nice for me as I learn.

  • In the good old DOS days I used Norton Commander, when I need to look through the directory structure on a server it's easier with Midnight Commander.

  • Way back when DOSLinux existed the dev provided a Midnight Commander with a fully loaded F2 menu as well as setup associations. Could literally do almost anything and everything from within the file manager. I later moved the configs over to Slackware and pretty much lived in MC to get things done. At some point the MC code reduced the number of entries in the F2 menu so I would have to rebuild it to remove the limitation.

    No longer use it like that today but MC is used constantly for file management locally and remotely (mostly to a Kodi box).

    Using OFMs (Norton/Volkov/Midnight Commanders and FAR) has always been easier and faster to use than Explorer-style GUI FMs for me.

  • The keybinds you can set up in e.g Ranger for navigating or moving files are incredibly fast and easy. Sure you could just use shell commands/aliases etc. but the visual representation of the file system that a TUI provides, I find really useful.

  • I like them better than repetitive or complicated CLI commands, but I just never remember to install or use them when I'm doing a bunch of stuff on a server.

81 comments