venerdì 22 ottobre 2010

Copiare file e directory

La copia dei file, assieme ai comandi ls e cd, è una delle operazioni più eseguite in un terminale Linux. Il comando cp permette di copiare file e cartelle, la sintassi da usare è la seguente: cp sorgente destinazione, dove sorgente è il nome del file da cui copiare mentre destinazione è il nome del file in cui scrivere la copia. Gli argomenti sorgente e destinazione passati al comando cp possono essere path assoluti o relativi. Attenzione, se copiate un file nella stessa cartella di destinazione assicuratevi di usare un nome diverso dal file originale altrimenti il processo di copia non avrà inizio. Se la destinazione del file copiato è invece diversa dalla sorgente potete allora mantenere il nome originale del file.

Con il carattere jolly * possiamo copiare più file. Ad esempio, con il comando cp /home/user/Downloads/mp3/*.mp3 /media/pendriveusb/Musica/ indico al terminale di Linux di copiare tutti i file mp3 nell'omonima cartella (ho usato un path assoluto, a partire dalla directory radice) nella cartella Musica presente sulla pen-drive usb (montata al file system in /media/pendriveusb).

Il comando cp sovrascive i file da copiare sui file già presenti nel path di destinazione, se questi già esistono. Nessun messaggio viene inviato all'utente sulla presenza di file con lo stesso nome! Se vogliamo essere avvertiti da questa eventualità va allora usato il comando cp con l'argomento -i (interactive). Solo in questo caso il terminale ci avverte della presenza di file che stanno per essere sovrascritti. Saremo noi a decidere se continuare o lasciar perdere la copia.

Per copiare un'intera directory va usato il comando cp con l'argomento -R (recursive). Solo in questo modo verranno copiate sia le directory che i file. Ad esempio, il comando: cp -R /home/user/Downloads/mp3/ /media/pendriveusb/Musica/ copia la cartella mp3 con tutti i file presenti all'interno nella cartella Musica della pen-drive usb.

Nessun commento:

Posta un commento