lla Is an ls Replacement That Takes File Exploration to the Next LevelPermalink

lla by Mohamed Achaq:

At its heart, lla is more than just another ls replacement – it’s a thoughtfully crafted terminal file explorer that transforms how developers interact with their filesystem. Built with Rust’s performance capabilities and designed with user experience in mind, lla strikes a careful balance between power and simplicity.

Our journey began with a simple observation: the daily ritual of file management often requires juggling multiple terminal commands to gather the information we need. Inspired by Raycast’s revolutionary approach to application management on macOS, we envisioned a unified solution that could bring the same level of integration and convenience to the terminal.

The result is lla – a tool that starts with familiar file listing capabilities but expands into a comprehensive file management platform through its extensible plugin system.

lla -l run in a terminal. The file listing includes permissions, size, last modified, user, group, and the file name. Colours are used to highlight the different parts.
lla -l run in a terminal

lla joins a slew of other alternatives to ls implemented in Rust, such as exa (unmaintained), eza (exa fork), and lsd. Most of these improve ls with more human friendly default output and additional features like icons and built-in tree views.

lla takes the ideas of these other tools and turns ls into a full blown application with features including:

  • Long, tree, table, and grid views
  • Git Integration
  • Timeline view
  • Storage analysis
  • Smart search
  • A plugin system

lla publishes releases for Linux and macOS, which suggests it should work on most POSIX systems. In contrast, lsd and eza also support Windows.

lla -G run in a terminal. The file listing includes information about the git status of each file: name, commit, author, last changed, status.
The lla git view.
lla --timeline run in a terminal. The file listing is chunked up by today, yesterday, last week, last month.
The lla timeline view.
lla -S --include-dirs run in a terminal. The output is a treemap ordered by the largest items in the directory hierarchy.
The lla storage view.

Personally I have ls aliased to lsd. I used exa for a long time, but switched to lsd when exa became unmaintained. I like that the lsd command line interface is pretty true to ls, which keeps my decades of muscle memory happy.