Symbiote 2 days ago

ls does colored output. I'm surprised it's not the default for you.

1
cb321 2 days ago

If you run `dircolors --print-database|less` you will see that GNU ls only highlights/colors the path/filenames according to a simplistic scheme where a file can only resolve to one type even though on many terminals today "foreground overlays background overlays bold/italic/etc". (https://github.com/c-blake/lc#vector-typemulti-dimensionalit... has a more advanced idea.)

This tool by triyanox -- just from the screen shot if you click through -- will also colorize permission masks and sizes, dates, user & group.

Symbiote 2 days ago

I managed to scroll past the screenshot twice (now and earlier) before it had loaded.

Two settings for ls make some of the colouring less useful to me.

BLOCK_SIZE='1 formats sizes in bytes with comma separators. TIME_STYLE=long-iso formats the dates sensibly.

This means entries line up in neater columns.

  -rwxr-xr-x 1 root   root            852 2024-02-23 22:31 zsh5
  -rwxr-xr-x 1 root   root      1,022,760 2024-08-09 04:33 zstd
  lrwxrwxrwx 1 root   root              4 2024-08-09 04:33 zstdcat -> zstd

cb321 2 days ago

You could probably embed raw ANSI SGR color escape sequences { maybe from $(tput) if your terminal might be weird } inside a TIME_STYLE=+FORMAT to colorize the times.

In `lc`, mentioned a bit this thread, you can actually color the age like a "heat map" if you want. I.e. more recent times are more toward the red side of the rainbow and older ages toward the other "cooler" side ("cold storage"). Or whatever color scheme you like. So, if you know you're looking for something recent, the color pops out at you. If you like that kind of thing.