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!
linux macos exa ls
Commentami!