Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Shell
  3. ls++

ls++

Perl

A highly customizable, colorized file listing tool that extends GNU ls with configurable views and syntax highlighting.

GitHubGitHub
513 stars47 forks0 contributors

What is ls++?

ls++ is a Perl-based command-line utility that extends the standard GNU ls command with advanced colorization, customizable output views, and enhanced file metadata display. It solves the problem of inflexible ls output by allowing users to configure exactly how file information is presented, with syntax highlighting and relative timestamps for better readability.

Target Audience

System administrators, developers, and power users who frequently work in the terminal and want more control and visual clarity when listing directory contents. Particularly useful for those managing complex directory structures or preferring customized workflow tools.

Value Proposition

Developers choose ls++ over standard ls because it offers unprecedented customization of output formatting while maintaining full compatibility with ls flags. Its colorization and relative timestamp features provide immediate visual context that standard ls lacks, making file management more efficient.

Overview

ls on steroids

Use Cases

Best For

  • Customizing terminal file listings with specific metadata columns
  • Quickly identifying file types and permissions through color coding
  • Viewing relative file modification times (e.g., '3 days ago')
  • Managing complex directory structures with visual highlighting
  • Creating personalized file listing configurations via config files
  • Extending ls functionality while maintaining command compatibility

Not Ideal For

  • Environments where minimal dependencies are crucial, as ls++ requires Perl and additional CPAN modules not always pre-installed.
  • Users who only need basic file listing without advanced colorization or custom views, as standard ls or shell aliases suffice.
  • Cross-platform teams without consistent Perl installations, given the manual setup required on non-Linux systems like macOS.
  • Performance-critical workflows where the overhead of a Perl script might be noticeable compared to native ls.

Pros & Cons

Pros

Extensive View Customization

Offers multiple predefined output formats like --tpsf for time-permissions-size-file and --potsf for permissions-owners-time-size-file, allowing users to tailor metadata display to their needs.

Rich Colorization

Uses Term::ExtendedColor for syntax highlighting of file types and permissions, enhancing visual clarity and quick identification as shown in the screenshot and documentation.

Full LS Compatibility

Unknown arguments are passed through to the underlying ls command, ensuring seamless integration with existing workflows and flags, as stated in the USAGE section.

Configurable Behavior

Supports a configuration file (~/.ls++.conf) for personalized highlighting and file filtering, enabling long-term customization without recompilation.

Cons

Complex Installation Process

Requires manual steps including Perl module installation via CPAN and compilation, which can be error-prone compared to simple package managers, as detailed in the INSTALLATION section.

Perl Dependency Overhead

Being Perl-based, it adds runtime dependencies and may have performance implications or compatibility issues on systems without Perl readily available.

Limited Package Availability

Package support is listed only for Arch Linux and SUSE, leaving other distributions to rely on manual installation from source or CPAN, which can be a barrier to adoption.

Frequently Asked Questions

Quick Stats

Stars513
Forks47
Contributors0
Open Issues12
Last commit2 years ago
CreatedSince 2010

Tags

#filesystem#ls#terminal-utility#coreutils#unix-tools#file-listing#file-management#syntax-highlighting#terminal#command-line-tool#perl#colorized-output#bash#commandline#linux#perl-script#customizable-views#terminal-colors#zsh

Built With

P
Perl

Included in

Shell36.8k
Auto-fetched 23 hours ago

Related Projects

BatBat

A cat(1) clone with wings.

Stars59,511
Forks1,575
Last commit1 day ago
btopbtop

A monitor of resources

Stars33,144
Forks1,064
Last commit1 day ago
exaexa

A modern replacement for ‘ls’.

Stars24,431
Forks655
Last commit1 year ago
goaccessgoaccess

GoAccess is a real-time web log analyzer and interactive viewer that runs in a terminal in *nix systems or through your browser.

Stars20,676
Forks1,185
Last commit21 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub