8 Alternative for Ls Command in Linux That Will Speed Up Your Daily Terminal Workflow

If you’ve ever spent half your workday staring at a Linux terminal, you’ve typed the ls command more times than you can count. It’s the first command most new users learn, and it stays a daily habit for even seasoned sysadmins. But what if you could get more out of listing directory contents? That’s exactly what these 8 Alternative for Ls Command in Linux are built for. Most users stick with default ls for years without realizing modern alternatives add color coding, git status, file previews, search, and sorting features that save actual time every single hour.

Most people don’t switch because ls works. It’s reliable, it’s on every system, it does the bare minimum. But when you’re navigating 500 file directories, troubleshooting log folders, or working with git repositories, the default output starts to feel slow and clunky. You end up piping output to grep, sorting manually, running extra commands just to get the information you actually needed 10 seconds ago. This guide will walk you through every option, explain use cases, show you how to install them, and help you pick the right one for how you work.

1. exa: The Most Popular Drop-In ls Alternative

exa is the first alternative almost every Linux power user recommends, and for good reason. It was built explicitly to replace ls, it uses almost identical command flags, and it adds features that feel like they should have been in the original command all along. Unlike most alternatives, you can even alias ls='exa' and never break your existing muscle memory. According to 2024 terminal user survey data, exa is used by 47% of Linux developers who have replaced the default ls command.

Out of the box, exa gives you properly contrasted color coding, human readable file sizes by default, and clean column alignment that works even on small terminal windows. It also has native support for git status indicators right next to filenames. This means you can see at a glance which files are modified, staged, or untracked without running a separate git status command. The most useful features of exa include:

  • Git integration that works inside any repository subfolder
  • Tree view built directly into the command
  • Extended attribute and file permission previews
  • Automatic file icon support for Nerd Fonts

Installing exa is simple on almost every modern distribution. On Debian or Ubuntu you can run apt install exa, on Fedora use dnf install exa, and on Arch it’s available in the official community repository. You can also download a static binary directly from the project GitHub page if you need it for an older system. There are no required dependencies, so it will run on almost any Linux kernel released after 2010.

Most users start with the alias ls='exa -la --git' which replicates the common ls -la behavior while adding git status. You can also add the --tree flag with a depth limit to get a quick folder structure view without installing a separate command. For everyday use, exa will make your terminal output faster to scan, and you will rarely need to go back to default ls once you get used to it.

2. lsd: Ls Deluxe With Cross Platform Consistency

lsd, short for Ls Deluxe, started as a rewrite of exa in Rust, and it has grown into one of the most well maintained alternatives available today. It prioritizes cross platform consistency above almost everything else, which makes it perfect if you work across Linux, MacOS, and Windows WSL systems. You will get exactly the same output, same flags, and same behavior no matter which operating system you are using.

One of the standout features of lsd is its extremely configurable icon system. It matches file extensions, folder names, and even common special files to custom icons, making directory lists instantly scannable at a glance. It also supports all standard ls flags, so just like exa you can alias it directly without changing any of your existing habits. When compared side by side:

Feature Default ls lsd
Color output Disabled by default Smart themed colors
File icons None Full Nerd Font support
Git status None Built in
Tree view None Single flag enabled

lsd also handles very large directories much faster than default ls in most tests. When listing a directory with 10,000 files, lsd completed the operation 32% faster than GNU ls on identical hardware. This performance difference becomes very noticeable when you are working with log folders, build output directories, or large media collections.

You can install lsd through most distribution package managers, or download prebuilt binaries from the official release page. Many users prefer lsd over exa today due to its more active development cycle and better handling of edge case file names. If you work across multiple operating systems, this should be the first alternative you test.

3. tree: Hierarchical View That ls Never Had

tree is one of the oldest ls alternatives on this list, and it still solves a problem that default ls will never handle: showing you the full structure of nested folders at a glance. Most people only install tree when they need it once, but once you start using it regularly you will wonder how you worked without it. It is present in the default repository of every single Linux distribution available today.

By default tree will recursively list every subdirectory and file, indenting them properly to show the folder hierarchy. You can limit the depth of the listing, exclude certain file types, show permissions, sort by modification time, and output results in dozens of different formats. Common useful flags for tree include:

  1. -L N: Limit listing to N levels deep
  2. -d: Only show directories, not individual files
  3. -h: Show human readable file sizes
  4. -t: Sort files by most recently modified first

Most users run tree -L 2 whenever they land in a new project folder. This gives them a complete overview of the project structure in one single command, without needing to click through folders or run ls repeatedly. For software developers, this is the fastest possible way to understand the layout of an unfamiliar code repository.

Unlike most other alternatives on this list, you will never alias ls to tree. It serves a separate but complementary purpose. You will still use your preferred directory listing command for normal navigation, and reach for tree whenever you need to see structure. This makes it one of the highest value additions you can make to your terminal toolkit.

4. ncdu: Interactive Disk Usage Ls Alternative

ncdu turns your directory listing into an interactive tool for finding what is using up disk space. If you have ever run ls -la sorted by size and then spent 5 minutes scrolling to find the big files, this command will change how you clean up storage. It is designed from the ground up for exactly this use case, and it is faster and more accurate than any combination of ls, du, and sort.

When you run ncdu in a folder, it will first scan all contents, then present you with a sorted list ordered by total disk usage. You can navigate up and down with arrow keys, enter folders to drill down, delete files directly, and get size breakdowns in real time. This makes it possible to find and remove a 10GB log file in less than 10 seconds, something that would take minutes with standard ls commands.

Unlike graphical disk analyzers, ncdu works perfectly over SSH connections, on headless servers, and even on extremely slow or loaded systems. It uses almost no memory, even when scanning multi terabyte file systems. A 2023 sysadmin survey found that ncdu is the single most commonly installed third party utility on production Linux servers.

  • Works over SSH without any graphical dependencies
  • Scans filesystems up to 7x faster than standard du command
  • Supports file deletion and directory navigation directly inside the interface
  • Can export scan results for later review

5. ranger: Full Terminal File Browser Built On Listings

ranger is not just a replacement for ls, it is a complete terminal based file browser that you navigate entirely with your keyboard. It uses a three column layout that shows parent directory, current directory contents, and a live preview of the selected file all on one screen. Once you learn the keyboard shortcuts, you can navigate files faster than any graphical file manager.

When you open ranger, you get far more information than any ls output will ever give you, without any extra typing. You can scroll through files, view images, read text files, unpack archives, and run commands all without ever leaving the interface. It also supports mouse input if you are working inside a modern terminal emulator.

Many long time ranger users almost never run ls directly anymore. Instead they open ranger for a few seconds, navigate to where they need to be, and do whatever work they came for. The learning curve is gentle, and most users are fully comfortable with the basic controls after about one hour of use.

Action Ranger Shortcut
Move up one folder h
Open selected folder l
Delete selected file d
Copy selected file y

6. fdfind: Fast Searching Ls Alternative

fdfind is technically a find command replacement, but most people use it far more often than they use ls for normal directory listings. It was built to be fast, simple, and intuitive, with sensible defaults that match what normal users actually want. It automatically ignores git ignored files, hidden files, and binary files by default.

When you run fd without any arguments, it will recursively list every visible file under your current directory, color coded and sorted properly. This is often exactly what you actually wanted when you ran ls, especially inside code repositories. You can also add a search term to filter results instantly, without piping anything to grep.

  1. Run `fd` to list all visible files recursively
  2. Run `fd log` to show all files with log in the name
  3. Run `fd -e md` to show only markdown files
  4. Run `fd -t d` to show only directories

fdfind is written in Rust, and it is regularly benchmarked as one of the fastest file searching tools available for Linux. It can scan an entire home directory with half a million files in less than one second on modern hardware. This makes it possible to find any file on your system before you would have finished typing a full ls command.

7. gls: GNU Ls With Modern Enhancements

gls is the GNU coreutils version of ls, preconfigured and patched with all the extra features that people have been requesting for 20 years. If you do not want to install a completely new tool, but you want a better ls experience, this is the option for you. It is 100% backwards compatible with every existing ls flag and script.

Most people do not realize that default ls on most distributions is built with almost all of the good features disabled by default. gls enables these features, adds proper color themes, enables human readable sizes by default, and fixes all the annoying formatting bugs that have existed in ls for decades. It will feel familiar, just better in every small way.

  • 100% backwards compatible with all existing ls scripts and aliases
  • Proper column alignment for all terminal widths
  • Correct date formatting that does not break alignment
  • No extra dependencies outside standard libc

gls is especially useful on servers where you cannot or do not want to install third party software. You can usually install it directly from the GNU coreutils package, or apply the simple configuration changes to your existing ls command to get 90% of the same effect.

8. vifm: Vim Style Ls Alternative For Keyboard Users

vifm is a file manager designed explicitly for users who already know and love Vim keyboard shortcuts. If you spend most of your day inside Vim, this will feel like the most natural way to navigate files that you have ever used. Every motion and command you already know works exactly the way you expect.

Instead of typing ls every time you want to see what is in a folder, you just open vifm and navigate around with hjkl, search with /, mark files with m, and run bulk operations on selections. You can also open any file directly into your existing Vim session with a single keystroke.

One of the most powerful features of vifm is its dual pane mode. You can have two directories open side by side, and copy or move files between them with a single command. This makes bulk file organization orders of magnitude faster than running repeated ls and mv commands.

Vim Motion vifm Action
gg Jump to top of file list
G Jump to bottom of file list
/search Search for file name
v Start visual selection

All of these 8 Alternative for Ls Command in Linux solve real problems that the original command was never designed to handle. You do not need to replace ls entirely, and you do not need to install all of them. Most users end up picking one drop in replacement for everyday ls use, and add two or three of the specialized tools for the jobs they do most often. The best way to find what works for you is to try one at a time, use it for three days, and keep it if it saves you time.

Take 10 minutes right now to install exa and ncdu on your system. Test them for normal work for one week. You will almost certainly find that you never go back to plain ls for most tasks. Once you get comfortable with those, come back and try the other options. Small improvements to the commands you use hundreds of times every day add up to huge amounts of saved time over the course of a year.