14.4. Manipolazione dei file al prompt della shell

I file si possono facilmente elaborare utilizzando un file manager, quale Nautilus oppure Konqueror. Possono essere manipolati anche al prompt di una shell, spesso addirittura più velocemente. Ecco una spiegazione di come procedere.

14.4.1. Creazione di file

È possibile creare nuovi file con applicazioni quali editor di testo o utilizzando il comando touch, che consente di creare un file vuoto per aggiungere testo o dati. Per creare un file con touch, digitate il seguente comando al prompt della shell:

touch <nomefile>

Sostituite <nomefile> con il nome che desiderate. All'interno della directory potete vedere che il file contiene zero (0) byte di informazioni perché è vuoto.

[sam@halloween]ls -l newfile
-rw-rw-r--    1 sam      sam             0 Apr 10 17:09 newfile

14.4.2. Copia dei file

Come per molte funzioni di Linux, avete una gamma di opzioni fra le quali scegliere quando maneggiate file e directory. Avete anche la possibilità di utilizzare dei caratteri jolly come illustrato nel la Sezione 13.11.5, per copiare, spostare o cancellare gli elementi e le directory più velocemente.

Per copiare un file, digitate il comando seguente:

cp <sorgente> <destinazione>

Sostituite <sorgente> con il nome del file che desiderate copiare e <destinazione> con il nome della directory nella quale desiderate collocare il file.

Per copiare il file sneakers.txt nella directory tigger/, che si trova nella vostra home directory, spostatevi nella vostra directory e digitate:

cp sneakers.txt tigger/

Potete usare sia percorsi relativi sia percorsi assoluti con cp. La vostra home directory è genitore della directory tigger, mentre tigger è una sottodirectory della home directory.

Per un elenco completo delle opzioni disponibili con cp visualizzate la pagina man cp. Di seguito sono riportate alcune delle opzioni che potete usare con cp:

Adesso che il file sneakers.txt si trova nella directory tigger, utilizzate cp -i per copiare nuovamente il file nella stessa posizione.

[newuser@localhost newuser]$ cp -i sneakers.txt tigger
cp: overwrite 'tigger/sneakers.txt'?

Per sovrascrivere il file esistente, premete [Y] e [Invio]. Se non volete sovrascrivere il file, premete [N] e [Invio].

14.4.3. Spostamento dei file

Per spostare un file, usate il comando mv. Per maggiori informazioni su mv, consultate la pagina man mv (digitate man mv).

Di seguito sono riportate alcune delle opzioni di mv:

Se volete spostare un file della vostra home directory in un'altra directory, digitate quanto segue (vi dovete trovare nella vostra home directory):

mv sneakers.txt tigger

Lo stesso comando usato con percorsi assoluti è simile a mv sneakers.txt /home/newuser /home/newuser/tigger.

14.4.4. Eliminazione di file e directory

Avete imparato a creare i file con il comando touch e avete creato la directory tigger usando mkdir.

Ora dovete imparare a eliminare file e directory. L'eliminazione di file e directory con il comando rm è un processo semplice. Consultate la pagina man rm per maggiori informazioni. Le opzioni per la rimozione di file e directory includono:

Per eliminare il file piglet.txt con il comando rm, digitate quanto riportato di seguito:

rm piglet.txt

AttenzioneAvvertenza
 

Dopo avere eliminato un file o una directory con il comando rm, non potrete più recuperarlo.

Utilizzate l'opzione -i (interattivo) per avere la possibilità di confermare se volete davvero eliminare il file.

[newuser@localhost newuser]$ rm -i piglet.txt
rm: remove 'piglet.txt'?

Potete anche eliminare i file usando il carattere jolly *, ma prestate attenzione, perché potreste facilmente eliminare file che in realtà vi interessano.

Per eliminare un file usando un carattere jolly digitate:

rm pig*

Il comando soprastante rimuoverà tutti i file nella directory che inizia con le lettere pig.

Potete anche rimuovere più file usando il comando rm. Per esempio:

rm piglet.txt sneakers.txt

Potete usare rmdir per rimuovere una directory (rmdir foo, per esempio), ma solo se la directory è vuota. Per rimuovere le directory con il comando rm, dovete specificare l'opzione -r.

Per esempio, per eliminare ricorsivamente la directory tigger digitate:

rm -r tigger

Se volete unire due opzioni, per esempio forzando un'eliminazione ricorsiva, potete digitare:

rm -rf tigger

Un'alternativa più sicura per usare rm per eliminare le directory è rappresentata dal comando rmdir, che non vi consente di eliminare i file in modo ricorsivo. In questo modo una directory che contiene dei file non verrà eliminata.

AttenzioneAvvertenza
 

Con il comando rm potete eliminare l'intero file system. Se siete collegati come root e digitate il comando rm -rf /, avrete dei seri problemi. Questo comando elimina ricorsivamente tutto ciò che si trova sul vostro sistema.

Per maggiori informazioni su questo comando, leggete la pagina man rmdir (man rmdir).