Terminal file managers are tool you can use in command line. They are the equivalent of tools like Nautilus (gnome), Explorer (Windows)…
They allow you to manage your files. They all include navigation among folders feature, almost include things such as copy/move/delete, some are allowing you to preview/view file content.
On 2024, a terminal file manager look like this
https://github.com/sxyazi/yazi/assets/17523360/92ff23fa-0cd5-4f04-b387-894c12265cc7
Ranger
Perl, very old
ranger 1.9.3
ranger is a console file manager with VI key bindings. It provides a
minimalistic and nice curses interface with a view on the directory hierarchy
It ships with rifle
, a file launcher that is good at automatically finding
out which program to use for what file type.
For mc
aficionados there's also the multi-pane viewmode.
This file describes ranger and how to get it to run. For instructions on the
usage, please read the man page (man ranger
in a terminal). See HACKING.md
for development-specific information.
For configuration, check the files in ranger/config/
or copy the
default config to ~/.config/ranger
with ranger --copy-config
(see instructions).
The examples/
directory contains several scripts and plugins that demonstrate how
ranger can be extended or combined with other programs. These files can be
found in the git repository or in /usr/share/doc/ranger
.
A note to packagers: Versions meant for…
Support preview of images by installing a few more tools
Lf
Written in go
LF
Google Groups | Doc | Wiki | #lf (on Libera.Chat) | #lf:matrix.org (with IRC bridge)
lf
(as in "list files") is a terminal file manager written in Go with a heavy inspiration from ranger file manager
See faq for more information and tutorial for a gentle introduction with screencasts.
Features
- Cross-platform (Linux, macOS, BSDs, Windows)
- Single binary without any runtime dependencies
- Fast startup and low memory footprint due to native code and static binaries
- Asynchronous IO operations to avoid UI locking
- Server/client architecture and remote commands to manage multiple instances
- Extendable and configurable with shell commands
- Customizable keybindings (vi and readline defaults)
- A reasonable set of other features (see the documentation)
Non-Features
- Tabs or windows (better handled by window manager or terminal multiplexer)
- Builtin pager/editor (better handled by your pager/editor of choice)
- Builtin commands for file operations (better handled by the underlying shell tools including but not limited…
Walk
Written in Go
🥾 walk
Walk — a terminal navigator.
Why another terminal navigator? I wanted something simple and minimalistic
Something to help me with faster navigation in the filesystem; a cd
and ls
replacement. So I build walk. It allows for quick navigation with fuzzy
searching, cd
integration is quite simple. And you can open vim
right from
the walk. That's it.
Install
brew install walk
pkg_add walk
go install github.com/antonmedv/walk@latest
Or download prebuild binaries.
Put the next function into the .bashrc or a similar config:
Bash/Zsh | Fish | PowerShell |
---|---|---|
function lk {
cd "$(walk "$@")"
}
|
function lk
set loc (walk $argv); and cd $loc;
end
|
function lk() {
cd $(walk $args)
}
|
Now use lk
command to start walking.
Preview mode
Press Space
to toggle preview mode.
Delete file or directory
Press dd
to delete file or directory…
Easily switch from one folder to another
nnn, aka n^3
Can be used with (neo)vim
[Features] [Quickstart] [Plugins] [Wiki]
nnn
(n³) is a full-featured terminal file manager. It's tiny, nearly 0-config and incredibly fast.
It is designed to be unobtrusive with smart workflows to match the trains of thought.
nnn
can analyze disk usage, batch rename, launch apps and pick files. The plugin repository has tons of plugins to extend the capabilities further e.g. live previews, (un)mount disks, find & list, file/dir diff, upload files. A patch framework hosts sizable user-submitted patches which are subjective in nature.
Independent (neo)vim plugins - nnn.vim, vim-floaterm nnn wrapper and nnn.nvim (neovim exclusive).
Runs on the Pi, Termux (Android), Linux, macOS, BSD, Haiku, Cygwin, WSL, across DEs or a strictly CLI env.
Features
- Quality
- Privacy-aware (no unconfirmed user data collection)
- POSIX-compliant, follows Linux kernel coding style
- Highly optimized, static…
Yazi
Written in Rust, preview is available out of the box.
Yazi - ⚡️ Blazing Fast Terminal File Manager
Yazi (means "duck") is a terminal file manager written in Rust, based on non-blocking async I/O. It aims to provide an efficient, user-friendly, and customizable file management experience.
💡 A new article explaining its internal workings: Why is Yazi Fast?
- 🚀 Full Asynchronous Support: All I/O operations are asynchronous, CPU tasks are spread across multiple threads, making the most of available resources.
- 💪 Powerful Async Task Scheduling and Management: Provides real-time progress updates, task cancellation, and internal task priority assignment.
- 🖼️ Built-in Support for Multiple Image Protocols: Also integrated with Überzug++ and Chafa, covering almost all terminals.
- 🌟 Built-in Code Highlighting and Image Decoding: Combined with the pre-loading mechanism, greatly accelerates image and normal file loading.
- 🔌 Concurrent Plugin System: UI plugins (rewriting most of the UI), functional plugins, custom previewer/preloader/fetcher; Just some pieces of Lua.
- 📡…
Top comments (7)
I've tried using terminal file managers a few times and they rarely have a use case for me. I prefer to explicitly move, copy and rename manually from the command line - it means I have a history of what I did and I can script things.
I do use GUI file managers though, so I'm not sure where the cut-off point of usefulness/trickiness lies for me. Something about the mouse, maybe.
With TUI file managers, there's a learning curve, including expectations and side-effects. Does "D" delete or make a directory? If I forget, do I need to restore from backups? If I want to change the permissions on all the files with ".sh" as an extension, how easy is that? As soon as I find a single thing that's easier to accomplish by dropping to a shell prompt anyway, I abandon the TUI.
I agree with you. My ideas was not to promote everyone should use a terminal file managers.
It's more about talking such a thing exists.I was surprised by the quality of yazi tool I just discovered. So, I tought I could make an article.
As with any other tools, the best tool is the one you know, the one you are used to use.
Sometimes, it's good to face new things to check if there is nothing new that could solve an issue, or something we dislike with previous tool.
I've gone ahead and installed yazi and it's surprisingly simple compared to the TUI file managers I've used in the past. I might end up using it, even if just for the simple image previews.
I'm happy my article helped you to try something new
To this, already very useful list, I would like to suggest two additions, both TUI's :
Midnight Commander (for *nix platforms)
ZTreeWin (for Windows-family platforms)
My favorite for now is yazi, it suits my need.
Midnight Commander Is excellent. Otherwise, I enjoy File Browser in a Docker image.