Using lla
Views
Every way lla can draw a listing, from a plain list of names to trees, timelines, size maps and diffs.
↓ on this page
A view changes how a listing is drawn. It doesn't change what's selected, so you can combine any view below with the filters and sorting.
- Defaultlla
- Longlla -l
- Treella -t
- Tablella -T
- Gridlla -g
- Gitlla -G
- Timelinella --timeline
- Size maplla -S
- Recursivella -R
- Fuzzylla -F
To stop passing a flag every time, set your usual view with default_format.
Default view
Names only, one per line. This is the view to use for a quick look.
lla
lla srcllaLong view
Permissions, size, modification date, owner and group, plus any metadata you ask for. Use it when the details of each file matter.
lla -l
lla -l --hide-group --relative-dates
lla -l --date-format "%Y-%m-%d %H:%M"
lla -l --permission-format octallla -lThese flags add more metadata:
| Flag | Adds |
|---|---|
-i, --inode | Inode number |
-H, --links | Hard-link count |
--allocated-size | Disk space actually allocated |
-@, --extended | Extended attribute names and sizes |
-Z, --context | ACL or SELinux context |
-M, --mounts | Mount source, mount point and filesystem |
--include-dirs | Recursive directory sizes, which can be slow on large trees |
Symlinks show their target after the name. --no-symlink-target hides it, and -X, --dereference reports the target's metadata instead of the link's.
--permission-format accepts symbolic, octal, binary, verbose or compact.
lla -l --permission-format octal --relative-dates --hide-group lla/src/formatterChoose the columns
Set the columns and their order in your config:
[formatters.long]
hide_group = true
relative_dates = true
date_format = "%Y-%m-%d %H:%M"
columns = ["permissions", "size", "modified", "name", "field:git_status"]The built-in keys are permissions, inode, links, size, allocated, modified, created, accessed, user, group, xattrs, context, mount, name, path and plugins. Use field:<name> for a field added by a plugin.
Tree view
The directory hierarchy, to the depth you choose. The default depth is 3, and default_depth in your config changes it.
lla -t
lla -t -d 2 docslla -t -d 2 docsTable view
The long view's data in aligned, bordered columns. It's easier to scan down a single column, which helps when you're comparing files.
lla -Tlla -T lla/src/formatterIt takes the same column keys as the long view:
[formatters.table]
columns = ["permissions", "size", "modified", "name"]Grid view
Names in as many columns as your terminal fits. Use it for directories with many short names.
lla -g
lla -g --grid-ignore--grid-ignore ignores the terminal width, so lines can run off the screen.
lla -g themesGit view
Each entry's Git status with its last commit, subject, age and author. A header shows the branch, its upstream, and how many files are staged or changed. Run it inside a repository. For a subdirectory, include the leading ./, because lla -G src reports Not a git repository in lla 0.6.6.
lla -G
lla -G ./srclla -GTimeline view
Entries grouped by when they last changed: today, yesterday, last week, last month and older. Use it to find what you were working on.
lla --timelinella --timeline lla/srcSize map view
Bars that compare entries by size, each with its share of the total. Add --include-dirs to count directories as well, which walks them recursively.
lla -S
lla -S --include-dirslla -S lla/src/formatterRecursive view
Every nested directory, as a flat listing grouped by directory. -d limits the depth. To cap very large walks, set max_entries.
lla -R
lla -R -d 2
lla -R -llla -R -d 2 sdkArchives
lla reads .zip, .tar, .tar.gz and .tgz files as if they were directories, without extracting them. Views, filters and machine output all work.
lla backup.tar.gz -t
lla project.zip -l -f ".rs"
lla bundle.tgz --jsonlla ../docs.tar.gz -t -d 2Single files
Pass a file to see only that entry, in any view.
lla Cargo.toml -l
lla src/main.rs --jsonCompare files and directories
lla diff compares two paths, or one path against a Git reference.
lla diff src ../backup/src
lla diff src --git
lla diff src --git --git-ref HEAD~1
lla diff Cargo.lock ../backup/Cargo.lock
lla diff Cargo.lock --git --git-ref HEAD~1--git compares against HEAD unless you set --git-ref.
For directories, you get each entry's status and size change.
lla diff lla/src --gitFor files, you get the size and line-count changes followed by a unified diff. Binary files are detected and their content isn't printed.
lla diff lla/src/main.rs --gitOptions for any view
| Option | Effect |
|---|---|
--icons, --no-icons | Turn icons on or off for this run |
--no-color | Print without color |
--hyperlink always|auto|never | Make names clickable with OSC 8 links |