Copiare, spostare, rinominare e cancellare file

Fino ad ora avete imparato qualcosa sulla struttura del filesystem e su come creare file e directory.

Ma il fatto che sappiate creare un file o una directory non significa che dobbiate conservare i cambiamenti che avete fatto. Questa sezione spiega come copiare, spostare, rinominare e cancellare file e directory.

Copiare file

Come per molte funzioni di Linux, avete una gamma di opzioni fra le quali scegliere quando maneggiate file e directory. Potete usare anche le wildcard.

Per copiare un file, digitate il comando seguente:

cp <filesorgente> <destinazione>

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

cp sneakers.txt tigger

Notate che avete anche usato dei percorsi relativi per copiare il file. Con il comando cp potete usare sia percorsi relativi che assoluti. La nostra directory di login è imparentata con la directory tigger; tigger è una sottodirectory della directory di login.

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

Se usate cp senza opzioni, non vedete molto quando eseguite il comando. L'utilizzo di un'opzione come -i può rendere il processo più utile. Se volete copiare un file in una posizione dove esiste già un file con lo stesso nome, vi viene chiesto se volete veramente sovrascrivere (o sostituire) il file esistente.

Adesso che il file sneakers.txt si trova nella directory tigger, usate cp -i per copiare di nuovo 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 poi Invio. Se non volete sostituire il file, premete N e Invio.

Spostare un file

Per spostare un file, usate il comando mv. Questo comando è simile a cp, ma sposta fisicamente il file da un punto a un altro, anziché limitarsi a copiarlo. Per maggiori informazioni su mv, consultate la relativa pagina man digitando man mv.

Di seguito sono riportate alcune delle opzioni di mv:

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

mv sneakers.txt tigger

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

Rinominare un file

A dire il vero abbiamo già trattato in parte la funzione poiché quando copiate o spostate un file, potete anche rinominarlo.

Per copiare il file sneakers.txt della vostra directory di login nella sottodirectory tigger, digitate:

cp sneakers.txt tigger

Per copiare e rinominare il file sneakers.txt con piglet.txt, digitate:

cp sneakers.txt tigger/piglet.txt

Per spostare e rinominare il file, sostituite cp con mv nell'esempio riportato sopra.

Se digitate cd per arrivare al file tigger digitate ls e vedrete il file piglet.txt.

Se volete semplicemente rinominare il file e mantenere la sua posizione, digitate mv per spostarvi nella directory corrente:

mv sneakers.txt piglet.txt

Cancellare file e directory

Avete imparato a creare file usando il comando touch e il ridirezionamento spiegato nel Capitolo 10. Avete anche creato la directory tigger usando mkdir.

Adesso dovete imparare a cancellare file e directory. La cancellazione di file e directory tramite l'utilizzo del comando rm è un processo molto diretto. Per maggiori informazioni, consultate la pagina man di rm. Di seguito sono riportate alcune delle opzioni disponibili:

Per cancellare il file piglet.txt dalla directory tigger digitando il comando rm:

rm piglet.txt

Che cosa succede se non lo volevate cancellare? Troppo tardi! Ecco perché è preferibile usare l'opzione -i. Questa vi offre infatti la possibilità di pensare se volete conservare o cancellare il file.

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

Potete anche cancellare file usando il wildcard *, ma fate attenzione perché rischiate di cancellare file che volevate invece conservare.

Per cancellare un file usando il wildcard, digitate:

rm pig*

Questo comando cancella tutti i file contenuti nella directory che iniziano con le lettere "pig."

Con un unico comando potete cancellare più file:

rm piglet.txt sneakers.txt

Di seguito sono riportate alcune delle opzioni per la rimozione di file e directory:

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

Per esempio, se volete rimuovere la directory tigger, digitate:

rm -r tigger

Se volete combinare più opzioni, per esempio se volete forzare una cancellazione, digitate:

rm -rf tigger

CautelaSiate prudenti quando usate rm!
 

Il comando rm può cancellare tutto il vostro filesystem! Se siete collegati come root e digitate il comando rm -rf /, cancellate tutti i dati contenuti nel vostro sistema.

Come alternativa all'opzione rm potete usare il comando rmdir. Con questo comando non avete l'autorizzazione di cancellare una directory che contiene file.

Per maggiori informazioni sul comando, consultate la pagina man di the rmdir (man rmdir).