eza is a modern, maintained replacement for the venerable file-listing command-line program ls
that ships with Unix and Linux operating systems. Written in Rust, eza gives you more features and better defaults while being small, fast, and just one single binary.
If you’re tired of the plain, colorless output of the traditional ls
command and want a more modern, feature-rich alternative, eza is the perfect solution. However, getting the latest version on Debian can be challenging since the official repositories often lag behind the upstream releases.
Fortunately, the unofficial debian.griffo.io
repository provides the latest eza packages, ensuring you get all the newest features and improvements as soon as they’re available.
eza is the actively maintained successor to the popular exa
project, offering significant improvements and new features:
Feature | ls | exa | eza |
---|---|---|---|
Colors | Limited | ✅ | ✅ |
Icons | ❌ | ✅ | ✅ |
Git Integration | ❌ | ✅ | ✅ Enhanced |
Tree View | ❌ | ✅ | ✅ |
Custom Themes | ❌ | ❌ | ✅ |
Hyperlinks | ❌ | ❌ | ✅ |
Active Maintenance | ✅ | ❌ | ✅ |
Security Fixes | ✅ | ❌ | ✅ |
The debian.griffo.io
repository offers several advantages for eza installation:
Before we begin, make sure you have:
sudo
privilegescurl
installed (install with sudo apt install curl
if needed)First, add the GPG key and repository to your system:
# Add the GPG key
curl -sS https://debian.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/trusted.gpg.d/debian.griffo.io.gpg
# Add the repository
echo "deb https://debian.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/debian.griffo.io.list
Update your package lists to include the new repository:
sudo apt update
Now install the latest version of eza:
sudo apt install eza
Confirm that eza is installed and working:
eza --version
You should see output similar to:
eza 0.23.0
Now that eza is installed, let’s explore its features:
Replace your regular ls
commands with eza:
# Basic listing with colors and icons
eza
# Long format with detailed information
eza -l
# Show all files including hidden ones
eza -la
# Tree view for directory structure
eza --tree
# Grid view with icons
eza --icons --grid
Take advantage of eza’s advanced capabilities:
# Show Git status for files
eza -l --git
# Sort by file size, largest first
eza -l --sort=size --reverse
# Show only directories
eza -D
# Recursive listing with depth limit
eza -R --level=2
# Custom time format
eza -l --time-style=iso
# Show mount point information
eza -l --extended
Make eza your default file listing tool by adding aliases to your shell configuration:
# Add to ~/.bashrc or ~/.zshrc
echo 'alias ls="eza"' >> ~/.bashrc
echo 'alias ll="eza -l"' >> ~/.bashrc
echo 'alias la="eza -la"' >> ~/.bashrc
echo 'alias lt="eza --tree"' >> ~/.bashrc
echo 'alias lg="eza -l --git"' >> ~/.bashrc
# Reload your shell configuration
source ~/.bashrc
eza supports custom themes through a theme.yml
file. Create one in your config directory:
# Create config directory if it doesn't exist
mkdir -p ~/.config/eza
# Create a basic theme file
cat > ~/.config/eza/theme.yml << 'EOF'
filenames:
README: yellow
Makefile: green
Dockerfile: blue
extensions:
rs: orange
py: blue
js: yellow
md: cyan
EOF
Recent eza releases include exciting new features:
Keep eza up-to-date with regular system updates:
sudo apt update && sudo apt upgrade
The repository is updated within hours of new eza releases, ensuring you always have access to the latest features and bug fixes.
The debian.griffo.io
repository includes many other modern command-line tools:
You can explore all available packages at debian.griffo.io.
If you’re interested in other development tools available from the same repository, check out our guides on How to Install uv on Debian for Python package management, How to Install Zig on Debian for systems programming, and How to Install Updated fzf on Debian for powerful fuzzy finding. All these tools use the same repository and installation process.
If you encounter GPG key problems:
# Remove old key if it exists
sudo rm -f /etc/apt/trusted.gpg.d/debian.griffo.io.gpg
# Add the current key
curl -sS https://debian.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/trusted.gpg.d/debian.griffo.io.gpg
If APT can’t find the eza package:
sudo apt update
after adding the repositorycat /etc/apt/sources.list.d/debian.griffo.io.list
If icons aren’t displaying properly:
--icons
flag explicitly: eza --icons
If you need to remove eza:
# Remove eza package
sudo apt remove eza
# Remove the repository (optional)
sudo rm /etc/apt/sources.list.d/debian.griffo.io.list
sudo rm /etc/apt/trusted.gpg.d/debian.griffo.io.gpg
sudo apt update
Installing the latest eza on Debian doesn’t have to be complicated. The debian.griffo.io
repository provides an easy, maintainable way to install and keep eza up-to-date on your Debian system. With eza installed, you get:
Whether you’re a developer who spends a lot of time in the terminal, a system administrator managing files, or just someone who wants a better command-line experience, eza is an excellent upgrade from the traditional ls
command.
The repository is maintained as an unofficial community project and provides packages that aren’t available in the official Debian repositories. It’s a valuable resource for Debian users who want access to modern command-line tools without the hassle of manual compilation.
Happy file browsing with eza!
Disclaimer: The debian.griffo.io repository is an unofficial community project and is not affiliated with the official Debian project or the eza development team.