Red Hat Linux 7.0: The Official Red Hat Linux Getting Started Guide | ||
---|---|---|
Indietro | Capitolo 16. Gestione di File e Directory | Avanti |
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.
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:
-i -- interattivo. Vi chiede di confermare se il file dovrà sovrascrivere il file di destinazione. Questa è un'opzione utile poichè può aiutare a prevenire errori.
-r -- ricorsivo. Invece di copiare tutti i file e le directory, copia l'intero sotto-albero della directory, tutte le sotto-directory e i file compresi, trasferendoli in un'altra locazione.
-v - verbose. Vi fornirà informazioni sul progresso della copia dei file.
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.
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:
-i -- interattivo. Vi chiederà conferma se il file che state muovendo sovrascriverà un file con lo stesso nome nella directory di destinazione. Come con l'opzione -i in cp, vi sarà data la possibilità di sostituire un file esistente.
-f -- forza. Non tiene conto della modalità interattiva e muove i file senza chiedere conferma. A meno che non sapete ciò che state facendo, questa opzione non è molto sicura; siate prudenti nel suo utilizzo fino a quando non vi sentirete a vostro agio con il vostro sistema.
-v -- verbose. Mostra una lista dei file che vengono spostati.
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.
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 |
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:
-i -- interattivo. Vi viene chiesta la conferma della cancellazione.
-f -- forza. Non tiene conto della modalità interattiva e rimuove i/il file senza alcuna richiesta di conferma. Usate questa opzione solo se sapete esattamente ciò che state facendo.
-v -- verbose. Mostra la lista di file che vengono rimossi.
-r -- ricorsivo. Quando rimuovete le directory, verranno rimossi anche tutti i file e le sottodirectory della directory specificata. Verranno eliminate anche le directory vuote.
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 |
Attenzione! | |
---|---|
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.