More (Unix): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Addbot (discussione | contributi)
m migrazione automatica di 17 collegamenti interwiki a Wikidata, d:q253509
Funzionalità collegamenti suggeriti: 2 collegamenti inseriti.
 
(4 versioni intermedie di 4 utenti non mostrate)
Riga 1:
{{titolo minuscolo}}
'''more''' è un comando dei [[Sistema operativo|sistemi operativi]] [[Unix]] e [[Unix-like]], e più in generale dei sistemi [[POSIX]]<ref>{{cita web
|url=httphttps://www.opengroup.org/onlinepubs/009695399/utilities/more.html
|titolo=more
|accesso=20-06-2008
Riga 8:
}}</ref>, che mostra il contenuto di uno o più [[file di testo]] (o dello ''[[standard input]]'') su di un [[Terminale (informatica)|terminale testuale]], visualizzandolo una pagina per volta, permettendo di scorrerlo in avanti e all'indietro (solo in caso di file) e di effettuare ricerche tramite [[Espressione regolare|espressioni regolari]].
 
Le implementazioni di ''more'' offrono tipicamente all'utente anche la possibilità di eseguire programmi esterni tramite il comando "<ttkbd>!</ttkbd>", per cui è del tutto sconsigliato il permettere ad utenti ordinari di eseguirlo con privilegi superiori a quelli che già possiedono (ad esempio invocandolo in [[script]] eseguiti via [[sudo]]).
 
== Storia ==
Le prime versioni di ''more'' per i sistemi Unix si limitavano a mostrare uno o più file di testo una pagina per volta, visualizzando la scritta <ttkbd>--More--</ttkbd> al termine di ogni pagina e attendendo la pressione della [[barra spaziatrice]].<ref>{{cita web
|url=httphttps://groups.google.com/group/comp.society.folklore/msg/c49979b248fc9494?dmode=source
|titolo=The Early History of the more Command
|accesso=21-06-2008
|lingua=en
|autore=Dan Halbert
}}</ref> Ad esse seguirono rapidamente nuove versioni con maggiori funzionalità, che vennero distribuite per la prima volta con [[BSD|3BSD]]<ref>La cosa viene viene riportata sia al termine della [http://www.linuxmanpages.com/man1/more.1.php pagina man] di ''more'' dei sistemi [[GNU/Linux]] che al termine della [httphttps://www.freebsd.org/cgi/man.cgi?query=more&apropos=0&sektion=0&manpath=4.3BSD+Reno&format=html pagina man] di ''more'' di [[BSD|4.3BSD Reno]]</ref> nel [[1979]]. Da allora ''more'' si è diffuso sui vari sistemi Unix ed anche altri sistemi tra cui [[MS-DOS]]<ref>{{cita web
|url=httphttps://www.microsoft.com/technet/archive/msdos/comm6.mspx
|titolo=MS-DOS 6 Commands: More
|accesso=21-06-2008
|lingua=en
}} (documentazione del comando ''more'' da Microsoft TechNet Archive)</ref> ed anche [[Microsoft Windows]]<ref>{{cita web
|url=httphttps://technet.microsoft.com/en-us/library/bb490933.aspx
|titolo=More
|accesso=21-06-2008
Riga 30:
}}</ref>, acquisendo via via nel tempo maggiori funzionalità. Lo standard [[POSIX]] (ed in seguito la [[Single UNIX Specification]]) definisce nel dettaglio le caratteristiche ed il comportamento di ''more'', tuttavia ancora oggi sono in uso implementazioni che non rispecchiano tali standard.
 
== UsoSintassi ==
Dopo aver visualizzato una pagina di testo, ''more'' rimane normalmente in attesa di comandi da parte dell'utente. Alcuni di essi possono essere preceduti da un numero che ne influenza il comportamento. La [[sintassi]] generale di ''more'' è la seguente:
La sintassi generale di ''more'' è la seguente:
 
more [''opzioni''] [--] [''file1'' [''file2'' …] ]
 
I parametri facoltativi ''file'' indicano i nomi dei file di testo da visualizzare. Se non sono specificati, viene mostrato lo ''standard input''.
 
Il doppio trattino <ttkbd>--</ttkbd> (facoltativo) indica che i parametri successivi non sono da considerarsi opzioni.
 
Le opzioni disponibili variano a seconda delle implementazioni di ''more'', che tuttavia si possono ricondurre a due filoni principali: le implementazioni di ''more'' presenti nei sistemi [[BSD]] (usate anche nei sistemi [[GNU/Linux]]) e quelle previste dallo standard [[POSIX]].
 
== Opzioni ==
Tra le opzioni comuni alle varie implementazioni vi sono:
;<tt>-c</tt>: Nel presentare le pagine, evita di far scorrere lo schermo.
;<tt>-s</tt>: Raggruppa le linee vuote, mostrando una sola linea vuota per ogni gruppo di linee vuote consecutive.
;<tt>-u</tt>: Disabilita la gestione particolare di alcuni [[Carattere di controllo|caratteri di controllo]], tipicamente col risultato che il testo che normalmente apparirebbe sottolineato o evidenziato viene visualizzato come testo normale.
 
;<ttkbd>-c</ttkbd>: Nel presentare le pagine, evita di far scorrere lo schermo.
Tra le opzioni delle implementazioni di ''more'' in stile [[BSD]] vi sono anche:
;<ttkbd>-s</ttkbd>: Raggruppa le linee vuote, mostrando una sola linea vuota per ogni gruppo di linee vuote consecutive.
;<tt>-d</tt>: Mostra al termine di ogni pagina un messaggio che invita a premere la barra spaziatrice per passare alla prossima pagina oppure il tasto "<tt>q</tt>" per uscire.
;<ttkbd>-u</ttkbd>: Disabilita la gestione particolare di alcuni [[Carattere di controllo|caratteri di controllo]], tipicamente col risultato che il testo che normalmente apparirebbe sottolineato o evidenziato viene visualizzato come testo normale.
;<tt>+''num''</tt>: Inizia a mostrare il testo partendo dalla sua linea indicata dal numero di linea ''num''.
;<tt>+/''regexp''</tt>: Inizia a mostrare il testo dalla prima occorrenza dell'[[espressione regolare]] indicata dal parametro ''regexp''.
 
Tra le opzioni delle implementazioni di ''more'' in stile [[BSD]] vi sono anche:
=== Comandi ===
;<ttkbd>-d</ttkbd>: Mostra al termine di ogni pagina un messaggio che invita a premere la barra spaziatrice per passare alla prossima pagina oppure il tasto "<ttkbd>q</ttkbd>" per uscire.
Dopo aver visualizzato una pagina di testo, ''more'' rimane normalmente in attesa di comandi da parte dell'utente.
;<ttkbd>+''num''</ttkbd>: Inizia a mostrare il testo partendo dalla sua linea indicata dal numero di linea ''num''.
Alcuni di essi possono essere preceduti da un numero che ne influenza il comportamento.
;<ttkbd>+/''regexp''</ttkbd>: Inizia a mostrare il testo dalla prima occorrenza dell'[[espressione regolare]] indicata dal parametro ''regexp''.
 
;<kbd>h</kbd>: Mostra una pagina di aiuto dei comandi (da '''''h'''elp'', ''aiuto'')
Alcuni dei comandi più comuni sono:
;<ttkbd>hq</ttkbd>: MostraEsce unada pagina di aiuto dei comandi''more'' (da '''''hq'''elpuit'', ''aiutotermina'').
;<kbd>[''numero_linee'']''spazio''</kbd>: Avanza di una pagina, o avanza del numero di linee indicato da ''numero_linee'' se specificato
;<tt>q</tt>: Esce da ''more'' (da '''''q'''uit'', ''termina'').
;<ttkbd>[''numero_lineenumero_pagine'']''spazio''f</ttkbd>: Avanza di una pagina, o avanza del numero di lineepagine indicato da ''numero_lineenumero_pagine'' se specificato (da '''''f'''orward'', ''avanti'').
;<ttkbd>[''numero_pagine'']fb</ttkbd>: AvanzaTorna indietro di una pagina o del numero di pagine indicato da ''numero_pagine'' se specificato (da '''''fb'''orwardackwards'', ''avantiindietro''). Questo comando è tipicamente disponibile solo se si esaminano dei file, e non se i dati sono letti dallo ''standard input''.
;<ttkbd>[''num'']n/''regexp''</ttkbd>: PassaRicerca allain avanti la prossima (o la ''num''-esima) occorrenza dell'ultima[[espressione ricercaregolare]] effettuata''regexp''.
;<tt>[''numero_pagine'']b</tt>: Torna indietro di una pagina o del numero di pagine indicato da ''numero_pagine'' se specificato (da '''''b'''ackwards'', ''indietro''). Questo comando è tipicamente disponibile solo se si esaminano dei file, e non se i dati sono letti dallo ''standard input''.
;<ttkbd>[''num'']/''regexp''n</ttkbd>: RicercaPassa in avanti laalla prossima (o la ''num''-esima) occorrenza dell'[[espressioneultima regolare]]ricerca ''regexp''effettuata.
;<kbd>!''comando''</kbd>: Avvia il comando esterno specificato.
;<tt>[''num'']n</tt>: Passa alla prossima (o la ''num''-esima) occorrenza dell'ultima ricerca effettuata.
;<ttkbd>!''comando''v</ttkbd>: Avvia ilun comando[[editor di testo]] esterno specificato(tipicamente [[Vi (software)|vi]]) per modificare il file.
;<tt>v</tt>: Avvia un [[editor di testo]] esterno (tipicamente [[Vi (software)|vi]]) per modificare il file.
 
== Esempi ==
Mostra il contenuto del file <ttkbd>/var/adm/syslog</ttkbd>:
more /var/adm/syslog