Abbiamo imparato a parlare alla shell di Linux, ora dobbiamo sapere cosa dire e studiare i principali comandi. Il primo che andremo a descrivere è cpio, un programma che consente di creare file compressi per archiviazione. Il comando cpio ha 3 modalità, “Copy in” che elenca il contenuto di un archivio o ripristino di un archivio e si ottiene con l’opzione -i; “Copy out” che crea un archivio e si ottiene con l’opzione -o; “Copy-thru” che copia una parte di una gerarchia di file da una posizione all’altra e si ottiene con l’opzione -p. La sintassi del comando è diversa per il compito che deve fare:
- cpio -i [opzioni] < archivio pat
- cpio -o [opzioni] < lista_file > archivio
- cpio -p [opzioni] < lista_file destinazione
Le opzioni possono essere:
- -a ripristina la data di accesso del file dopo la copia.
- -d crea le directory se necessario.
- -F file utilizza file come archivio anzichè stdin o stdout.
- -H fmt definisce il formato dell’archivio.
- -m mantiene la data di modifica al momento dell’archiviazione.
- -t visualizza l’elenco dei file nell’archivio.
- -u forza il ripristino anche se il file è meno recente.
- -v elenca i nomi dei file mentre vengono elaborati.
Chiariamo meglio con un esempio:
find . -print | cpio -oa > /dev/tape
In questo comando, abbiamo utilizzato il | che consente come abbiamo visto di utilizzare l’output del primo comando ( find per trovare i file nella directory corrente ) sul secondo e redirezioniamo l’output sul dispositivo tape ( il nastro di backup normalmente ) o potremmo anche farlo su un file.
find . -print | cpio -oa > archivio.bkp
Abbiamo utilizzato l’opzione a per mantenere la data di accesso originale dei file. Per leggere l’archivio appena creato:
cpio -itv < /dev/tape
cpio -itv < archivio.bkp
Abbiamo utilizzato gli argomenti -t per visualizzare i file senza rispristinarli e -v per visualizzare i dettagli dei file nell’archivio.
Ogni comando in Linux è ben documentato, è possibile richiamare la sintassi del comando con:
comando –help
o richiamare il man ( un piccolo, ma completo help ) del comando:
man comando
La prossima volta parleremo ancora di comandi per archiviare e più in particolare di gzip, zip e tar.