eza
A modern, fast, and maintained replacement for the classic ls command-line utility, written in Rust, which offers enhanced features like git integration, color coding, and improved display options.
eza is a modern, community-maintained replacement for the classic file-listing command-line utility 'ls' found on Unix and Linux operating systems. Developed in Rust, eza provides enhanced functionality, improved usability, and better defaults compared to traditional file-listing programs. It is designed to be a lightweight, fast, single-binary application that leverages color coding to visually distinguish between different file types and metadata. By integrating deep support for modern system features, it offers a more informative experience for users working within terminal environments. It maintains compatibility while deliberately choosing different approaches to user experience to ensure a more feature-rich interaction.
Functionality: The tool functions as a drop-in or enhanced replacement for standard directory listing commands, processing file system information and outputting it to the terminal with enriched metadata. It parses system attributes, including symlinks, extended attributes, and git repository status, to provide users with a comprehensive view of their file system state directly through the command line.
Some of the key features are:
- Git Integration: Displays git repository status for files and directories directly in the output.
- Modern Color Support: Utilizes advanced terminal color schemes, including support for bright terminal colors and color-scaling for file sizes.
- System Metadata: Provides visibility into mount point details, SELinux security contexts, and extended file attributes.
- Usability Enhancements: Offers hyperlinking for terminal entries and displays file sizes with human-readable binary or byte-based prefixes.
- Icon Support: Includes built-in support for displaying icons alongside file entries.
- Flexible Viewing: Provides multiple display formats, including a grid view, a one-line view, and a tree-based recursive directory view.
Operation: eza is invoked via the command line, similar to the traditional 'ls' command. Users pass specific flags to configure output, such as '-l' for long listing, '--tree' for recursive directory structures, or '--icons' to enable visual identifiers. It supports extensive filtering options, including the ability to hide dot files, limit recursion depth, sort by various criteria like modified time or size, and ignore files specified in .gitignore. The tool is compatible with major operating systems including Linux, macOS, Windows, and various BSD distributions, with installation available through standard package managers like Cargo, Homebrew, Arch Linux repositories, and others.
Some common use cases include:
- Development Workflow: Quickly verifying file changes and repository status directly within the terminal while working on software projects.
- System Administration: Inspecting file permissions, ownership, and SELinux contexts on servers or local development machines.
- File System Navigation: Using the tree view to visualize nested directory structures and quickly locate specific files in large projects.
- Maintenance Tasks: Identifying large files or specific file types using custom sorting and block-size calculations during disk cleanup operations.
Comments
0Markdown is supported.