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
lscommand is widely used to list directory contents, often with color highlighting.
1. lsd
lsd is a Rust‑written replacement for
lsthat adds colors, icons, tree view and more. It can be installed on Arch Linux, Fedora, macOS, FreeBSD, Windows, Android, Ubuntu, Debian and other systems.
<code># 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
</code>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:
<code># br -sdph
</code> -s: show file size
-d: show file date
-p: show file permissions
-h: show hidden files
3. zoxide
zoxide replaces the built‑in
cdcommand with a smarter, history‑driven directory jumper. It remembers frequently visited directories, allowing you to jump with just a few keystrokes.
<code># zoxide /etc
# z e # expands to /etc
</code>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
fdutility for powerful file searches.
<code># 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
</code>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.
<code># apt install ripgrep
# rg yum *.sh
</code>6. procs
procs is a Rust‑based replacement for
psthat provides colored, multi‑column output with keyword search. It runs on Linux, macOS and Windows.
Installation examples:
<code># 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
</code> <code># procs
</code>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 diffoutput, making changes easier to read and helping improve code quality.
<code># npm install -g diff-so-fancy
# git diff --color | diff-so-fancy
</code>8. delta
delta is a syntax‑highlighting pager for
git,
diffand
grepoutput. It offers theme‑based language highlighting, side‑by‑side view, line numbers, merge‑conflict display, and Git’s
--color-movedsupport.
9. mcfly
mcfly replaces the traditional
Ctrl+Rreverse‑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
cutthat offers concise syntax similar to Python slicing, supports negative and zero indexing, and can be faster than
cutand
awkfor long inputs.
<code># cat 2022.txt | choose 1
# choose 1 -i 2022.txt
</code>11. httpie
httpie is a user‑friendly command‑line HTTP client that simplifies testing and debugging APIs with colored, formatted output.
<code># http PUT example.com hello=world
# http --offline pie.dev/post hello=offline
</code>12. curlie
curlie combines the ergonomics of httpie with the full feature set of curl, printing headers to
stderrand providing dynamic, unbuffered output.
<code># curlie httpbin.org/headers
# curlie -v PUT httpbin.org/status/201 X-API-Token:123 name=John
</code>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.
<code># xh httpbin.org/json
# xh post httpbin.org/post name=ahmed age:=24
# xh -d httpbin.org/json -o test.json
</code>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.
<code># dog example.net
# dog example.net MX
# dog example.net MX @1.2.3.4 -T
</code>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.