#howto - Migliorare l'esperienza MAN
Le man pages sono il miglior amico di ogni smanettone e di chi vuole imparare a smanettare con la shell, ma spesso difficili da comprendere, soprattutto per chi non è abituato a leggerle.
In questa guida cercheremo di migliorare la vostra esperienza con man.
Prerequisiti
Andremo a sfruttare alcuni plugin di oh-my-zsh
perciò, se ancora non lo avete fatto, leggete:
Come usare man
Prima di tutto, verifichiamo di aver installato man sulla nostra distribuzione; in molte è già preinstallato, ma se così non fosse:
Ubuntu
apt install man-db manpages-posix manpages-posix-dev manpages-dev
Fedora
dnf install man-db man-pages
ArchLinux
pacman -S man-db man-pages
Utilizzo
Dopo averlo installato possiamo iniziare quindi ad utilizzarlo, la sintassi base è:
man [opzione] [sezione] <comando>
dove:
- opzione è la flag che diamo al comando man per esempio
-a
per cercare anche in altre sezioni, e può essere lasciato vuoto. - sezione è la sezione del manuale che vogliamo consultare, possono esistere fino a 9 sezioni del manuale, anche questo argomento può essere lasciato vuoto in questo caso il comando
man
cercherà nella prima sezione disponibile (un comando infatti potrebbe non avere la prima sezione ma solo la seconda o la terza). - comando è il comando che vogliamo consultare, può essere un comando interno della shell o un comando esterno.
Piccolo approfondimento sulle sezioni del manuale:
Sezione | Descrizione |
---|---|
1 | Comandi di sistema |
2 | Chiamate di sistema |
3 | Chiamate di libreria |
4 | File speciali |
5 | File di configurazione |
6 | Gioco |
7 | Varie |
8 | Comandi di amministrazione |
9 | Kernel |
Per esempio, se eseguiamo il comando:
man 1 printf
man 2 printf
man 3 printf
Otterremo rispettivamente:
- il manuale della sezione 1 del comando
printf
riguardante il comando di sistema - Nessun risultato
- il manuale della sezione 3 del comando
printf
riguardante le chiamate di libreria standard C.
Se volete approfondire ancora di più il man, il consiglio è utilizzare il comando man man
.
Plugin per oh-my-zsh
Tra le miriadi di plugin di oh-my-zsh non potevano mancare quelli per il man.
Rispettivamente abbiamo:
man
, che ci permette di consultare i vari comandi presenti nelle man pages direttamente da zsh.colored-man-pages
, che colora la sintassi delle man pages.
Aggiungiamo i plugin al nostro file di configurazione ~/.zshrc
:
plugin(
...
man colored-man-pages
...
)
Adesso quando andremo ad eseguire man + <TAB>
, zsh ci mostrerà tutti i comandi presenti nelle man pages, scegliamone uno e vediamo come parte della sintassi tra cui i capitoli, le opzioni, i comandi e le variabili vengono colorati.
TL;DR
Talvolta non ci serve consultare tutto il manuale di un comando ma solo sapere cosa fa, per questo esiste il comando whatis
whatis <comando>
che ci mostrerà una breve descrizione del comando.
Un alternativa esterna a whatis
è tealdeer
che ci mostrerà una descrizione del programma e alcuni esempi di utilizzo.
Installiamolo sulla nostra distribuzione:
Ubuntu:
apt install tealdeer
Fedora:
dnf install tealdeer
Archlinux:
pacman -S tealdeer
Adesso possiamo eseguire il comando:
tldr <comando>
Un comando simpatico che fa l’opposto è invece apropos
che ci permette di cercare un comando in base alla sua descrizione:
apropos <descrizione>