Top 14 Modern ls Alternatives to Supercharge Your Linux Workflow
This article introduces fourteen powerful command‑line tools that replace or extend the traditional ls command, covering their features, installation methods across multiple operating systems, and practical usage examples to improve file navigation and management in Linux environments.
In Linux, the ls command is widely used to list directory contents, often with color highlighting.
1. lsd
lsd is a Rust‑written replacement for ls that adds colors, icons, tree view and more. It can be installed on Arch Linux, Fedora, macOS, FreeBSD, Windows, Android, Ubuntu, Debian and other systems.
# curl -LO https://github.com/Peltoche/lsd/releases/download/0.21.0/lsd_0.21.0_amd64.deb
# dpkg -i lsd_0.21.0_amd64.deb2. broot
broot is another Rust‑based ls alternative that provides a terminal file manager with a tree‑view navigation mode. Its features include directory overview, quick cd, hierarchical search, file preview, custom shortcuts, space‑usage sorting, Git status checking, and more.
Typical usage:
# br -sdph -s: show file size -d: show file date -p: show file permissions -h: show hidden files
3. zoxide
zoxide replaces the built‑in cd command with a smarter, history‑driven directory jumper. It remembers frequently visited directories, allowing you to jump with just a few keystrokes.
# zoxide /etc
# z e # expands to /etc4. fzf
fzf is a fast, dependency‑free interactive fuzzy finder that works with any list, file set, command history, process list, hostname list, bookmarks, or git commits. It can be combined with the fd utility for powerful file searches.
# curl -LO http://cn.archive.ubuntu.com/ubuntu/pool/universe/f/fzf/fzf_0.24.3-1_amd64.deb
# dpkg -i fzf_0.24.3-1_amd64.deb5. ripgrep (rg)
ripgrep is a line‑oriented search tool that serves as a faster alternative to grep. It recursively searches for regex patterns and runs on Windows, Linux and macOS.
# apt install ripgrep
# rg yum *.sh6. procs
procs is a Rust‑based replacement for ps that provides colored, multi‑column output with keyword search. It runs on Linux, macOS and Windows.
Installation examples:
# sudo pacman -S procs
# sudo dnf install procs
# sudo rpm -i https://github.com/dalance/procs/releases/download/v0.12.1/procs-0.12.1-1.x86_64.rpm # procsSearch options include logical operators such as --and, --or, --nand, and --nor.
7. diff‑so‑fancy
diff‑so‑fancy is a Node‑based tool that beautifies git diff output, making changes easier to read and helping improve code quality.
# npm install -g diff-so-fancy
# git diff --color | diff-so-fancy8. delta
delta is a syntax‑highlighting pager for git, diff and grep output. It offers theme‑based language highlighting, side‑by‑side view, line numbers, merge‑conflict display, and Git’s --color-moved support.
9. mcfly
mcfly replaces the traditional Ctrl+R reverse‑history search with a full‑screen, Rust‑based, fast and safe alternative. It supports fuzzy matching with % and can clear entries from its database or the shell history.
10. choose
choose is a Rust‑based alternative to cut that offers concise syntax similar to Python slicing, supports negative and zero indexing, and can be faster than cut and awk for long inputs.
# cat 2022.txt | choose 1
# choose 1 -i 2022.txt11. httpie
httpie is a user‑friendly command‑line HTTP client that simplifies testing and debugging APIs with colored, formatted output.
# http PUT example.com hello=world
# http --offline pie.dev/post hello=offline12. curlie
curlie combines the ergonomics of httpie with the full feature set of curl, printing headers to stderr and providing dynamic, unbuffered output.
# curlie httpbin.org/headers
# curlie -v PUT httpbin.org/status/201 X-API-Token:123 name=John13. xh
xh is a fast, friendly HTTP client written in Rust that supports HTTP/2, can be compiled to a single static binary, and offers concise syntax for common requests.
# xh httpbin.org/json
# xh post httpbin.org/post name=ahmed age:=24
# xh -d httpbin.org/json -o test.json14. dog
dog is an open‑source DNS client that serves as a colorful alternative to dig. It supports UDP, TCP, DNS‑over‑TLS and DNS‑over‑HTTPS, and can query 16 record types.
# dog example.net
# dog example.net MX
# dog example.net MX @1.2.3.4 -TSigned-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
macrozheng
Dedicated to Java tech sharing and dissecting top open-source projects. Topics include Spring Boot, Spring Cloud, Docker, Kubernetes and more. Author’s GitHub project “mall” has 50K+ stars.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
