Modern, customizable, feature-rich and extensible `ls` replacement.
Documentation
·
Features
·
Installation
·
Display Formats
·
Command Reference
lla is a modern ls
replacement that transforms how developers interact with their filesystem. Built with Rust's performance capabilities and designed with user experience in mind, lla combines the familiarity of ls
with powerful features like specialized views, Git integration, and a robust plugin system with an extensible list of plugins to add more functionality.
- Multiple Views: Default clean view, long format, tree structure, table layout, grid display
- Git Integration: Built-in status visualization and repository insights
- Advanced Organization: Timeline view, storage analysis, recursive exploration
- Smart Search: complex filtering patterns (OR, AND, NOT, XOR), regex support
- Customization: Plugin system, theme manager, custom shortcuts, configurable display
- High Performance: Built with Rust, modern UI, clean listings
- Smart Sorting: Multiple criteria, directory-first option, natural sorting
- Flexible Config: Easy initialization, plugin management, configuration tools
- Rich Plugin Ecosystem: File ops and metadata enhancements, code analysis, git tools, and more
The easiest way to install lla is using our installation script:
curl -sSL https://raw.githubusercontent.com/chaqchase/lla/main/install.sh | bash
This script will automatically:
- Detect your OS and architecture
- Download the appropriate binary
- Verify the checksum
- Install lla to
/usr/local/bin
Package Manager / Platform | Command |
---|---|
Cargo | cargo install lla |
macOS (Homebrew) | brew install lla |
Arch Linux (paru) | paru -S lla |
NetBSD (pkgin) | pkgin install lla |
# Manual - Example is for amd64 GNU, replaces the file names if downloading for a different arch.
wget -c https://github.com/triyanox/lla/releases/download/<version>/<lla-<os>-<arch>> -O lla # Example /v0.3.9/lla-linux-amd64
sudo chmod +x lla
sudo chown root:root lla
sudo mv lla /usr/local/bin/lla
After installation, initialize your setup:
# Create default config
lla init
# View your config
lla config
Clean, distraction-free listing for quick directory scans:
lla
Rich metadata display for detailed file analysis:
lla -l
Hierarchical exploration of directory relationships:
lla -t -d 3 # Navigate up to 3 levels deep
Structured view optimized for data comparison:
lla -T
Space-efficient layout for dense directories:
lla -g
Smart repository insights:
lla -G
Chronological file tracking:
lla --timeline
Visual disk usage insights:
lla -S # use --include-dirs to calculate directories sizes
Interactive file discovery:
lla --fuzzy
Comprehensive subdirectory listing:
lla -R
lla -R -d 3 # Set exploration depth
The -R
option can be integrated with other options to create a more specific view. For example, lla -R -l
will show a detailed listing of all files and directories in the current directory.
Command | Short | Description | Example |
---|---|---|---|
(default) | List current directory | lla |
|
--long |
-l |
Detailed file information with metadata | lla -l |
--tree |
-t |
Hierarchical directory visualization | lla -t |
--table |
-T |
Structured data display | lla -T |
--grid |
-g |
Organized grid layout | lla -g |
Command | Short | Description | Example |
---|---|---|---|
--sizemap |
-S |
Visual representation of file sizes | lla -S lla -S --include-dirs |
--timeline |
Group files by time periods | lla --timeline |
|
--git |
-G |
Show git status and information | lla -G |
--fuzzy |
-F |
Interactive fuzzy finder (Experimental) | lla --fuzzy |
--recursive |
-R |
Recursive listing format | lla -R lla -R -d 3 |
Command | Description | Example |
---|---|---|
--icons |
Show icons for files and directories | lla --icons |
--no-icons |
Hide icons for files and directories | lla --no-icons |
--no-color |
Disable all colors in the output | lla --no-color |
Command | Short | Description | Example |
---|---|---|---|
--sort |
-s |
Sort files by criteria | lla -s name lla -s size lla -s date |
--sort-reverse |
-r |
Reverse the sort order | lla -s size -r |
--sort-dirs-first |
List directories before files | lla --sort-dirs-first |
|
--sort-case-sensitive |
Enable case-sensitive sorting | lla --sort-case-sensitive |
|
--sort-natural |
Natural number sorting (2.txt before 10.txt) | lla --sort-natural |
Command | Short | Description | Example |
---|---|---|---|
--filter |
-f |
Filter files by pattern | lla -f "test" lla -f ".rs" |
--case-sensitive |
-c |
Enable case-sensitive filtering | lla -f "test" -c |
--depth |
-d |
Set the depth for tree listing | lla -t -d 3 lla -d 2 |
Filter Type | Example | Description |
---|---|---|
OR Operation | lla -f "test,spec" |
Match files containing either "test" or "spec" |
AND Operation | lla -f "+test,api" |
Match files containing both "test" and "api" |
Regular Expression | lla -f "regex:^test.*\.rs$" |
Rust files starting with "test" |
Glob Pattern | lla -f "glob:*.{rs,toml}" |
Match .rs or .toml files |
Composite AND | lla -f "test AND .rs" |
Logical AND operation |
Composite OR | lla -f "test OR spec" |
Logical OR operation |
Composite NOT | lla -f "NOT test" |
Logical NOT operation |
Composite XOR | lla -f "test XOR spec" |
Logical XOR operation |
Command | Description | Example |
---|---|---|
--dirs-only |
Show only directories | lla --dirs-only |
--files-only |
Show only regular files | lla --files-only |
--symlinks-only |
Show only symbolic links | lla --symlinks-only |
--dotfiles-only |
Show only dot files and directories | lla --dotfiles-only |
Command | Description | Example |
---|---|---|
--no-dirs |
Hide directories | lla --no-dirs |
--no-files |
Hide regular files | lla --no-files |
--no-symlinks |
Hide symbolic links | lla --no-symlinks |
--no-dotfiles |
Hide dot files and directories | lla --no-dotfiles |
Description | Example |
---|---|
Show only dot directories | lla --dirs-only --dotfiles-only |
Show only regular files, excluding dot files | lla --files-only --no-dotfiles |
Command | Description | Example |
---|---|---|
install --git |
Install from Git repository | lla install --git https://github.com/user/plugin |
install --dir |
Install from local directory | lla install --dir path/to/plugin |
Command | Description | Example |
---|---|---|
use |
Interactive plugin manager | lla use |
--enable-plugin |
Enable specific plugins | lla --enable-plugin name |
--disable-plugin |
Disable specific plugins | lla --disable-plugin name |
update |
Update plugins | lla update lla update file_tagger |
plugin |
Run plugin actions | lla plugin --name file_tagger --action add-tag --args README.md "important" |
Command | Description | Example |
---|---|---|
shortcut add |
Add a new shortcut | lla shortcut add find file_finder search -d "Quick file search" |
shortcut remove |
Remove a shortcut | lla shortcut remove find |
shortcut list |
List all shortcuts | lla shortcut list |
Command | Description | Example |
---|---|---|
init |
Initialize the configuration file | lla init |
config |
View or modify configuration | lla config |
theme |
Interactive theme manager | lla theme |
completion |
Generate shell completion scripts | lla completion bash |
clean |
Clean up invalid plugins | lla clean |
Command | Short | Description |
---|---|---|
--help |
-h |
Print help information |
--version |
-V |
Print version information |
Note For detailed usage and examples of each command, visit the lla documentation.
This project is licensed under the MIT License - see the LICENSE file for details.