More (Unix): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Ianezz (discussione | contributi)
Storia: correzione
Funzionalità collegamenti suggeriti: 2 collegamenti inseriti.
 
(31 versioni intermedie di 18 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=https://www.opengroup.org/onlinepubs/009695399/utilities/more.html
|titolo=more
|accesso=20-06-2008
|opera=The Open Group Base Specifications Issue 6 IEEE Std 1003.1, 2004 Edition
|lingua=en
}}</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 24 ⟶ 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 <kbd>--</kbd> (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]].
 
== ComandiOpzioni ==
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>: Esce Mostrada una 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>: Torna Avanzaindietro 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>: Ricerca Passain allaavanti 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>: Passa Ricerca in avanti laalla prossima (o la ''num''-esima) occorrenza dell'[[espressioneultima regolare]]ricerca ''regexp''effettuata.
* ;<ttkbd>!''comando''</ttkbd>: Avvia il comando esterno specificato.
* <tt>[''num'']n</tt> – Passa alla prossima (o la ''num''-esima) occorrenza dell'ultima ricerca effettuata.
* ;<ttkbd>v</ttkbd>: Avvia un [[editor di testo]] esterno (tipicamente [[Vi (software)|vi]]) per modificare il file.
* <tt>!''comando''</tt> – Avvia il comando esterno specificato.
* <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
 
 
Esegue una ricerca tramite il comando [[Find (Unix)|find]] e visualizza il risultato una pagina per volta (tramite una [[pipeline software]]):
find . -type f -print | more
 
== Alternative ==
[[Less (Unix)|Less]] è un programma del tutto simile a ''more'', ma che offre più funzionalità (ad esempio evidenzia visivamente i termini di ricerca trovati e permette di seguire le aggiunte di nuove linee di testo al termine del file da parte di altri processi).
 
== Note ==
Riga 69 ⟶ 76:
 
== Voci correlate ==
* [[Lessless (Unix)]]
 
== Collegamenti esterni ==
* {{cita web
|url=http://www.opengroup.org/onlinepubs/009695399/utilities/more.html
|titolo=more
|accesso=20-06-2008
|opera=The Open Group Base Specifications Issue 6 IEEE Std 1003.1, 2004 Edition
|lingua=en
}}
 
{{Comandi Unix}}
{{Portale|informatica}}
[[Categoria:Comandi Unix/Linux]]
 
[[Categoria:Comandi Unix/Linux]]
[[da:More (program)]]
[[Categoria:Util-linux]]
[[de:More (Unix)]]
[[en:More (command)]]
[[fr:More (Unix)]]
[[ja:More]]
[[ru:More]]