Red Hat Linux 7.0: The Official Red Hat Linux Getting Started Guide | ||
---|---|---|
Indietro | Capitolo 16. Gestione di File e Directory | Avanti |
Se siete nuovi utenti di Linux, vi capiter� spesso di vedere file con estensioni che potrebbero sembrare sconosciute. L'estensione di un file � l'ultima parte del nome del file stesso, dopo il punto finale (nel file sneakers.txt, "txt" � l'estensione di questo file).
Ecco una breve lista di estensioni e dei loro significati:
.Z -- file compresso
.tar -- file archivio (diminutivo per tape archive)
.gz -- file compresso (gzip)
.tgz -- file archiviato con tar e compresso con gzip
.txt -- file di testo ASCII
.html/.htm -- file HTML
.ps -- file PostScript; formattato per la stampa
.au -- file audio
.wav -- file audio
.xpm -- file immagine
.jpg -- file grafico o un immagine, come una foto o un disegno
.gif -- file grafico o un immagine
.png -- file grafico o un immagine
.rpm -- file pacchetto del Package Manager di Red Hat
.conf -- file di configurazione
.a -- file archivio
.lock -- file "lock"; determina se un programma � in uso
.h -- file header per il linguaggio di programmazione C e C++
.c -- file di codice sorgente per il linguaggio di programmazione C
.cpp -- file di codice sorgente per il linguaggio di programmazione C++
.o -- file oggetto
.pl -- script Perl
.tcl -- script TCL
.so -- libreria
Ma le estensioni dei file non vengono sempre utilizzate. Quindi cosa avviene quando un file non ha un'estensione, oppure il file non sembra essere quel tipo di file indicato dall'estensione?
Questi sono i casi in cui il comando file pu� essere utile.
Nel Capitolo 15, abbiamo creato un file chiamato saturday -- senza un'estensione. Utilizzando il comando file, possiamo scoprire di che file si tratta digitando:
file saturday |
vedremo che si tratta di un file di testo. Qualunque file che viene riconosciuto come file di testo � leggibile tramite cat, more, o less.
![]() | Leggere la pagina man |
---|---|
Per maggiori informazioni sul comando file, leggete la pagina man di file digitando man file. |
Vediamo come leggere i file…
Ci sono molti modi per leggere file sotto Linux. Nel Capitolo 15, per esempio, abbiamo trattato i pager more e less -- vengono chiamati pager perch� potete scorrere le "pagine" dei documenti uno schermo alla volta. Abbiamo anche imparato come possiamo non solo vedere ma manipolare file con il comando cat .
Ma esistono anche altre opzioni: per esempio, quando dovete leggere file README, pagine man o documenti che avete creato.
Avrete a disposizione un certo numero di strumenti per leggere i file, o gli editor di testi come pico, emacs, vim, i pager more e less, e i visualizzatori head, tail, cat, e grep.
Provate a guardare alcune caratteristiche di questi strumenti.
Nel Capitolo 15, abbiamo introdotto il pager less. Less � il pager che viene utilizzato per mostrare le pagine man.
Per consultare la pagina man di less digitate
man less |
Per muovervi avanti nello schermo, premete Spazio; per muovervi indietro premete B, e per uscire, premete Q.
Ci sono altre potenti caratteristiche di less, come la capacitt� di scorrere orizzontalmente il testo e specificare il numero di linee da scorrere.
Anche se potrebbe sembrare strano, more offre meno caratteristiche di less (in verit�, less � stato ispirato da more).
Diamo uno sguardo alla pagina man di more, ma questa volta aprite la pagina utilizzando more -- utilizzando la pipe per ridirezionare l'output di man a more.
man more | more |
All'inizio potrebbe non sembrare cos� diverso, ma il comando more accetta meno comandi del comando less. Probabilmente la differenza pi� sostanziale � la caratteristica di non poter far scorrere indietro un documento -- rimangono uguali i comandi per muoversi avanti (utilizzando Spazio) e per uscire (premendo Q.
Potete utilizzare il comando head se volete guardare solo l'inizio di un file. Il comando �:
head <filename> |
Head pu� essere utile, ma poich� il comando si limita alla visualizzazione delle prime righe, non � possibile sapere quanto � effettivamente lungo il file. Di default, appaiono solo le prime 10 righe di un file, anche se potete specificare il numero di righe da visualizzare digitando:
head -20 <filename> |
Leggete la pagina man del comando head (man head) per maggiori informazioni. Probabilmente troverete less o more pi� utili, poich� potrete scorrere il file per intero se vi accorgete che le informazioni che cercavate si trovano pi� avanti di quanto credavate.
L'opposto di head, � tail. Con (tail), potrete rivedere le ultime 10 linee di un file.
Il comando cat, abbreviazione per concatenazione, vi mostrer� l'intero contenuto di un file sullo schermo. Utilizzare cat pu� essere utile se il file � relativamente corto, come quando avete creato sneakers.txt . Ma se un file � abbastanza lungo, scorrer� facilmente oltre lo schermo.
Il comando grep � abbastanza utile per ricercare stringhe di caratteri in un file. Supponiamo che vogliate cercare ogni riferimento alla parola "coffee" nel file sneakers.txt , che avete creato nella vostra directory di login. Potrete digitare:
grep coffee sneakers.txt |
in modo da vedere ogni singola linea nella quale appare la parola "coffee".
![]() | Ricordate le maiuscole e le minuscole |
---|---|
A meno che sia specificato altrimenti, le ricerche di grep sono case sensitive. Questo vuol dire che cercare Coffee e` diverso da cercare coffee. Tra le opzioni di grep troviamo anche -i, che vi permetter� di eseguire una ricerca senza tener conto delle lettere maiuscole/minuscole in un file. Consultate la pagina man di grep per ricevere maggiori informazioni su questo comando. |
Non dimenticate l'utilizzo di pipe e la ridirezione dell'output quando volete salvare e/o stampare informazioni per leggerle in un secondo momento.
Potete, per esempio, utilizzare grep per cercare dei contenuti particolari di un file, quindi salvare o stampare questi risultati.
Per stampare informazioni su riferimenti alla parola "coffee" in sneakers.txt, per esempio, digitate:
grep coffee sneakers.txt | lpr |
Questo comando si comporta in modo simile al comando ls -al /etc | more, che potreste aver utilizzato nel Capitolo 15 per mostrare il contenuto della directory /etc e quindi spedire i risultati attraverso il comando more per visualizzarli sullo schermo.
![]() | � pi� sicuro utilizzare >> |
---|---|
Ricordate le differenze nell'utilizzo di > e >>: > sovrascrive un file, mentre >> aggiunge le informazioni ad un file gi� esistente. In genere, � pi� sicuro utilizzare >>, poich� non perderete informazioni importanti (anche se potreste dover modificare il file se non volete che queste infomazioni vengano aggiunte ad esso). |
Cosa succede se dimenticate il nome del file che state cercando? Non potete dire al vostro computer: "Cerca il file chiamato 'sneak' o 'sneak-qualcosa'".
Bene, in un certo senso � possibile. Utilizzando le wildcard o le espressioni regolari, potete eseguire delle azioni su un file o su pi� file senza sapere il nome completo del file. Digitate solo ci� che conoscete, quindi sostituite il rimanente con una wildcard.
![]() | Approfondimenti su wildcard e sulle espressioni regolari |
---|---|
Per avere maggiori informazioni su wildcard ed espressioni regolari, potete consultare la pagina man della bash (man bash). Ricordate: potete salvare il file in un file di testo digitando man bash | col -b > bash.txt. Quindi, potete aprirlo e visualizzarlo con less o pico (pico bash.txt). Se volete stamparlo, fate attenzione, � molto lungo. |
Sapete che il file si chiama "sneak-something.txt," quindi digitate:
ls sneak*.txt |
ed ecco il nome del file:
sneakers.txt |
Probabilmente utilizzerete l'asterisco (*) frequentemente durante una ricerca. L'asterisco vi permette di cercare qualsiasi cosa che corrisponde al nome che state cercando. Quindi digitando:
ls *.txt |
o:
ls sn* |
troverete sneakers.txt -- Col tempo ci saranno pi� file di testo, e quindi ne verranno mostrati di pi� poich� corrisponderanno al nome che state cercando.
Vi sar� d'aiuto, quindi, restringere il pi� possibile la ricerca.
Per restringere la ricerca utilizzate il punto di domanda (?).
In questo caso, tuttavia, ? � utile per ricercare caratteri singoli -- cos� se state cercando sneaker?.txt, troverete sneakers.txt come risultato -- e/o sneakerz.txt, se questo file esiste.
Se un asterisco, per esempio, fa parte di un nome, come sarebbe il caso se il nome del file sneakers.txt fosse invece sneak*.txt, potrebbe essere utile un'espressione regolare.
Le espressioni regolari sono pi� complesse dell'asterisco, che invece � pi� semplice da utilizzare.
Utilizzando il carattere (\), potrete specificare che non volete cercare qualsiasi cosa utilizzando l'asterisco, ma invece state cercando un file con un asterisco nel nome.
Se il file � chiamato sneak*.txt, allora, digitate:
sneak\*.txt |
Ecco una breve lista di wildcard ed espressioni regolari:
* -- Corrisponde a tutti i caratteri
? -- Corrisponde ad un carattere in una stringa (come sneaker?.txt)
\* -- Corrisponde al carattere *
\? -- Corrisponde al carattere ?
\) -- corrisponde al carattere )
Potete anche utilizzare le wildcard per velocizzare la ricerca: possono essere utili quando volete spostare e rinominare file. Le espressioni regolari possono aiutarvi a rinominare i file che contengono caratteri come * e ? nel loro nome.