Awesome Command Line (CLI/TUI) Programs
This repository - to the best of my knowledge - contains the largest collection of command line (CLI/TUI) tools available in the form of awesome list.
With source information maintained in a handy CSV file.
To contribute, see the indications.
Read the instructions before rushing at changing the README file: you must edit the CSV files, not the README!
Some links are available to related resources.
Summary:
- Apps/tools: 2208
- Categories: 87
Contents
Core Utils
File listing (alternatives to ls)
List directory content and files, with colors or icons; alternatives to ls.
- colorls - A Ruby script that colorizes the
ls output with color and icons.
- eza - eza is a modern, maintained replacement for
ls, built on exa.
- Files-Sort-py - Python-based file sorter that sorts file by extensions, size, and time.
- ll - ls with git status.
- lscoltui - A TUI tool for changing the colours of ls.
- lsd - This project is a rewrite of GNU ls with lots of added features like colors, icons, tree-view, more formatting options etc. The project is heavily inspired by the super colorls project.
- lsnotes - The program lets you add a description to your directories.
- nat - Complete replacement for the
ls command.
- pretty-ls - Rust ls clone with pretty colors.
- stree - A CLI tool designed to visualize the directory tree structure of an S3 bucket.
- vivid - A themeable LS_COLORS generator with a rich filetype datebase.
Directory changers (alternatives to cd)
Programs for improving the efficiency of directory traversal by remembering common paths and other approaches; alternatives to the cd command.
- Apparition - Apparition allows giving names to paths, so that moving to the specific path can be done by using the name; it also allows managing the list of assigned names.
- autojump - A cd command that maintains a database of most visited paths and allows the access to a directory with shortened versions of the path.
- broot - broot displays an optimized (omitting unnecessary content) tree view of the filesystem, allowing to fuzzy search files and folder, and move to specified directories.
- cdwe - (cd with env vars) Wrapper of the cd command that sets and unsets env vars when you change dir based on a config file.
- enhancd - A next-generation cd command with your interactive filter.
- fastdiract - Lightning-fast cd and command execution.
- ff - ff is a command-line tool to manage favorite folders, creating an alias, to be used via shell directly with the cd command.
- fz - Fuzzy tab completion for z.
- Jmp - Change directory with smart searching of the path specified through regex.
- menucd - Directory browser and changer for the command line.
- nav - Terminal navigator for interactive ls workflows.
- navita - A command-line tool for fast directory navigation in Bash & Zsh, ranking directories by frequency and recency. It enables quick fuzzy searches, recent history access, and smooth directory switching for efficient terminal workflows.
- pazi - Fast autojump helper.
- pm - The easy way to switch between your projects on ZSH. In short, another directory changer.
- qcd - A tool to change to another directory by just by entering commands like
qcd 3 and step back to where you came from with qcd -o. Frequently visited directories are stored in a sqlite3 database.
- Shunpo - A minimalist bash tool that makes directory navigation just a little bit faster.
- slingshot - Lightweight command line tool to quickly navigate across folders.
- z - Directory changer based on aging and 'frecency'.
- z.lua - Directory changer that learns your habits.
- zm - Improved cd.
- zoxide - It remembers which directories you use most frequently, so you can "jump" to them in just a few keystrokes.
File finding (alternatives to find)
Search the filesystem looking for files with specific characteristics, e.g., names; alternatives to find.
- bfs - A breadth-first version of the UNIX find command.
- crtag - CLI for searching directories by tag (UNIX and OS).
- fd - A simple, fast, and user-friendly alternative to find. Written in Rust.
- Findpick - General purpose file picker combining "find" command with a fuzzy finder.
- friendly-find - Usable replacement for find.
- happyfinder - (another) Fuzzy file finder for the command line.
- plocate - A much faster locate; plocate is a locate based on posting lists, completely replacing mlocate with a much faster (and smaller) index.
- rawhide - File finder that uses C expressions to specify the filenames.
- trovatore - A fast command-line tool for searching files by name.
File deletion and trash bin (alternatives to rm)
Tools to manage the deletion of files/directories, often with the support of a trash can, i.e., the ability to restore deleted items.
- Brash - Move and restore items from the XDG trash. Written in pure Bash.
- del - Save deleted files to a .del/ subdirectory in the same directory.
- extundelete - Recover deleted files from an ext3 or ext4 partition through its journal.
- gomi - UNIX rm command with a safety net.
- gtrash - TUI for moving and restoring items from the XDG trash. Fully compliant with the FreeDesktop.org specification.
- RecoverPy - Recover deleted files and overwritten data. It scans every block of the partition. You can even find a string in binary files.
- rip - Move and restore items from the graveyard (by default,
/tmp/graveyard-$USER if $XDG_DATA_HOME is not set and $XDG_DATA_HOME/graveyard otherwise)
- rm-trash - Meant to be used in place of
rm in Linux, supporting all its arguments. It can move and restore the files from the XDG trash.
- rmw - (ReMove to Waste) is a trashcan