Copiare, spostare e rinominare File e Directory

Fino ad ora avete imparato qualcosa riguardo la struttura del filesystem; e avete imparato come creare file e directory.

Ma il fatto di sapere come creare file e directory non vuol dire che non potete cambiare le modifiche che avete apportato. Come si pu� spostare e/o rinominare file e directory?

Cominciamo con il comando copy.

Copiare File

Avrete una variet� di opzioni dalle quali scegliere quando volete manipolare file e directory. Potrete utilizzare anche le wildcard durante la copia, lo spostamento o la cancellazione dei file e delle directory.

Generalmente, dare il comando copy non � molto pi� complesso che scrivere:

cp <source> <destination>
	    

Cos� per copiare il file sneakers.txt nella directory tigger nella vostra directory di login, digitate:

cp sneakers.txt tigger
	    

Notate che potete utilizzare anche percorsi relativi per copiare i file. Potete utilizzare sia percorsi relativi sia assoluti con il comando cp. La nostra directory di login � la directory precedente alla directory tigger; questo vuol dire che tigger � pi� gi� di una directory rispetto alla nostra.

Leggete la pagina man di cp (man cp) per ricevere una lista completa di opzioni disponibili con cp. Tra le opzioni che potrete utilizzare con cp ci sono:

Utilizzando solo cp, non vedrete molto quando il comando verr� eseguito. Utilizzando un'opzione come -i, pu� rendere il processo un po' pi� utile, poich� se volete copiare un file in una locazione che ha gi� un file con lo stesso nome, vi verr� prima richiesta la conferma di sovrascrittura -- questo vuol dire che verr� sostituito -- dal file che � gi� presente.

Adesso che abbiamo il file sneakers.txt nella directory tigger utilizziamo il comando cp -i per copiare ancora i file nello stesso luogo.

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

Per sovrascrivere il file gi� presente, premete Y e quindi Enter. Non volete sovrascrivere il file? Premete N e poi Enter.

Spostare i File

Per spostare i file, utilizzate il comando mv (man mv), che � simile al comando cp. Con mv il file viene fisicamente mosso da un posto all'altro, invece di essere duplicato come con cp.

Le opzioni disponibili con mv includono:

Se volete spostare un file dalla vostra home directory in un altra directory, digitate:

mv sneakers.txt tigger
	    

o, mv sneakers.txt /home/newuser /home/newuser/tigger utilizzando percorsi assoluti.

Rinominare i File

In verit�, abbiamo gi� trattato in parte questo argomento, visto che quando copiate o muovete i file potete anche rinominarli.

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

cp sneakers.txt tigger
	    

Per copiare e rinominare questo file da sneakers.txt a piglet.txt, digitate:

cp sneakers.txt tigger/piglet.txt
	    

Per spostare e rinominare il file, basta sostituire mv con cp nell'esempio precedente.

Se vi spostate con cd in tigger ed usate ls, vedrete il file piglet.txt.

Se volete rinominare il file nella sua posizione, utilizzate il comando mv nella directory corrente:

mv  sneakers.txt piglet.txt
	    

Cancellare File e Directory

Ora sapete come creare file con il comando touch e come utilizzare la ridirezione presentata nel Capitolo 15. Avete creato la directory tigger utilizzando mkdir.

Ma non sapete come cancellare i file e le directory.

Cancellare file e directory con il comando rm (man rm) � un processo intuitivo.

Provate a creare un nuovo file piglet.txt, e a cancellarlo dalla directory tigger con il comando rm:

rm piglet.txt
	    

Cosa succede se non volete realmente cancellarlo? Troppo tardi! Ecco che l'opzione -i (interattivo) torna utile, poich� fornisce una seconda possibilit� se volete davvero cancellare il file.

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

Potrete anche cancellare file utilizzando la wildcard *, ma fate attenzione, perch� potreste facilmente cancellare i file senza volerlo.

Per rimuovere un file utilizzando una wildcard, digitate:

rm pig*
	    

Potete anche rimuovere pi� di un file con un solo comando, come con:

rm piglet.txt sneakers.txt
	    

Le opzioni per la rimozione di file -- e directory -- includono:

Per rimuovere una directory con rm, dovete specificare l'opzione -r.

Per esempio, se volete cancellare la directory tigger scrivete:

rm -r tigger
	    

Se volete combinare le opzioni, come la cancellazione, potrete digitare:

rm -rf tigger
	    

CautelaAttenzione!
 

Il comando rm � un comando molto potente, e potrebbe cancellare l'intero sistema! Se utilizzate l'utente root e digitate semplicemente il comando rm -rf / avvierete l'autodistruzione -- come un serpente che mangia la sua coda, il comando rimuover� in modo ricorsivo ogni cosa dal vostro sistema.

Un'alternativa pi� sicura di utilizzare rm per rimuovere le directory � il comando rmdir.

Leggete la pagina man di rmdir digitando man rmdir per avere maggiori informazioni circa questo comando.