Dove sono documentati i comandi disponibili nella finestra della pagina man e questi comandi dipendono dal sistema?


9

Avendo usato Linux per anni, ho scoperto all'improvviso che non sapevo usare mancorrettamente il comando. È noto che si può digitare qper uscire da una pagina man, /per cercare e altre. Non so, tuttavia, dove sono documentati. Ho provato a cercare su man man man -a man info manGoogle, senza fortuna.

Per favore, indicami la posizione giusta per cercare queste informazioni, anche se sono giuste man mane mi è capitato di averle trascurate, va benissimo, fammelo sapere.

Questi comandi sono diversi per diversi sistemi operativi o per diverse distribuzioni di Linux?


Le pagine man non sono appena state visualizzate less? (È almeno sulla mia distribuzione e hmostra un riepilogo dei lesscomandi)
Rastapopoulos,

@Rastapopoulos Le pagine man non sono state appena visualizzate less? No. Perché lessnon è un'utilità standard.
Andrew Henle,

Suppongo che tu possa usare readlink -f /usr/bin/pagero readlink -f $(which pager)scoprire quale cercapersone hai (per impostazione predefinita /bin/less) rispetto manal cercapersone usato. Potrebbe (dovrebbe) funzionare direttamenteman pager
Hastur il

2
Se leggi le tue pagine man usando moreo less, puoi digitare haiuto. (o puoi semplicemente usare emacs...)
Alex Vong il

1
Se si digita ?o hal prompt del cercapersone, dovrebbe fornire un elenco di comandi.
Barmar il

Risposte:


11

È proprio nella pagina del manuale man, sotto il sottotitolo "Controllo dell'output formattato" e ripetuto più avanti nella sezione "AMBIENTE" per una buona misura:

Di default, usa l'uomo pager -s.
La pagina di manuale spiega come ci sia una gerarchia di variabili d'ambiente e le opzioni della riga di comando ( PAGER, MANPAGER, e --pager) per escludere il default.

Ecco come si legge su sistemi come Debian Linux. Su sistemi come Oracle Linux, al contrario, il man-dbpacchetto è stato creato con un diverso valore predefinito, che tuttavia si riflette ancora lì nella pagina del manuale negli stessi posti:

Di default, usa l'uomo less -s.

Il man-dbpacchetto tenta di rilevare automaticamente, in fase di compilazione, che di default pager di build-in al comando, e il documento nella sua pagina di manuale, fuori less, moree pager.

Su sistemi come Debian Linux, il pagercomando fa parte del sistema "alternative" e può essere associato a uno dei numerosi comandi effettivi:

jdebp% update-alternatives - cercapersone elenco
/ Bin / meno
/ Bin / more
/ Usr / bin / pg
/ Usr / bin / w3m
jdebp%

Quindi si consulta le rispettive pagine di manuale su come guidarle dalla tastiera, secondo quale alternativa è stata scelta. Utilmente, il sistema di alternative Debian mantiene la pagina del manuale sincronizzata con il comando scelto, quindi leggere questa pagina del manuale è abbastanza semplice:

cercapersone uomo


5

L'uomo usa un cercapersone per mostrare il contenuto.

I dettagli esatti dipendono dalla versione in manuso.

Per la versione utilizzata su molti sistemi:

  • Se -p pagerviene data l'opzione, viene utilizzato quel cercapersone.
  • In caso contrario, se MANPAGERviene impostata la variabile di ambiente , viene utilizzata.
  • Altrimenti, se PAGERimpostato, viene utilizzato.
  • In caso contrario, è l'impostazione predefinita da utilizzare /usr/bin/less

Se la pagina del manuale è in formato HTML, BROWSERviene utilizzata al posto di MANPAGER/PAGER

Debian usa man-dbche ha impostazioni predefinite diverse.

Leggi man manper i dettagli


La ringrazio per la risposta. Mentre la risposta spiega come manfunziona, vorrei chiederti se puoi fare il favore di indicarmi il posto giusto in cui questo comportamento è documentato. Grazie.
Weijun Zhou,

Nel mio man manoutput (di nuovo, manversione: 2.6.3) si afferma che "per impostazione predefinita viene utilizzato less -s", quindi mi aspetto che questo dipenda dalla versione e dal sistema?
Weijun Zhou,

1
Questo è solo un esempio della filosofia Unix standard: comandi piccoli e semplici che operano su flussi di testo e fanno esattamente una cosa e la fanno bene. La formattazione di un manuale e l'impaginazione sono due cose, motivo per cui vengono eseguite da due strumenti diversi. In questo modo, lo strumento di impaginazione può essere riutilizzato per altre attività, non solo per la visualizzazione di pagine di manuale.
Jörg W Mittag,

2

Grazie a @Rastapopoulos, trovo una riga relativa a lessin man mansu un vecchio box Linux ( manversione: 1.6f) nella sezione AMBIENTE che afferma,

BROWSER Il nome di un browser da utilizzare per visualizzare le pagine del manuale HTML. Se non è impostato, /usr/bin/lessviene utilizzato.

Tuttavia, in una casella più recente ( manversione: 2.6.3) questa riga è stata sostituita da

BROWSER Se $ BROWSER è impostato, il suo valore è un elenco di comandi delimitato da due punti, ognuno dei quali a sua volta viene utilizzato per provare ad avviare un browser Web per man --html. In ogni comando,% s è sostituito da un file? nome contenente l'output HTML da groff, %% è sostituito da un singolo segno di percentuale (%) e% c è sostituito da due punti (:).

Sulla base di queste informazioni, credo che sia formattato lessper impostazione predefinita (almeno per il primo caso). Tuttavia, anche se questo è il caso, è documentato in un modo che non mi sembra chiaro (o ho imparato il mancomando nel modo sbagliato).


2

Non esiste un modo reale per rispondere in modo completo alla domanda in generale per vari sistemi operativi, poiché l' manimplementazione non è così completamente specificata.

La risposta standard POSIX, non specifica per Linux, è disponibile nella documentazione POSIXman :

NOME

man - display system documentation

SINOSSI

man [-k] name...

...

VARIABILI AMBIENTALI

Le seguenti variabili d'ambiente influenzano l'esecuzione dell'uomo:

LANG

Fornire un valore predefinito per le variabili di internazionalizzazione non impostate o nulle. (Vedi Variabili di internazionalizzazione XBD per la precedenza delle variabili di internazionalizzazione utilizzate per determinare i valori delle categorie di localizzazione.)

LC_ALL

Se impostato su un valore di stringa non vuoto, sovrascrivere i valori di tutte le altre variabili di internazionalizzazione.

LC_CTYPE

Determinare le impostazioni internazionali per l'interpretazione delle sequenze di byte di dati di testo come caratteri (ad esempio, caratteri a byte singolo anziché caratteri a byte multipli negli argomenti e nel database di riepilogo). Il valore di LC_CTYPE non deve influire sul formato delle informazioni scritte sugli operandi dei nomi.

LC_MESSAGES

Determinare le impostazioni internazionali che devono essere utilizzate per influenzare il formato e il contenuto dei messaggi diagnostici scritti in errore standard e messaggi informativi scritti in output standard.

NLSPATH

Determinare la posizione dei cataloghi di messaggi per l'elaborazione di LC_MESSAGES.

PAGER

Determinare un comando di filtro di output per scrivere l'output su un terminale. Qualsiasi stringa accettabile come operando command_string per il comando deve essere valida. Quando l'output standard è un dispositivo terminale, l'output della pagina di riferimento deve essere inviato tramite il comando. Se la variabile PAGER è nulla o non è impostata, il comando deve essere una o un'altra utility paginatore documentata nella documentazione del sistema.sh-cmore

Nota la sezione RAZIONE, descrivendo perché mannon è così completamente specificato:

FONDAMENTO LOGICO

È noto che l'utilità man ha solo un'utilità minima come specificato. L'opinione degli sviluppatori standard era fortemente divisa su quanto o quanto poche informazioni l'uomo avrebbe dovuto fornire. Hanno ritenuto, tuttavia, che la fornitura di un modo portatile di accesso alla documentazione aiuterebbe la portabilità dell'utente. Gli argomenti contro una specifica più completa erano:

  • Grandi quantità di documentazione non dovrebbero essere richieste su un sistema che non ha spazio su disco in eccesso.

  • L'attuale sistema manuale non presenta informazioni in modo tale da favorire notevolmente la portabilità dell'utente.

  • Un "sistema di aiuto migliore" è attualmente un'area in cui i venditori ritengono di poter aggiungere valore alle loro implementazioni POSIX.

L'opzione -f è stata considerata, ma a causa delle differenze di implementazione, non è stata inclusa in questo volume di POSIX.1-2008.

La descrizione è stata modificata per essere più specifica su ciò che deve essere visualizzato per un'utilità. Gli sviluppatori standard hanno ritenuto insufficiente consentire una visualizzazione della sola sinossi senza fornire una breve descrizione di ciò che ciascuna opzione e operando fanno.

La voce "scopo" da includere nel database può essere simile al titolo della sezione (meno il prefisso numerico) da questo volume di POSIX.1-2008 per ciascuna utilità. Questi titoli sono simili a quelli utilizzati nei sistemi storici a questo scopo.

Vedere mailx per le motivazioni relative al paginatore predefinito.

L'avvertenza nella descrizione di LC_CTYPE è stata aggiunta perché non è necessario che un'implementazione fornisca pagine di riferimento per tutte le sue localizzazioni supportate su ciascun sistema; la modifica di LC_CTYPE non traduce necessariamente la pagina di riferimento in un'altra lingua. Ciò equivale allo stato corrente di LC_MESSAGES nei messaggi specifici della locale POSIX.1-2008 non è ancora un requisito.

La variabile MANPATH storica non è inclusa in POSIX perché non viene fatto alcun tentativo di specificare convenzioni di denominazione per i file della pagina di riferimento, né di imporre che siano file. In alcune implementazioni potrebbero essere un vero database, un file ipertestuale o persino stringhe fisse nell'eseguibile man. Gli sviluppatori standard hanno considerato la portabilità delle pagine di riferimento al di fuori del loro ambito di lavoro. Tuttavia, gli utenti devono essere consapevoli del fatto che MANPATH è implementato su numerosi sistemi storici e che può essere utilizzato per personalizzare il modello di ricerca delle pagine di riferimento delle varie categorie (utilità, funzioni, formati di file e così via) quando l'amministratore di sistema rivela la posizione e le convenzioni per le pagine di riferimento sul sistema.

...

La discussione sulla logica del paginatore dalla pagina mailx :

Il paginatore selezionato quando PAGER è nullo o non impostato è parzialmente non specificato per consentire alla pratica storica System V di utilizzare pg come predefinito. Bypassare la funzione di impaginazione, ad esempio dichiarando che cat è il paginatore, non incontrerebbe il significato previsto di questa descrizione. Tuttavia, qualsiasi "utente portatile" dovrebbe impostare PAGER esplicitamente per ottenere il suo cercapersone preferito su tutti i sistemi. La scelta del paginatore è stata resa parzialmente non specificata, a differenza della scelta dell'editor VISUAL (obbligatoriamente vi) perché la maggior parte dei cercapersone storici segue un tema comune di input dell'utente, mentre gli editor differiscono notevolmente.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.