Come usare il comando man di Linux: segreti e basi nascosti

Tutto ciò che devi sapere su Linux è nelle sue pagine man. Ad esempio, puoi cercare un comando per eseguire un’attività, anche se non sai come si chiama. Ma come puoi trovare le pagine man? Ecco alcuni trucchi.

Manuale integrato di Linux

C’è una vecchia barzelletta (dell’era d’oro di Unix) su Linux secondo cui l’unico comando che devi conoscere è l’uomo, il sistema punto di accesso al manuale dell’utente. C’è un pizzico di verità in questo, ma anche l’uomo all’inizio può creare confusione. O, più precisamente, trovare le informazioni di cui hai bisogno può creare confusione.

Hai mai saputo cosa volevi fare, ma non sapevi il nome del comando che avrebbe portato a termine l’attività? Probabilmente ci siamo passati tutti. È come cercare una parola nel dizionario quando non la conosci.

Allora, come puoi trovare quello che stai cercando? Bene, ci sono modi per aggirare questo dilemma con l’uomo.

I numeri sono un’altra questione da matricola. Cosa sono e cosa significano? Vedrai cose come man (2) o man (5) citate nella documentazione e su Internet. Vedrai anche riferimenti a comandi seguiti da numeri, come mount (2) e mount (8). Sicuramente non può esserci più di un comando di montaggio, giusto? Come vedremo, i numeri sono importanti e relativamente semplici.

Parlando di semplice, cercare all’interno dell’uomo è abbastanza facile una volta che sai come farlo. In effetti, ci sono alcuni modi accurati per cercare e navigare all’interno dell’uomo. Accendiamolo e diamo un’occhiata!

Come aprire il manuale

Per usare man, digita man sulla riga di comando, seguito da uno spazio e da un comando Linux. man apre il manuale di Linux alla “pagina man” che descrive quel comando, se riesce a trovarlo, ovviamente.

Scriviamo quanto segue e vediamo cosa dice l’uomo sull’uomo:

man man

Il

Si apre la pagina man per l’uomo.

La pagina man per

Come puoi vedere, questa è la pagina man (1).

Segui questi suggerimenti per navigare nella pagina:

Per spostarsi nella pagina man una riga alla volta: utilizzare la rotella di scorrimento del mouse oppure i tasti freccia Su e Giù e Invio.
Per spostarsi nella pagina man una schermata alla volta: premere la barra spaziatrice e i tasti PgDn e PgUp.
Per spostarsi direttamente all’inizio o alla fine della pagina man: premere i tasti Home e Fine.

Se si preme H, si accede alla sezione della guida e viene visualizzata una tabella di combinazioni di tasti alternative che è possibile utilizzare. Quelli sopra elencati saranno probabilmente più naturali per la maggior parte delle persone.

Per uscire dall’uomo, basta premere Q.

The Anatomy of a man Page

Nella parte superiore della pagina, vengono visualizzati i titoli “Nome” e “Sinossi”. C’è una convenzione per il layout delle pagine man. Ci sono pagine man per comandi, programmi e funzioni di programmazione (routine di libreria). Non vedrai tutti questi titoli in ogni pagina man, perché alcuni di essi si applicano solo a certi tipi di comandi.

I seguenti sono alcuni dei titoli che potresti vedere:

Nome: il nome del comando che la pagina man sta descrivendo.
Sinossi: un riepilogo del comando e della sua sintassi.
Configurazione: dettagli di configurazione per un dispositivo.
Descrizione: una spiegazione di ciò che fa il programma.
Opzioni: una descrizione delle opzioni della riga di comando accettate dal comando.
Stato di uscita: possibili valori dello stato di uscita per il comando e cosa potrebbe causarne l’utilizzo.
Valore di ritorno: se la pagina man è per una routine di libreria, descrive il valore che la routine di libreria può inviare alla funzione che ha chiamato quella routine.
Errori: un elenco dei valori che potrebbero essere inseriti in errno in caso di errore.
Ambiente: un elenco delle variabili di ambiente che influenzano il comando o il programma e in che modo.
File: un elenco dei file utilizzati dal comando o dal programma, come i file di configurazione.
Attributi: un riepilogo dei vari attributi del comando.
Versioni: dettagli del kernel Linux o delle versioni della libreria in cui una chiamata di sistema o una funzione di libreria è apparsa per la prima volta o è stata modificata in modo significativo rispetto alle versioni precedenti.
Conforme a: una descrizione di tutti gli standard a cui il comando potrebbe essere conforme, come POSIX.
Note: Note varie.
Bug: problemi noti.
Esempi: uno o più esempi che dimostrano l’uso del comando.
Autori: le persone che hanno scritto o mantengono il comando.
Vedi anche: Letture consigliate relative al comando o all’argomento.

L’uomo Sezioni

Se scorri un paio di pagine verso il basso, viene visualizzato un elenco delle sezioni del manuale.

Sezioni del manuale elencate in

Le sezioni sono:

Comandi generali: comandi che utilizzi sulla riga di comando.
Chiamate di sistema: funzioni che il kernel fornisce che un programma può chiamare.
Funzioni di libreria: i programmi di funzioni possono richiamare librerie di codici (principalmente lo standard C).
File speciali: di solito dispositivi, come quelli che si trovano in / dev, e i loro driver.
Formati di file e convenzioni: formati per i file, come passwd, tabella cron e file di archivio tar.
Giochi: descrizioni di comandi, come fortune, che visualizzano citazioni da un database quando vengono eseguite.
Varie: descrizioni di cose come inode, parametri di avvio e man stesso.
Amministrazione del sistema: comandi e daemon solitamente riservati a root con cui lavorare.
Routine del kernel: informazioni relative al funzionamento interno del kernel. Ciò include interfacce di funzione e variabili utili, ad esempio, ai programmatori che scrivono driver di dispositivo. Sulla maggior parte dei sistemi, questa sezione non è installata.

Quando vedi un comando seguito da un numero, si riferisce alla descrizione di quel comando in quella sezione del manuale. Ad esempio, man (1) si riferisce alla voce nella sezione uno del manuale che descrive il comando man.

Nell’immagine sopra, vedi un riferimento all’uomo (7). Ciò significa che ci sono più informazioni sull’uomo in un’altra sezione. Quando abbiamo aperto per la prima volta la pagina man, mostrava man (1). Se digiti solo man senza numero di sezione, man cerca tutte le sezioni in ordine, cercando una voce per il comando che hai digitato. Naturalmente, ha trovato l’uomo (1) prima dell’uomo (7).

Se vuoi forzare man a trovare una voce da una sezione specifica, devi includere il numero della sezione sulla riga di comando.

Ad esempio, digitiamo quanto segue per aprire la voce per l’uomo nella sezione sette:

man 7 man

Il

Il manuale si apre alla voce uomo nella sezione sette.

UN

Questa pagina man fornisce le istruzioni per scrivere le pagine man. Descrive il formato del file e le macro che puoi utilizzare per svolgere parte del lavoro per te. La pagina man (1) nella sezione uno che abbiamo visto in precedenza ha descritto come usare man stesso.

Come trovare le voci nelle sezioni

Normalmente, se vuoi semplicemente sapere come usare un comando, non devi fornire un numero di sezione. man troverà la voce standard che descrive come usare quel comando nella sezione uno del manuale. A volte, tuttavia, è necessario aprire una voce di comando in una sezione particolare perché si desiderano informazioni diverse.

È possibile scoprire facilmente quali sezioni del manuale contengono voci per un comando. Ogni pagina man ha un titolo e una breve descrizione. L’opzione -f (whatis) ricerca i titoli delle pagine e restituisce un elenco di corrispondenze.

Per questo esempio, digitiamo quanto segue:

man -f man

Il

Le due pagine man per man sono elencate insieme ai loro numeri di sezione e brevi descrizioni. Attenzione, però: alcune voci hanno lo stesso nome, ma descrivono comandi e funzioni differenti.

Ad esempio, digitiamo quanto segue:

man -f printf

Il

Sembra che siano state trovate due voci per printf: la prima nella sezione uno e un’altra nella sezione tre. Tuttavia, questi sono comandi diversi. La pagina man nella sezione uno descrive il comando printf della riga di comando, che formatta l’output nella finestra del terminale. La pagina man nella sezione tre descrive il printf famiglia di funzioni di libreria nel Linguaggio di programmazione C..

È anche possibile cercare attraverso le brevi descrizioni, così come i titoli delle pagine. Per fare ciò, usi l’opzione -k (apropos). Ciò corrisponderà anche alle occorrenze del termine di ricerca all’interno di altre parole più lunghe.

Digitiamo quanto segue:

man -k printf

Il

Molti di questi comandi sono descritti nelle stesse poche pagine man perché la loro funzionalità principale è principalmente la stessa. La pagina man di vprintf descrive la funzionalità di 10 dei comandi elencati nell’immagine sopra.

Puoi sfruttare questa funzionalità per cercare informazioni relative a ciò che stai cercando di ottenere, anche se non conosci il nome del comando che desideri utilizzare.

Supponiamo che tu voglia cambiare la password di un account utente. Possiamo cercare tutti i comandi che menzionano “utente” nei titoli o nelle descrizioni della pagina man. Possiamo quindi reindirizzarlo attraverso grep per cercare le voci che contengono “password”.

Per fare ciò, digitiamo quanto segue:

man -k 'user ' | grep password

Il

Poiché abbiamo racchiuso la parola “utente” tra virgolette singole e incluso uno spazio alla fine, troverà solo corrispondenze per “utente”, non “utenti”. Una rapida occhiata ai risultati della ricerca mostra che il probabile candidato è passwd.

Poiché si tratta di una pagina man di una sezione e non è necessario includere il numero di sezione nel comando, digitiamo quanto segue:

man passwd

Supponiamo che abbiamo bisogno di un comando che conti il ​​numero di parole in un file di testo. Digitiamo quanto segue per vedere se esiste qualcosa di simile:

man -k word | grep count

Il

Per scoprire tutto quello che c’è da sapere sul conteggio delle parole, digitiamo questo comando:

man wc

Parlando di wc, possiamo anche usare l’opzione -k (apropos) con un singolo punto (.) Come obiettivo di ricerca, che corrisponderà a tutto. Se lo instradiamo attraverso wc e usiamo l’opzione -l (righe), ci dirà quante pagine man ci sono sul computer.

Per fare tutto questo, digitiamo il seguente comando:

man -k . | wc -l

Il

Ci sono 6.706 pagine man su questo computer Ubuntu, ma non sorprenderti se il numero è diverso sul tuo. Può variare a seconda dei pacchetti software e delle utilità presenti sulla macchina e delle pagine man preinstallate.

Ricerca in una pagina uomo

Puoi anche cercare avanti o indietro dalla tua posizione corrente all’interno di una pagina man.

Per questo esempio, digitiamo quanto segue per aprire la pagina man per il comando history:

man history

Il

Per cercare in avanti, premiamo la barra (/), quindi digita la parola “evento”. Il target di ricerca viene visualizzato nella parte inferiore della finestra del terminale e premiamo Invio per avviare la ricerca.

Il

La finestra mostra il primo risultato di tutte le corrispondenze trovate e queste sono evidenziate.

UN

Premere “n” per passare da un risultato all’altro verso la parte inferiore della pagina. Per cercare all’indietro nella pagina man, premere “N”; questo ti riporterà all’inizio della pagina.

Per attivare e disattivare l’evidenziazione, premere Esc + U.

Se sei in fondo alla pagina man e desideri cercare verso l’alto, premi il punto interrogativo (?), Quindi digita il termine di ricerca. Abbiamo cercato “ingresso”.

UN

Di nuovo, vengono evidenziati tutti i risultati corrispondenti.

Risultati per il termine di ricerca

Per cercare il successivo risultato corrispondente, premere “n” per spostarsi all’inizio della pagina man. Premere “N” per andare al risultato della corrispondenza precedente e spostarsi verso la fine della pagina man.

C’è un altro modo per cercare una pagina man. Nasconde tutte le righe che non contengono una corrispondenza con il termine di ricerca, quindi è meglio utilizzare i numeri di riga con questa tecnica.

Se digitiamo “-N” e premiamo Invio, possiamo vedere i numeri di riga nella pagina man.

Una pagina man con i numeri di riga in una finestra di terminale.

Premiamo la e commerciale (&), digitiamo il termine di ricerca (numero) e quindi premiamo Invio.

UN

Vengono visualizzate solo le righe che contengono il nostro termine di ricerca.

Righe che contengono la parola

È facile sfogliarli e individuare quelli che sembrano interessanti. Pensiamo che la riga 292 sembri promettente, quindi vogliamo andare a quella sezione della pagina man e controllarla.

Per vedere di nuovo tutte le righe, premiamo la e commerciale (&), quindi premiamo Invio.

Il

Digitiamo “292”, quindi “g” per andare su quella riga.

Un comando per passare alla riga

Non appena digitiamo “g”, veniamo portati alla riga 292 (motivo per cui la “g” non appare nell’immagine sopra). La riga 292 viene quindi visualizzata nella parte superiore della finestra del terminale.

Riga 292 nella parte superiore dello schermo in una pagina man in una finestra di terminale.

È possibile premere “-n” e premere Invio per rimuovere i numeri di riga.

Leggi il manuale favoloso

C’è una grande quantità di informazioni nelle pagine man. Anche con i comandi che pensi di conoscere bene, è una scommessa sicura che ci sono altre opzioni di cui non hai mai sentito parlare.

Troverai sicuramente anche comandi che non sapevi esistessero. Con così tanti modi diversi per cercare e rintracciare le informazioni, è fantastico avere tutto a portata di mano.