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.