lf
Terminal file manager
lf is a fast, minimal terminal file manager written in Go that lets you browse and manage files entirely from the keyboard, with no GUI required. It starts instantly and uses very little memory.
lf, short for "list files", is a terminal file manager. Instead of using a graphical file explorer with icons and mouse clicks, lf runs inside a text terminal where you navigate your folders and files using the keyboard. It was written in Go and was inspired by an older terminal file manager called ranger.
The program works on Linux, macOS, various Unix systems, and Windows. It ships as a single binary file with no additional software required to run it. The developers highlight that it starts quickly and uses little memory, which matters for users who keep it running in a terminal session alongside other tools.
File operations happen in the background without freezing the interface, so you can browse while a copy or move is in progress. The program supports running multiple instances at once through a server and client setup, where one instance can send commands to another. Keybindings are customizable and come with defaults based on vi and readline conventions, which are familiar to many terminal users.
lf deliberately leaves out certain features that other file managers sometimes include. It does not have built-in tabs, windows, a text editor, or a pager for reading files, on the reasoning that these are better handled by the surrounding shell environment or a terminal multiplexer. Instead, it focuses on file browsing and lets you extend its behavior through shell commands.
Installation options include community-maintained packages, pre-built binaries from the releases page, or building from source with the Go toolchain. Running lf starts in the current directory, and the documentation is accessible directly from the command line.
Where it fits
- Navigate your file system from the terminal using keyboard shortcuts without touching a mouse or GUI file explorer.
- Run file copy or move operations in the background while continuing to browse in the same lf session.
- Extend file management with custom shell commands bound to keys, keeping lf lightweight while adding your own workflows.