TAGS CLOUD
Incrementa dimensioniDecrementa dimensioni
Copia e incolla
Il tool della shell Unix che permette di copiare file e intere directory all’interno del file system
Tra le operazioni che si compiono più spesso durante l’utilizzo del PC, una delle più frequenti è copiare file e directory per posizionarli (incollarli) da una parte all’altra del file system. Per portare a termine queste operazioni, la shell Unix prevede l’uso di un comando specifico ovvero cp (copy). Ma passiamo subito ad analizzare qualche esempio pratico. Supponiamo, ad esempio, di voler copiare il file test.txt dalla nostra home (/home/nome_utente) nella directory /tmp. In questo caso il comando cp dovrà essere eseguito nel modo seguente: cp test.txt /tmp. Al contrario, per creare una copia di test.txt nella stessa directory, chiamandola, ad esempio, copia.txt, il comando precedente diventa cp test.txt copia. txt. In pratica, indicando i nomi di due file “normali”, il primo viene copiato sul secondo, cioè la shell genera una copia esatta del file originale che ha il nome indicato come secondo argomento. Se il secondo parametro (nome) è una directory, invece, il file viene copiato in quest’ultima con lo stesso nome dell’originale. Per copiare più file contemporaneamente, inoltre, bisogna indicare tutti i nomi e l’ultimo deve necessariamente essere una directory, all’interno della quale verranno generate le copie di tutti i file indicati. È chiaro, quindi, che quando si utilizza il carattere jolly “*” (asterisco) per copiare tutti i file contenuti in una directory, la destinazione deve essere un’altra directory. Il comando cp, infine, se non espressamente indicato tramite alcune opzioni particolari, si limita a copiare solo i file normali, escludendo collegamenti simbolici e directory. Le opzioni di cp sono: -r, che consente di copiare file e directory in modo ricorsivo (comprese le sottodirectory) e considera come file tutto ciò che non è una directory; -R, che permette di copiare file e directory in modo ricorsivo includendo anche le sottodirectory; -f, per forzare la scrittura del file o dei file destinazione; -l, per creare un collegamento simbolico invece di copiare il file; -p, che permette di mantenere i permessi dei file originali anche sulle copie; -d, che copia i collegamenti simbolici mantenendoli come tali, invece di copiare il file a cui fanno riferimento. Infine, troviamo -a che corrisponde alle opzioni -dpR per copiare i collegamenti simbolici così come sono.

Il comando cp *.txt /tmp copia solo i file con estensione .txt nella directory /tmp

Utilizzando cp -r temp/* /tmp, copiamo tutto il contenuto della directory temp in /tmp

Con cp -r temp /tmp copiamo l’intera directory temp all’interno di /tmp

Lascia un commento
Tag: Copia e incolla, tool, shell Unix
Condividi