10 Best Linux Console File Managers

Linux console file managers can be very helpful in day-to-day tasks, when managing files on a local machine, or when connected to a remote one. The visual console representation of the directory helps us quickly perform file/folder operations and saves us some time.

In this article, we are going to review some of the most frequently used Linux console file managers and their features and benefits.

1. GNU Midnight Commander

Midnight Command, often referred to simply as mc and is one of the top file managers discussed in this article. Mc comes with all kinds of useful features, aside from copying, moving, deleting, and creating files and directories you can change permissions and ownership, review archives, use it as an FTP client, and many more.

Gnu Midnight Commander
Gnu Midnight Commander

You can find our full review of the Midnight Commander a console-based file manager.

To install Midnight Commander you can use the following commands:

$ sudo apt install mc         [On Debian, Ubuntu and Mint]
$ sudo yum install mc         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/mc  [On Gentoo Linux]
$ sudo apk add mc             [On Alpine Linux]
$ sudo pacman -S mc           [On Arch Linux]
$ sudo zypper install mc      [On OpenSUSE] 

2. Ranger Console File Manager

Ranger is another top choice when looking for a console file manager. It has a vim-like interface, a preview of the selected file or directory, bookmarks mouse support, and tabbed view.

You can find our full review here: Ranger – a nice console file manager with vi key bindings.

To install Ranger you can use the following commands:

$ sudo apt install ranger         [On Debian, Ubuntu and Mint]
$ sudo yum install ranger         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/ranger  [On Gentoo Linux]
$ sudo apk add ranger             [On Alpine Linux]
$ sudo pacman -S ranger           [On Arch Linux]
$ sudo zypper install ranger      [On OpenSUSE] 
Ranger - Console File Manager
Ranger – Console File Manager

3. Cfiles Fast Terminal File Manager

Cfiles is a fast terminal file manager written in C and uses ncurses, similar to ranger, it also uses vi keybindings. It has a few dependencies such as cp, mv, fzf, xdg-open, and others. While it is lightweight, its installation requires a few more steps:

Cfiles - Terminal File Manager
Cfiles – Terminal File Manager

To install cfiles, first, you need to install development tools using the following commands:

$ sudo apt-get install build-essential          [On Debian/Ubuntu]
$ sudo yum groupinstall 'Development Tools'	[on CentOS/RHEL]

Next, clone the cfiles repository and install it using the following commands.

$ git clone https://github.com/mananapr/cfiles.git
$ cd cfiles
$ gcc cf.c -lncurses -o cf
$ sudo cp cf /usr/bin/            #Or copy somewhere else in your $PATH 

A more detailed review of cfiles can be found here: Cfiles a terminal file manager for Linux.

4. Vifm Console File Manager

Vifm is another command line-based file manager, which uses a curses interface. This one however copies some features from mutter. If you are a Vim user, you won’t need to learn a new set of commands to work with vifm. It uses the same keybindings and also has the ability to edit several kinds of files.

Similar to other console file managers, it has two panes and supports auto-completion. It also supports various of different views for the comparison of file trees. You can also execute remote commands with it.

Vifm - Console File Manager
Vifm – Console File Manager

To install Vifm you can use the following commands:

$ sudo apt install vifm         [On Debian, Ubuntu and Mint]
$ sudo yum install vifm         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/vifm  [On Gentoo Linux]
$ sudo apk add vifm             [On Alpine Linux]
$ sudo pacman -S vifm           [On Arch Linux]
$ sudo zypper install vifm      [On OpenSUSE]

A more detailed review of vifm can be seen at Vifm command line-based file manager for Linux.

5. Nnn Terminal File Browser

Nnn is the fastest console file manager in our list. While it has fewer features compared to other file managers, it is extremely lightweight and it is closest to a desktop file manager on what you can get on the console. The interaction is simple and allows new users to easily get used to the terminal.

Nnn - Terminal File Browser
Nnn – Terminal File Browser

To install nnn, you can use the following command:

$ sudo apt install nnn         [On Debian, Ubuntu and Mint]
$ sudo yum install nnn         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/nnn  [On Gentoo Linux]
$ sudo apk add nnn             [On Alpine Linux]
$ sudo pacman -S nnn           [On Arch Linux]
$ sudo zypper install nnn      [On OpenSUSE]

A more detailed preview of nnn can be found at Nnn – a fast and friendly terminal file browser.

6. Lfm Last File Manager

Lfm shortened for Last File Manager is a curses-based console file manager written in Python. It can be used with 1 or 2 panes. It has some useful features such as filters, bookmarks, history, VFS for compressed files, tree view, and direct integration with the find command, grep utility, df command, and other tools. Customized themes are also available.

Lfm - Last File Manager
Lfm – Last File Manager

To install Lfm, you can use the following command:

$ sudo apt install lfm         [On Debian, Ubuntu and Mint]
$ sudo yum install lfm         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/lfm  [On Gentoo Linux]
$ sudo apk add lfm            [On Alpine Linux]
$ sudo pacman -S lfm           [On Arch Linux]
$ sudo zypper install lfm      [On OpenSUSE] 

You can also install lfm using the pip command:

$ sudo pip install lfm

7. lf – List Files

Lf – “List files” is a command line file manager written in Go, inspired by Ranger. Originally it was meant to fill the gaps of missing features that the ranger had.

lf - List Files
lf – List Files

Some of the main features of lf are:

  • It’s cross-platform – Linux, OSX, Windows (only partial).
  • Single binary without any runtime dependencies.
  • Low memory footprint.
  • Configuration with shell commands.
  • Customizable keybindings.

Future plans include the activation of mouse control.

To install lf simply download the binary-related build for your OS from the lf releases page.

8. WCM Commander

The last in our list is WCM command which is another cross-platform console file manager. The authors of the WCM commander meant to create a cross-platform file manager that mimics the features of Far Manager.

WCM Commander
WCM Commander

It has a built-in terminal, text editor and viewer, syntax highlighting, virtual filesystem, and a very fast user interface. Mouse support is also enabled. The package for each OS can be found on the WCM download page.

9. Walk Terminal File Manager

Walk is a terminal-based navigator that serves as an alternative to the traditional ls and cd commands, It allows for quick navigation using fuzzy searching, cd integration is quite simple, and you can open Vim directly from the walk.

Walk Terminal File Manager
Walk Terminal File Manager

10. Superfile – Terminal-based File Manager

Superfile is a modern and stylish terminal-based file manager designed for efficient navigation and organization of files for developers and system administrators.

Its simple yet powerful interface allows users to browse, copy, move, and edit files directly from the command line. Superfile offers a range of convenient features, including customizable key bindings, tabbed browsing, multiple panels, and support for various file operations.

Whether you’re managing local files or remote servers, superfile’s efficiency and flexibility make it an ideal choice for anyone seeking a reliable and efficient file management solution.

Superfile - Terminal-Based File Manager
Superfile – Terminal-Based File Manager

This was our short presentation on some of the top Linux console file managers. If you think we have missed one or like some of them more, please share your thoughts in the comment section.

Hey TecMint readers,

Exciting news! Every month, our top blog commenters will have the chance to win fantastic rewards, like free Linux eBooks such as RHCE, RHCSA, LFCS, Learn Linux, and Awk, each worth $20!

Learn more about the contest and stand a chance to win by sharing your thoughts below!

Marin Todorov
I am a bachelor in computer science and a Linux Foundation Certified System Administrator. Currently working as a Senior Technical support in the hosting industry. In my free time I like testing new software and inline skating.

Each tutorial at TecMint is created by a team of experienced Linux system administrators so that it meets our high-quality standards.

Join the TecMint Weekly Newsletter (More Than 156,129 Linux Enthusiasts Have Subscribed)
Was this article helpful? Please add a comment or buy me a coffee to show your appreciation.


Leave a Reply
    • @Anton,

      Thank you for pointing that out! ‘Walk‘ is indeed a noteworthy terminal file manager. We’ll consider adding it to the list in our next update.

      Your feedback is appreciated!

  1. I just brew’d ranger into osx and it seems helpful, thanks!

    I know if I want to shell in remotely and not fiddle with the inadequacies in vnc/etc from a slower connection that this is pretty great. Haters gonna h8. :D

  2. Hi,

    CLI file managers or using mostly terminal doesn’t mean to go back in time. I can just “gh” to go to my home directory in LF and using FZF with C-f to quickly jump to a file or directory. I can do all of these in milliseconds. You can’t compare this speed with mouse clicks and try to get the right name to click on the screen.

    By the way, the article has to be updated because nnn and lf got serious updates.


  3. I have been using Double Commander on Ubuntu but it does not have vim key bindings and I am limited in how much I can customize it.

    So now I am experimenting with Ranger and, maybe, I will try something else from the list.

    I would not mind using only GUI applications but, for Linux, Double Commander seemed to be the best option and, as I just mentioned, I am outgrowing it.

    I assume this also depends on what things do you find important. If you are a novice Linux user, probably you should not bother with these things. But for me, organizing my notes and files is a key thing.

    So when you reach your limits with your current tools you might want something which serves you better and which you can shape onto your needs. Perhaps a good metaphor would be cooking your own food instead of having a ready-made meal. If you are fine with the latter, great. But if you have special needs or you want to optimize your nutrition intake you might want to cook yourself or buy in some personalized diet service. You can imagine similar examples in medicine, clothing, manufacturing, mental health, education, etc.

    In each case, when you personalize, you need to go near to the core functionality to measure and modify things there. With food, this would mean looking at the individual ingredients, where they came from, how they were produced, etc. In writing, coding, or file management, the core is on the level of text. If we would be talking about image editing, of course, this would not apply that much as we would emphasize more on the GUI. Still, it would be relevant even there because of a second reason.

    This second reason is that even in the case of an image editor we are still talking about software. Software is literally “written” as text so when you want to change or alter or personalize it, you will be able to do it better on the next level. Most of the time, you will have sooner a working text-only version than a text-and-gui version (and perhaps never a gui-only version).

    Finally, most of the people who use Linux are sysadmins, DevOps, programmers, and such. For them, file management is an everyday tool that they use in relatively advanced ways so they are better off with customization possibilities. They also can script, so they actually can make use of the customizations that CLI tools offer. So for them, this is more natural.

    In my specific case, using applications with non-vim bindings is actually painful (and I learned to use Vim less than a year ago). Also, Ranger is written in Python and can accept custom scripts as extensions. I might also be able to connect it with VIM and other tools through bash scripts. To be honest, I would not want to customize my tools because I am actually not that experienced with bash and vim, so I would be happier if they would just work as I please. But they do not, and I want to try to improve them.

    Actually, I have read this reddit post where people are scoffing at Ranger because they find it bloated and prefer to work on CLI: https://www.reddit.com/r/vim/comments/3haml4/which_file_manager_do_you_folks_use/. Well, I am not that brave, but maybe you could just skip the file managers and go straight to the real thing. ;-)

    Maybe in the future, you will be able to buy personalized text editors and file managers or you will be able to interact with the computer only via voice. But today you cannot do that and probably neither you will in the near future. And even when you will, but when you will want to go further with your specifications, you will still need to look into the code.

    Now I can try to be really futuristic and imagine scenarios in which software is not written by typing text (but by machines to whom you can speak to) or that file and note management stops to be a thing entirely but, at least for now, we do not seem to be there yet. :)

    So, this is why.

  4. There is also one cross-platform alternative called cdir, which is designed to be a faster alternative to cd and dir/ls commands.

    It can be simply installed with:

    # pip install cdir

    and supports bash, Powershell, and command prompt.

  5. “That said, regardless of whether or not you have to, there are plenty of reasons why you might *want* to.”

    So far, no one has answered my question or why I might want to use a CLI File Manager. Everyone, including you, offers a nebulous “there’s plenty of reasons” but nobody will name a specific one. And please do not tell me about black and white photographs, silent movies or Bash as they are irrelevant to the discussion of a CLI File Manager. Bash has more capabilities than a GUI. What specific capabilities does a CLI File Manger offer that a GUI File manager does not?

  6. I can think of a reason why! All of these CLI file managers would work GREAT on Windows Subsystem for Linux, which doesn’t support x-windows!

  7. In the entire article there isn’t one word about WHY I might want use a console file manager rather than a GUI file manager,

    The concept of “best” is relative and based on personal opinions. What I is “best” in my opinion, others might think of as garbage. Bill Gates considers Windows the best O/S in existence. Others have a different opinion.

    It is interesting that Linux proponents always insist that Linux can be used perfectly well without ever resorting to the command line but then continue to write articles about CLI, sending mixed messages to Linux novices. Which is it? Can you or can you not use Linux with GUI only?

    • Hello,

      Console file managers are mostly used when you don’t have graphical ones. A simple scenarios is when you are sshed to remote server and want to make some file changes.

      The concept for best is indeed relative. What is meant here is that those are performing better and have more features, compared to other such software in the same category.

      As for Linux being used wtihout cli – yes that is absolutely achievable. You can use distros such as Ubuntu, Linux Mint, Debian with GUI only. There are others as well that you can use without the need of cli. However the reason people are always writing about cli is that you can do much more over command line compared to graphical interface. When using a Linux distro is not necessary to always use the command line, but it definitely can improve your productivity. It’s a matter of personal choice.

      • A sensible comment, but using a cli file manager instead of a GUI one, no matter the better features or increased productivity, is similar of going back from color tv to b&w tv. I downloaded and installed one of your recommendations, it was like going back to the era of DOS.

        I don’t want to go back in time, only forward, I am waiting for the time I can have a normal oral conversation with a computer and do all my input by voice.

      • Great article! And WCM Commander is really a pleasant surprise! Thanks!

        P.S. Please don’t waste your time answering silly comments from silly persons. Really?? “[I] installed one of your recommendations, it was like going back to the era of DOS. I don’t want to go back in time, only forward”??

        Sheer foolishness :-/

        • Along with CLI File Manager, do you use machine language to write programs to control various aspects of your computers? Why don’t you join the 20th century and upgrade to the new marvel of a language called Assembler.

    • “In the entire article there isn’t one word about WHY I might want use a console file manager rather than a GUI file manager”

      No need. You should know if you need one or not.

      “It is interesting that Linux proponents always insist that Linux can be used perfectly well without ever resorting to the command line but then continue to write articles about CLI, sending mixed messages to Linux novices. Which is it?”
      What’s your point? That every Linux user is a novice? No mixed messages in this article. Stop making a fool of yourself.

      • With your attitude, you are the perfect proof of Microsoft’s FUD that Linux is only for the members of a techie priesthood privy to the secrets of command language.

    • If the shows I want to watch are in black and white, I am not going to forgo watching them just because of that. Hell, I frequently go a lot further back in time and read books! The content is more important than how many colors can be seen on the screen I am watching. If you want to use Linux without the CLI, that is perfectly fine. You can do so. You can also watch some bad color TV if you like. Just don’t force me to give up my really good book so I can go watch those color TV shows with you.

      Also, I take issue with the notion that the CLI is old or outdated. Lots of professional photographers still take black and white pictures, and I remember a silent movie winning the Oscar a few years ago. New and exciting still happens in supposedly dated scenarios.

      I am a big fan of the CLI: It is a programming language which is built into the operating system itself, so I can use it to get my computer to do pretty much ANYTHING. For instance, If I want to tell my computer “please wait exactly 3 hours, then copy these files over here, compress this folder and email it to this address, all without interrupting me while I am on a date with a pretty girl” I can do so on the fly. CLI looks old, but looks can be deceiving. You say you look forward to the day you can just talk to your computer . . . If you learn its language, you can pretty much can do exactly that right now. The CLI is difficult to use, which is the reason why it is completely optional. That said, regardless of whether or not you have to, there are plenty of reasons why you might *want* to.


Got Something to Say? Join the Discussion...

Thank you for taking the time to share your thoughts with us. We appreciate your decision to leave a comment and value your contribution to the discussion. It's important to note that we moderate all comments in accordance with our comment policy to ensure a respectful and constructive conversation.

Rest assured that your email address will remain private and will not be published or shared with anyone. We prioritize the privacy and security of our users.