In Linux, se hai bisogno di aiuto per quanto riguarda un comando, tutto ciò che devi fare è aprire la sua pagina man. Ma cosa succede se si verifica una situazione in cui il requisito è cercare rapidamente i nomi e le descrizioni di tutte le pagine man disponibili? Bene, Linux ti copre, poiché esiste un comando chiamato apropos questo fa esattamente questo per te.
In questo tutorial, discuteremo le basi di apropos usando alcuni esempi di facile comprensione. Ma prima di farlo, vale la pena ricordare che tutti gli esempi qui presenti sono stati testati su una macchina Ubuntu 16.04 LTS.
Il comando apropos ricerca i nomi e le descrizioni delle pagine di manuale per una parola chiave fornita dall'utente. Di seguito è riportata la sua sintassi:
apropos [OPTIONS] keyword ...
Ed ecco cosa dice a riguardo la pagina man dello strumento:
Each manual page has a short description available within it. apropos
searches the descriptions for instances of keyword.
keyword is usually a regular expression, as if (-r) was used, or may
contain wildcards (-w), or match the exact keyword (-e). Using these
options, it may be necessary to quote the keyword or escape (\) the
special characters to stop the shell from interpreting them.
The standard matching rules allow matches to be made against the page
name and word boundaries in the description.
The database searched by apropos is updated by the mandb program.
Depending on your installation, this may be run by a periodic cron job,
or may need to be run manually after new manual pages have been
installed.
Di seguito sono riportati alcuni esempi in stile domande e risposte che dovrebbero darti una buona idea su come funziona il comando apropos.
Q1. Come usare apropos?
L'utilizzo di base è semplice. Basta passare la parola chiave che vuoi cercare come input al comando apropos.
Ad esempio:
apropos dmesg
ha prodotto il seguente risultato:
dmesg (1) - print or control the kernel ring buffer
Ovviamente puoi anche passare più parole chiave.
Ad esempio:
apropos dmesg whereis
Di seguito è riportato l'output in questo caso:
dmesg (1) - print or control the kernel ring buffer
whereis (1) - locate the binary, source, and manual page files for a...
Q2. Come fare a proposito una ricerca per parole chiave esatte?
Per impostazione predefinita, l'input passato al comando apropos non viene cercato esattamente. Ad esempio, se passi "chi" come input, vedrai anche lo strumento produrre risultati contenenti parole come "whoami".
Quindi questa non è una ricerca esatta. Tuttavia, puoi forzare apropos a cercare parole chiave esatte utilizzando le opzioni della riga di comando -e o --exact.
Quindi ora vedi che solo le voci che corrispondono esattamente a "chi" sono state visualizzate nell'output.
T3. Come fare in modo che a proposito visualizzi le voci corrispondenti a tutte le parole chiave?
Se si passano più parole chiave come input al comando apropos, lo strumento produrrà voci che corrispondono/contengono almeno una delle parole chiave. Tuttavia, se vuoi che apropos produca solo quelle voci che corrispondono/contengono tutte le parole chiave, usa l'opzione -a della riga di comando.
Ad esempio, ecco l'output di un comando apropos senza l'opzione -a:
Ed ecco l'output con l'opzione -a abilitata:
Q4. Come forzare apropos a non tagliare l'output?
Come avresti visto nell'output nelle precedenti domande e risposte, lo strumento taglia le voci se sono troppo lunghe. Ad esempio, vedi la riga evidenziata nel seguente output:
Tuttavia, se vuoi, puoi forzare apropos a produrre righe complete in output, cosa che puoi fare usando l'opzione -l della riga di comando.
Q5. Come interpretare a proposito lo stato di uscita?
Il comando apropos produce quattro diversi stati di uscita:0, 1, 2 e 16. Ecco cosa rappresenta ciascuno di questi:
0 Successful program execution.
1 Usage, syntax or configuration file error.
2 Operational error.
16 Nothing was found that matched the criteria specified
Conclusione
A seconda del tuo profilo lavorativo, potresti non richiedere il comando apropos su base giornaliera, ma come ormai avrai capito, potrebbe essere un vero toccasana in determinate situazioni. Abbiamo discusso alcune opzioni di utilizzo della riga di comando qui. Per saperne di più sullo strumento, vai alla sua pagina man.