More (Unix): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
PertBot (discussione | contributi)
m Robot: Modifico Categoria:Comandi Unix/Linux in Categoria:Comandi Unix
Funzionalità collegamenti suggeriti: 2 collegamenti inseriti.
 
(7 versioni intermedie di 6 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:
 
;<ttkbd>-c</ttkbd>: 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.
;<ttkbd>-s</kbd>: Raggruppa le linee vuote, mostrando una sola linea vuota per ogni gruppo di linee vuote consecutive.
;<kbd>-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''.
;<ttkbd>h</ttkbd>: Mostra una pagina di aiuto dei comandi (da '''''h'''elp'', ''aiuto'')
 
;<ttkbd>q</ttkbd>: Esce da ''more'' (da '''''q'''uit'', ''termina'').
=== Comandi ===
;<ttkbd>[''numero_linee'']''spazio''</ttkbd>: Avanza di una pagina, o avanza del numero di linee indicato da ''numero_linee'' se specificato
Dopo aver visualizzato una pagina di testo, ''more'' rimane normalmente in attesa di comandi da parte dell'utente.
;<ttkbd>[''numero_pagine'']f</ttkbd>: Avanza di una pagina o del numero di pagine indicato da ''numero_pagine'' se specificato (da '''''f'''orward'', ''avanti'').
Alcuni di essi possono essere preceduti da un numero che ne influenza il comportamento.
;<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''.
Alcuni dei comandi più comuni sono:
;<ttkbd>[''num'']n</ttkbd>: Passa alla prossima (o la ''num''-esima) occorrenza dell'ultima ricerca effettuata.
;<tt>h</tt>: Mostra una pagina di aiuto dei comandi (da '''''h'''elp'', ''aiuto'')
;<ttkbd>!''comando''</ttkbd>: Avvia il comando esterno specificato.
;<tt>q</tt>: Esce da ''more'' (da '''''q'''uit'', ''termina'').
;<ttkbd>v</ttkbd>: Avvia un [[editor di testo]] esterno (tipicamente [[Vi (software)|vi]]) per modificare il file.
;<tt>[''numero_linee'']''spazio''</tt>: Avanza di una pagina, o avanza del numero di linee indicato da ''numero_linee'' se specificato
;<tt>[''numero_pagine'']f</tt>: Avanza di una pagina o del numero di pagine indicato da ''numero_pagine'' se specificato (da '''''f'''orward'', ''avanti'').
;<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''.
;<tt>[''num'']/''regexp''</tt>: Ricerca in avanti la prossima (o la ''num''-esima) occorrenza dell'[[espressione regolare]] ''regexp''.
;<tt>[''num'']n</tt>: Passa alla prossima (o la ''num''-esima) occorrenza dell'ultima ricerca effettuata.
;<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
 
Riga 79 ⟶ 76:
 
== Voci correlate ==
* [[Lessless (Unix)]]
 
{{Comandi Unix}}
Riga 85 ⟶ 82:
 
[[Categoria:Comandi Unix]]
[[Categoria:Util-linux]]
 
[[cs:More (příkaz)]]
[[da:More (program)]]
[[de:More (Kommandozeilenbefehl)]]
[[en:More (command)]]
[[es:More (comando)]]
[[fr:More (Unix)]]
[[hu:More (unix)]]
[[ja:More (UNIX)]]
[[ko:More]]
[[pa:ਮੋਰ (ਕਮਾਂਡ)]]
[[pl:More (Unix)]]
[[pt:More (Unix)]]
[[ro:More (Unix)]]
[[ru:More]]
[[uk:More]]
[[vi:More (lệnh)]]
[[zh:More]]