next up previous contents index
Next: Eliminare file con rm Up: Spostare Informazioni Previous: Spostare Informazioni

cp come un amanuense

  cp [-i] origine destinazione
cp [-i] file1 file2 ...fileN directory di destinazione4.7
cp è uno strumento molto utile sotto Unix, ed estremamente potente: permette ad una persona di copiare più informazioni in un secondo di un monaco amanuense in un anno. Fate attenzione con cp se non avete molto spazio nel disco. Nessuno vuole vedere il messaggio Error saving-disk full mentre sta copiando dei dati importanti. cp può anche sovrascrivere i file esistenti senza avvisare--parlerò di questi pericoli più avanti. Per prima cosa parleremo della prima linea del modello del comando: il primo parametro di cp è il file da copiare, il secondo è dove copiarlo. Si può copiare con un nuovo nome o su una diversa directory. Proviamo alcuni esempi:
56#56
Con il primo cp ho copiato il file /etc/passwd , che contiene i nomi di tutti gli utenti del sistema UNIX e le loro password (criptate), nella mia home directory. cp non elimina il file sorgente; in questo modo non ho fatto niente che possa danneggiare il sistema. Così adesso esistono due copie di /etc/passwd nel mio sistema, entrambe chiamate passwd, una nella directory /etc e una in /home/larry. Poi ho creato una terza copia di /etc/passwd  quando ho scritto cp passwd frog--le tre copie sono: /etc/passwd, /home/larry/passwd e /home/larry/frog. Il contenuto di questi tre file è lo stesso, anche se hanno nomi diversi. cp può copiare file tra directory se il primo parametro è un file e il secondo una directory; in questo caso, il nome breve del file resta lo stesso. Può copiare un file e cambiarne il nome se entrambi i parametri sono nomi di file. Questo è un pericolo di cp: se io avessi scritto cp /etc/passwd /etc/group, cp avrebbe creato un nuovo file con contenuto identico a passwd e l'avrebbe chiamato group, ma se /etc/group esisteva già, cp avrebbe distrutto il vecchio file senza darvi la possibilità di salvarlo! (Non avrebbe nemmeno stampato un messaggio facendovi presente che stavate distruggendo un file copiandocene un altro sopra!) Vediamo un altro esempio di cp:
57#57
Come ho usato cp? Evidentemente cp accetta più di due parametri (è la seconda linea nel modello del comando). Quello che ha fatto il comando precedente è stato copiare tutti i file elencati (frog e passwd) e metterli nella directory passwd_version. In effetti cp può prendere un numero qualsiasi di parametri, interpretando i primi
n-1 parametri come file da copiare, e l' 58#58 come directory in cui copiarli. Non si possono rinominare i file quando se ne copiano più di uno alla volta--mantengono sempre il loro nome. Questo porta ad una domanda interessante: cosa succede se scrivo cp inittab pippo pluto, dove inittab e pippo esistono e pluto non è una directory? Provate e vedrete.  
next up previous contents index
Next: Eliminare file con rm Up: Spostare Informazioni Previous: Spostare Informazioni
Eugenia Franzoni
1998-09-29