[…] I think I had been looking for something like this for a long time, and had never put it in words. I used [other file-managers] occasionally, but frequently just found myself doing most of my file administration from the CLI. I think this hits a nice sort of sweet spot right between the two. It feels less like a separate program and more like just putting your shell into "file-management mode".
Halfway between a shell and a TUI file-manager […] Nice tool, fluid, intuitive.
Music: "Quad Machine", by Sonic Mayhem
Why another file manager? I can.
In the free world, a free community finds alternatives central to freedom, and moreover, a place to learn.
Whatever needs to be done, do it in the simplest possible way: KISS is a desired trait of a file-manager for the terminal. No GUI, no curses, but just a command-line, shell-like file manager: 5 MiB RAM and 500 KiB disk space.
Willingness to try something different is all you need.
Unlike most terminal file-managers out there, CliFM replaces the traditional curses interface by a simple command-line interface. It is a file-manager, but also a shell extension.
Search for files, copy, rename, and trash some of them, but, at the same time, update/upgrade your system, add some cronjob, stop a service, and run nano (or vi, or emacs, if you like).
Those familiar with the command-line will find in a file-manager based on it a desirable addition to its functionality.
The command-line is still there, never hidden.
Features beyond copy, move, remove, etc:
- Really CLI-based. No GUI nor TUI or curses at all, just a command-line. Since no GUI is needed, it can run on the kernel built-in console and even on a SSH or any other remote session.
- Memory footprint below 5 MiB and a disk usage of 500 KiB. Incredibly lightweight and fast even on really old hardware.
- The use of short (and even one-character) commands, and list numbers (ELN's) for filenames.
- Bookmarks.
- Files selection (supports both glob and regular expressions and works even across multiple instances of the program).
- Lira, a built-in resource opener (supports regular expressions and is able to discern between GUI and non-GUI environments).
- Files search (supports both glob and regular expressions).
- A built-in Freedesktop-compliant trash system.
- Extended color codes for file-types and -extensions.
- Files counter for directories and symlinks to directories.
- Directory history map to keep in sight previous, current, and next entries in the directory history list.
- Plugins.
- Files preview (via BFG, a native file previewer, but including support for Ranger's scope.sh and pistol as well).
- Stealth mode: Leave no trace on the host system. No file is read, no file is written.
- Kangaroo, a built-in directory jumper function similar to autojump, z.lua, and zoxide.
- Batch links.
- Icons support 😏.
- Unicode suppport.
- Tab-completion.
- Bash-like quoting system.
- History function.
- Shell commands execution.
- Glob and regular expressions (including inverse matching).
- Aliases.
- Logs.
- Prompt and profile commands (run commands with each new prompt or at program startup).
- Bash-like prompt customization.
- Sequential and conditional commands execution .
- User profiles.
- Customizable keyboard shortcuts.
- Mas, a built-in pager for files listing.
- 11 sorting methods.
- Bulk renaming.
- Archiving and compression support (including Zstandard and ISO 9660).
- Auto-cd and auto-open.
- Symlinks editor.
- Disk usage.
- CD on quit and file picker functions.
- Read and list files form standard input.
- Files filter.
- Up to eight workspaces.
- Fused parameters for ELN's.
- Advanced Copy support (just
cp
andmv
with a nice progress bar). - Light mode (just in case it is not fast enough for you).
- Color schemes.
- Four customizable keybindings for custom plugins.
- Fastback function.
- Git integration.
For a detailed explanation of each of these features, follow the corresponding links or consult the wiki.
Consult the installation page.
The help
command teaches you about CliFM.
Once in the CliFM prompt, type help
or ?
.
To jump into the COMMANDS section in the manpage, simply enter cmd
or press F2.
Press F1 to access the full manpage and F3 to access the keybindings help-page.
You can also take a look at some of these basic usage-examples to get you started.
CliFM is C99 and POSIX-1.2008 compliant (if compiled with the _BE_POSIX
flag).
It works on Linux and FreeBSD, on x86 and ARM architectures.
This project is licensed GPL version 2 (or later).
See the LICENSE file for details.
Yes. Please see our contribution guidelines for details.
at Hosted Weblate.
Join our Gitter discussion room and let us know what you think: ideas, comments, observations and questions are always welcome.
The Discussions section of this repo is also open to input.