More (Unix): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m ortografia
Messbot (discussione | contributi)
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=http://groups.google.com/group/comp.society.folklore/msg/c49979b248fc9494?dmode=source
|titolo=The Early History of the more Command
Riga 36:
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]].
 
Tra le opzioni comuni alle varie implementazioni vi sono:
;<ttkbd>-c</ttkbd>: Nel presentare le pagine, evita di far scorrere lo schermo.
;<ttkbd>-s</ttkbd>: Raggruppa le linee vuote, mostrando una sola linea vuota per ogni gruppo di linee vuote consecutive.
;<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.
 
Tra le opzioni delle implementazioni di ''more'' in stile [[BSD]] vi sono anche:
;<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.
;<ttkbd>+''num''</ttkbd>: Inizia a mostrare il testo partendo dalla sua linea indicata dal numero di linea ''num''.
;<ttkbd>+/''regexp''</ttkbd>: Inizia a mostrare il testo dalla prima occorrenza dell'[[espressione regolare]] indicata dal parametro ''regexp''.
 
=== Comandi ===
Riga 55:
 
Alcuni dei comandi più comuni sono:
;<ttkbd>h</ttkbd>: Mostra una pagina di aiuto dei comandi (da '''''h'''elp'', ''aiuto'')
;<ttkbd>q</ttkbd>: Esce da ''more'' (da '''''q'''uit'', ''termina'').
;<ttkbd>[''numero_linee'']''spazio''</ttkbd>: Avanza di una pagina, o avanza del numero di linee indicato da ''numero_linee'' se specificato
;<ttkbd>[''numero_pagine'']f</ttkbd>: Avanza di una pagina o del numero di pagine indicato da ''numero_pagine'' se specificato (da '''''f'''orward'', ''avanti'').
;<ttkbd>[''numero_pagine'']b</ttkbd>: 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''</ttkbd>: Ricerca in avanti la prossima (o la ''num''-esima) occorrenza dell'[[espressione regolare]] ''regexp''.
;<ttkbd>[''num'']n</ttkbd>: Passa alla prossima (o la ''num''-esima) occorrenza dell'ultima ricerca effettuata.
;<ttkbd>!''comando''</ttkbd>: Avvia il comando esterno specificato.
;<ttkbd>v</ttkbd>: 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