exa: un'ottima alternativa al comando ls

Mattepuffo's logo
exa: un'ottima alternativa al comando ls

exa: un'ottima alternativa al comando ls

Mi sono imbattuto in exa, un comando che si prefigge di sostituire il comando ls, senza ovviamente eliminare quest'ultimo.

Sostanzialmente fanno la stessa cosa, ma exa ha delle extra opzioni.

E' disponibile per Linux e macOS.

Per installarlo su Arch Linux:

# pacman -Sy exa

Su macOS:

$ brew install exa

Vediamo qualche esempio, considerando che l'output sarà tutto a colori:

$ exa -lha
Permissions  Size User  Date Modified Name
.rw-r--r--    484 matte 19 mag  2016  .acs
drwx------      - matte 24 mar  2016  .adobe
drwxr-xr-x      - matte 26 nov  2018  .android
.rw-------  10,0k matte 15 mar  9:57  .bash_history
.rw-r--r--     21 matte 23 nov  2015  .bash_logout
.rw-r--r--     57 matte 23 nov  2015  .bash_profile
.rw-r--r--   1,5k matte  3 dic  2018  .bashrc
.rw-r--r--    141 matte 16 mar  2016  .bashrc_bak
drwxr-xr-x      - matte  4 mar  9:46  .cache
drwxr-xr-x      - matte 26 nov  2018  .cargo
drwxr-xr-x      - matte 10 mag  2018  .cinnamon
drwxr-xr-x      - matte 25 feb 16:14  .config
drwxr-xr-x      - matte  2 ott  2018  .dart
drwxr-xr-x      - matte  2 ott  2018  .dartServer
drwxr-xr-x      - matte 30 ott  2018  .designer
.rw-------     94 matte 14 mar  2016  .directory
.rw-r--r--     47 matte  9 mag  2016  .dmrc
.rw-------     16 matte 13 mar  2016  .esd_auth
lrwxrwxrwx     41 matte 16 mar  2016  .fonts.conf -> /home/matte/.config/fontconfig/fonts.conf

Questo corrisponde quasi al classico:

$ ls -la

Ma, oltre ad essere a colori, ha anche l'intestazione.

Possiamo vedere il tutto in formato tre, dando il livello di profondità:

$ exa -lhaT -L 2
Permissions  Size User  Date Modified Name
drwx------      - matte 15 mar 10:56  .
.rw-r--r--    484 matte 19 mag  2016  ├── .acs
drwx------      - matte 24 mar  2016  ├── .adobe
drwx------      - matte 24 mar  2016  │  └── Flash_Player
drwxr-xr-x      - matte 26 nov  2018  ├── .android
.rw-------  10,0k matte 15 mar  9:57  ├── .bash_history
.rw-r--r--     21 matte 23 nov  2015  ├── .bash_logout
.rw-r--r--     57 matte 23 nov  2015  ├── .bash_profile
.rw-r--r--   1,5k matte  3 dic  2018  ├── .bashrc
.rw-r--r--    141 matte 16 mar  2016  ├── .bashrc_bak
drwxr-xr-x      - matte  4 mar  9:46  ├── .cache
drwx------      - matte 15 mar 10:59  │  ├── babl
drwx------      - matte  8 mag  2017  │  ├── chromium
drwxr-xr-x      - matte  9 mag  2017  │  ├── Clementine
drwxr-xr-x      - matte 16 nov  2018  │  ├── cs_backgrounds
drwx------      - matte  3 dic  2018  │  ├── darktable

Possiamo facilmente impostare un ordinamento:

$ exa -lha -s Name
Permissions  Size User  Date Modified Name
.rw-------    86k matte 15 mar  9:02  .ICEauthority
drwxr-xr-x      - matte 26 nov  2018  .IdeaIC2018.3
drwxr-xr-x      - matte 27 feb  9:01  .PhpStorm2018.3
.rw-r--r--     55 matte 15 mar  9:02  .Xauthority
.rw-r--r--    484 matte 19 mag  2016  .acs
drwx------      - matte 24 mar  2016  .adobe
drwxr-xr-x      - matte 26 nov  2018  .android
.rw-------  10,0k matte 15 mar  9:57  .bash_history
.rw-r--r--     21 matte 23 nov  2015  .bash_logout
.rw-r--r--     57 matte 23 nov  2015  .bash_profile
.rw-r--r--   1,5k matte  3 dic  2018  .bashrc
.rw-r--r--    141 matte 16 mar  2016  .bashrc_bak

Possiamo ordinare per:

  • name or filename sorts by name, case-insensitively.
  • Name or Filename sorts by name, case-sensitively.
  • cname or cfilename sorts by name, case-insensitively and canonically.
  • Cname or Cfilename sorts by name, case-sensitively and canonically.
  • .name or .filename sorts by name without a leading dot, case-insensitively.
  • .Name or .Filename sorts by name without a leading dot, case-sensitively.
  • size or filesize sorts by size, with smaller files listed first.
  • ext or extension sorts by file extension, case-insensitively.
  • Ext or Extension sorts by file extension, case-sensitively.
  • mod or modified sorts by file modified date, with older files listed first.
  • acc or accessed sorts by file accessed date.
  • cr or created sorts by file created date.
  • inode sorts by file inode.
  • type sorts by the type of file (directory, socket, link).
  • none disables sorting, and lists files in an arbitrary order.

Possiamo dire di fare il listing ricorsivo:

$ exa -lhaR

Attenzione che l'output potrebbe essere grande.

Un'altra cosa utile è l'indicazione del tipo:

$ exa -lhaF

Enjoy!


Condividi

Commentami!