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.