fff – A Simple Fast File Manager for Linux

fff (fast file-manager) is a simple, blazing fast and minimal file manager for Linux, written in bash. It only requires bash and coreutils, and its highly optimized now for efficient performance.

It’s other key features are:

  • It’s super blazing fast
  • Smooth Scrolling (using vim keybindings)
  • Supports LS_COLORS
  • Support common file Operations (copy, paste, rename, cut, etc).
  • Instant as you type search
  • Supports tab completion for all commands
  • Display images with w3m-img!
  • Supports automatic CD on exit.

How to Install fff – Fast File Manager in Linux

To install fff on Linux, first you need to clone the project github repository using following git command.

$ git clone https://github.com/dylanaraps/fff.git

Change working directory to fff and run make install inside the script directory to install the script.

$ cd fff
$ make install

Note: fff can be easily uninstalled using make uninstall command. This removes all of files from your system.

Alternatively, you can copy or move fff script from the local repository to a directory in your $PATH.

$ echo $PATH
$ cd fff
$ cp fff /home/aaronkilik/bin/
Install fff in Linux
Install fff in Linux

To launch fff from the terminal, simply run:

$ fff
$ fff /home/aaronkilik/bin
Start fff - File Manager in Linux
Start fff – File Manager in Linux

You can use the following keybindings:

j: scroll down
k: scroll up
h: go to parent dir
l: go to child dir

enter: go to child dir
backspace: go to parent dir

-: Go to previous dir.

g: go to top
G: go to bottom

:: go to a directory by typing.

.: toggle hidden files
/: search
t: go to trash
~: go to home
!: open shell in current dir

x: view file/dir attributes
i: display image with w3m-img

down:  scroll down
up:    scroll up
left:  go to parent dir
right: go to child dir

f: new file
n: new dir
r: rename

y: mark copy
m: mark move
d: mark trash (~/.local/share/fff/trash/)
s: mark symbolic link
b: mark bulk rename

Y: mark all for copy
M: mark all for move
D: mark all for trash (~/.local/share/fff/trash/)
S: mark all for symbolic link
B: mark all for bulk rename

p: paste/move/delete/bulk_rename
c: clear file selections

[1-9]: favourites/bookmarks (see customization)

q: exit with 'cd' (if enabled).
Ctrl+C: exit without 'cd'.

You can find more customization options in fff’s Github repository: https://github.com/dylanaraps/fff.

fff (fast file-manager) is simple, blazing fast and minimal file manager written in bash. In this article, we showed how to setup fff in Linux. Use the feedback form below to reach us for any questions or comments.

Aaron Kili
Aaron Kili is a Linux and F.O.S.S enthusiast, an upcoming Linux SysAdmin, web developer, and currently a content creator for TecMint who loves working with computers and strongly believes in sharing knowledge.

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
  1. I don’t think it’s about transferring files but rather the wait you have to endure when changing directory or starting the application. Ranger and nnn is the same. Everything is instantaneous which is really nice when you just need to find, move or rename a file.

    Actually, just the fact that it uses vim-keys is enough to make it pretty fast since there is no need to move your hand to the mouse and moving the mouse to go up or down a level.

    If you use this for a month and go back to thunar or something like that, I promise you that it’ll feel like the slowest process in the world.

  2. When, if ever, it is added to the Debian Package Repository, I will take a look at it.

    The key bindings are a little strange. g = top?, G = bottom? How about, t = top, b = bottom ??? etc…

    • “How about, t = top, b = bottom ??? etc…”

      Because that would be logical. And it would go against the *nix practice/philosophy of esoteric and arcane options and commands. :-)

    • Most of these keybindings are Vim-keys. Vim is almost as old as time and there is a lot of history behind these keybindings. Besides, b and t are already used in Vim for other stuff, so using them for top/bottom does not make more sense than their current binding :)

      You might not agree or think this is practical. However, a _lot_ of people like the vim-keys and therefore they are also used across a bunch of different applications in Linux. Like.. you know Qutebrowser, Ncmpcpp, calcurse, newsboat, ranger, emacs evil-mode, i3-wm and so on and so on and so on.

      Seriously, most of the time when I start using a new application, I start pressing hjkl because most likely this will give the expected effect and often it does.

      • “Vim is almost as old as time and there is a lot of history behind these keybindings.”
        IOW, if it was good enough for GrandPa, it should be good enough for me? :-)

        It is interesting that on one hand users complain when their distro does not have the most up to date apps but on the other, they hold on for dear life to archaic and byzantine apps such as vim.

        • Wow.. I don’t even know what to say :D The reason the keybindings has not changed much is because they work. Or put in other words: There is no better way to use a keyboard. If you think you can improve of something that has stayed since the 60’s and is still used everywhere, then please, sir. Even imgur uses hjkl. There is a reason it sticks.

      • @Christian: “Qutebrowser, Ncmpcpp, calcurse, newsboat, ranger, emacs evil-mode, i3-wm”

        Interesting that you mention these apps. I NEVER have used any of these, nor do I use vi/vim. I do use emacs, but am not that thrilled with the key bindings. Many times I have thought about creating a remap of the emacs key bindings to make them more logical and easier to remember and use!

        Just because several obscure apps use old, outdated bindings does not mean that policy should be continued. IMHO, we should create a recommended set of Standard Key Bindings for new Linux app development, and as an alternative set of bindings for older apps.

        • I’ve been using vim for about 2yrs and the keybindings are very very logical and work great. Many complain about the emacs-keybindings which I also found very hard and unlogical, but it might be a case of what is learned first. I can _only_ ask you to invest some time in learning the vimkeys :) emacs evil-mode is a 99% implementation of the vimkeys in emacs. I’ve seen quite a lot of users who end up using emacs but they all use evil-mode since the vimkeys make more sense.

          “Just because several obscure apps use old, outdated bindings does not mean that policy should be continued.”

          Please ask yourself why they have not changed much :) It’s no accident the way they are configured. The people behind these keybindings did not just bash their head against the keyboard and accepted the result. They used a lot of time to find the most optimal way and that’s why it hasn’t changed and that’s why they are still included in new old AND new apps.

          These “obscure” apps are also wildly used and they have stayed strong for many many years and there is a reason for that too.

  3. Speed, speed, speed. What is this obsession with speed? No amount of super-fast applications and hardware will come anywhere close to making up for the time wasted staring at the ceiling, endlessly checking email and/or posting on social networks.

    The amount of time saved by fff over other file managers is imperceptible to human senses. These fractions of a second are meaningful only on a drag racing strip. So what if fff fetches a file in 0.01 of a second and another file manager does it in 0.1 second?

    While fff is 10 times as fast, even if you opened a 1,000 files, you would only save a whopping 10 seconds. Big, Fat, Hairy, Deal! You can start your next task a whole 10 seconds sooner. WOW! If you saved 10 seconds every day for a year, at the end that would be almost 61 minutes. You could have an extra lunch or dinner.

    • I use the Mate desktop, Caja works fine, the default manager is usually the best. Remember dial up days, yes everything out there is more than fast enough today


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.