Red Hat Linux 9: Red Hat Linux Getting Started Guide | ||
---|---|---|
Indietro | Capitolo 13. Conoscenze di base sul prompt della shell | Avanti |
Finora sono stati presentati numerosi comandi della shell per leggere file con gli editor di testo. In questa sezione ve ne presentiamo altri.
Potete usare il comando head per osservare l'inizio di un file. Digitate quanto segue:
head <filename> |
head può rivelarsi un comando utile, ma poiché è limitato alle prime righe, non potete vedere l'effettiva lunghezza del file. Per default, potete leggere solo le prime dieci righe di un file. È comunque possibile modificare questo numero, specificandone uno diverso, come nel seguente esempio:
head -20 <filename> |
L'opposto di head è tail. Usando il comando tail, potete visualizzare le ultime dieci righe di un file. Questo potrebbe essere utile per visualizzare le ultime 10 righe di un file di log che contiene messaggi importanti del sistema. Inoltre potete usare tail per osservare i file di log durante aggiornamenti. Usando l'opzione -f, il comando tail automaticamente stampa nuovi messaggi da un file che è attualmente aperto, sullo schermo in tempo reale. Per esempio, per osservare attivamente il file /var/log/messages, digitate quanto segue al prompt della shell come l'utente root:
tail -f /var/log/messages |
Il comando grep risulta utile per trovare stringhe di caratteri specifiche all'interno di un file. Per esempio, se vi occorre trovare ogni riferimento alla parola "coffee" nel file sneakers.txt, digitate:
grep coffee sneakers.txt |
Vedrete tutte le righe in quel file dove compare la parola "coffee".
![]() | Suggerimento |
---|---|
A meno che non sia diversamente specificato, le ricerche di grep fanno una distinzione tra maiuscole e minuscole. Questo significa che la parola Coffee è diversa da coffee. Comunque tra le opzioni di grep si trova -i, che vi consente di effettuare una ricerca che non fa distinzione tra "maiuscole e minuscole". Per maggiori informazioni su grep consultate la pagina man relativa. |
Potete utilizzare i pipe e il ridirezionamento dell'output per memorizzare e/o stampare informazioni da leggere in un secondo momento.
Per esempio, potete utilizzare grep per cercare contenuti particolari di un file e salvare i risultati della ricerca o inviarli alla stampante.
Per stampare le informazioni relative all'occorrenza della parola "coffee" in sneakers.txt, per esempio, digitate:
grep coffee sneakers.txt | lpr |
Cosa fare nel caso vi siate dimenticati il nome del file che state cercando? Utilizzando dei caratteri jolly o delle espressioni regolari potete eseguire delle azioni su uno o più file senza conoscerne il nome intero. Basta inserire le informazioni conosciute, quindi sostituire le restanti con un carattere jolly. Tali caratteri sono simboli speciali che possono sostituire lettere, numeri e simboli e che rendono le ricerche di directory e file particolari più semplici rispetto a un esame di lunghi elenchi di directory per trovare quanto desiderato.
![]() | Suggerimento |
---|---|
Per saperne di più sui caratteri jolly o sulle espressioni regolari, date un'occhiata alla pagina man di bash (man bash). Ricordate che potete salvare le informazioni visualizzate in formato testo digitando man bash | col -b > bash.txt. Potete poi aprire e leggere il file con less o vi (vi bash.txt). Se volete stampare il documento, ricordate che è piuttosto lungo. |
Il file si chiama "sneak____.txt," quindi digitate:
ls sneak*.txt |
ecco che compare il nome intero del file:
sneakers.txt |
L'asterisco (*) vi risulterà senz'altro utile durante le vostre ricerche, infatti controlla qualsiasi file che coincida con la sequenza che state cercando. Digitando perfino:
ls *.txt |
oppure:
ls sn* |
viene individuato il file sneakers.txt e qualsiasi altro file il cui nome inizi con sn o finisca con .txt. Se si limita la ricerca il più possibile, diventa più facile individuare il file.
Un modo per limitare una ricerca è quello di usare il punto interrogativo (?) che, come l'asterisco, aiuta a individuare un file che corrisponda alla sequenza di ricerca.
In questo caso, però ? è utile per cercare un solo carattere, quindi se state cercando sneaker?.txt, i risultati della ricerca saranno sneakers.txt e/o sneakerz.txt, se esiste un simile nome di file.
Le espressioni regolari sono, invece, più complesse del semplice asterisco o punto di domanda.
Quando l'asterisco fa parte del nome di un file, per esempio, sneak*.txt, allora vanno utilizzate le cosiddette espressioni regolari.
Con il backslash (\) potete specificare che non intendete cercare tutto usando l'asterisco, ma che state cercando un file con un asterisco nel nome.
Se il file si chiama sneak*.txt, digitate:
sneak\*.txt |
Ecco un breve elenco di caratteri jolly e di espressioni regolari:
* — Corrisponde a tutti i caratteri
? — Corrisponde a un solo carattere della stringa
\* — Corrisponde al carattere *
\? — Corrisponde al carattere ?
\) — Corrisponde al carattere )