8 Best Linux Console File Managers

Linux console file managers can be very helpful in a 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 quickly perform file/folder operations and save us some time.

Read Also: 30 Best GUI and CLI File Managers for Linux

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

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 copy, move, delete, create files and directories you can change permissions and ownership, review archives, use it as 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    [Debian/Ubuntu]
$ sudo yum install mc    [CentOS/RHEL]
$ sudo dnf install mc    [Fedora]

Ranger Console File Manager

Ranger is another top choice when, looking for a console file manager. It has a vim like interface, 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    [Debian/Ubuntu]
$ sudo yum install ranger    [CentOS/RHEL]
$ sudo dnf install ranger    [Fedora]
Ranger - Console File Manager
Ranger – Console File Manager

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 few dependencies such as cp, mv, fzf, xdg-open and others. While it is lightweight, its installation requires few more steps:

Cfiles - Terminal File Manager
Cfiles – Terminal File Manager

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

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

Next, clone the cfiles repository and install it using 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 

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

Vifm Console File Manager

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

Similar to other console file managers, it has two panes, supports auto completion. It also supports various of different views for 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    [Debian/Ubuntu]
$ sudo yum install vifm    [CentOS/RHEL]
$ sudo dnf install vifm    [Fedora]

More detailed review of vifm can be seen at: Vifm command line based file manager for Linux.

Nnn Terminal File Browser

Nnn is the fastest console file manager in our list. While it has less 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 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    [Debian/Ubuntu]
$ sudo yum install nnn    [CentOS/RHEL]
$ sudo dnf install nnn    [Fedora]

More detailed preview of nnn can be found at: Nnn – fast and friendly terminal file browser.

Lfm Last File Manager

Lfm shortened for Last File Manager is a curses based console file manager written in Python 3.4. 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 find command, grep utility, df command and other tools. Customize 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    [Debian/Ubuntu]
$ sudo yum install lfm    [CentOS/RHEL]
$ sudo dnf install lfm    [Fedora]
$ sudo pacman -S lfm      [[Arch Linux]

You can also install lfm using pip command:

$ sudo pip install lfm

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 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.

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 which mimics the features of Far Manager.

WCM Commander
WCM Commander

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


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.

If you liked this article, then do subscribe to email alerts for Linux tutorials. If you have any questions or doubts? do ask for help in the comments section.

If You Appreciate What We Do Here On TecMint, You Should Consider:

TecMint is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit TecMint! to search or browse the thousands of published articles available FREELY to all.

If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.

Support Us

We are thankful for your never ending support.

18 thoughts on “8 Best Linux Console File Managers”

  1. 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.


  2. 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.

  3. 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.

  4. “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?

  5. 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!

  6. 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.

Have a question or suggestion? Please leave a comment to start the discussion. Please keep in mind that all comments are moderated and your email address will NOT be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.