Fundamentals 15 min read

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.

macrozheng
macrozheng
macrozheng
Top 14 Modern ls Alternatives to Supercharge Your Linux Workflow

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.deb

2. 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 /etc

4. 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.deb

5. 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 *.sh

6. 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
# procs

Search 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-fancy

8. 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.txt

11. 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=offline

12. 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=John

13. 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.json

14. 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 -T
Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

Rustproductivitycommand-line toolsterminallinux utilitiesls alternatives
macrozheng
Written by

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.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.