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?
It's really annoying navigating a filesystem in the shell.
Either you remember exactly where a file is located, have a reference, or you're going to be doing a lot of "ls, cd, ls, cd".
That's not necessarily true. There are programs/plugins like
scd
inzshell
which make your life easier. https://github.com/ohmyzsh/ohmyzsh/blob/master/plugins/scd/README.md
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.
They are faster and more efficient for most basic file operations.
for example, when you need to copy some files and not the other, you can take your time selecting the specific files you need to copy instead of writing the list of files in one command. When you want to check the contents of a lot of files, you can just open file preview. Etc, basically sometimes CLI isn't as convenient as TUI/GUI
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
thenls
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.I use it more or less to browse my multimedia files. Ranger knows if it's a pdf or a mkv file, so I don't have to do anything but hit enter. When watching a series, I hit Q in mpv, down arrow and enter to play the next episode instead of writing mpv tab tab enter. It's also got pretty nice tools for mass renaming, deletion, and probably a lot more that I didn't bother learning. But if I want to get a specific file, say a config file, then I just open it normally with an editor from the terminal instead of going from /home to / to /etc
I used
mc
many yeas ago until I learned CLI utils well enough to use them efficiently. I think, it is the main point: you get a tool that does not require a lot of time to start using it. But in most usage scenarios TUI FMs are less effective than CLI.I tend to write scripts for anything more than a one liner. It takes time up front, but I have so many now they become their own one liners
I am not sure there is any killer feature that you cannot do in a cli application. It is just a different way of working. Slightly better at some things slightly worst at others. But the biggest difference is what you are used to more then and single feature set.
Though I don't personally use them, I also use a shell with a lot more interactive features built in then default bash does. If I where stuck with only default bash maybe I would lean more towards them. But that is just the way I work, others work differently then ai do.
I use ranger to navigate around and view large source trees. I like its miller columns like Finder.
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.
As someone who uses nnn (occasionally lf) all the time, terminal file managers make navigation (especially bookmarking) easier.
Think Nemo's my default file manager but with GUI file managers I find it hard to switch contexts. I always used to have two splits open with Nemo but if I need to open a new context I'd have to open another instance of Nemo and then I gotta switch between the instances now.
Now, nnn gives me 4 contexts, which can be easily switched between using 1-4. I've added zoxide within nnn to pretty much jump to any directory within my system. This isn't really possible with a GUI file manager. Guess you can add integration to other tools as well to the list of pros of a terminal file manager.
File preview needs a mention as well. It's easier when you can quickly glance a file and move on instead of opening it.