Il comando cpio viene utilizzato per elaborare i file di archivio (ad esempio, file *.cpio o *.tar).
cpio sta per "copia dentro, copia fuori".
cpio esegue le tre operazioni seguenti.
- Copiare file in un archivio
- Estrazione di file da un archivio
- Passare i file a un altro albero di directory
cpio prende l'elenco dei file dallo standard input durante la creazione di un archivio e invia l'output allo standard output.
1. Crea *.cpio File di archivio
Puoi creare un archivio *.cpio che contiene file e directory usando cpio -ov
$ cd objects $ ls file1.o file2.o file3.o $ ls | cpio -ov > /tmp/object.cpio
Come visto sopra, il comando ls passa i tre nomi di file oggetto al comando cpio e cpio genera l'archivio object.cpio.
2. Estrai il file di archivio *.cpio
estratto cpio:per estrarre un determinato file *.cpio, utilizzare cpio -iv come mostrato di seguito.
$ mkdir output $ cd output $ cpio -idv < /tmp/object.cpio
3. Crea un archivio *.cpio con i file selezionati
L'esempio seguente crea un archivio *.cpio solo con file *.c.
$ find . -iname *.c -print | cpio -ov >/tmp/c_files.cpio
4. Crea file di archivio *.tar usando cpio -F
Sappiamo già come utilizzare il comando tar in modo efficace.
Sapevi che puoi anche usare il comando cpio per creare file tar come mostrato di seguito?
$ ls | cpio -ov -H tar -F sample.tar
Come visto sopra, invece di reindirizzare lo standard output puoi menzionare il nome del file dell'archivio di output con l'opzione -F.
5. Estrai il file di archivio *.tar usando il comando cpio
Puoi anche estrarre un file tar usando il comando cpio come mostrato di seguito.
$ cpio -idv -F sample.tar
6. Visualizza il contenuto del *.tar Archive File
Per visualizzare il contenuto del file *.tar, procedi come segue.
$ cpio -it -F sample.tar
7. Crea un archivio *.cpio con i file originali che punta un collegamento simbolico
L'archivio cpio può essere creato con i file originali a cui si riferisce un collegamento simbolico come mostrato di seguito.
$ ls | cpio -oLv >/tmp/test.cpio
8. Conserva il tempo di modifica del file durante il ripristino di *.cpio
Il tempo di modifica dei file può essere preservato durante il ripristino dei file di archivio cpio come mostrato di seguito.
$ ls | cpio -omv >/tmp/test.cpio
9. Manipola i file di immagine di Linux e del kernel usando cpio
Come visualizzare, modificare e ricreare initrd.img – Come abbiamo discusso qualche tempo fa, possiamo anche usare il comando cpio per manipolare il file initrd.img.
10. Copia l'albero delle directory dall'uno all'altro
cpio consente di copiare il contenuto di una directory in un'altra directory senza creare un archivio intermedio. Legge l'elenco dei file dallo standard input e lo passa alla directory di destinazione.
L'esempio seguente copia i file e le sottodirectory della directory degli oggetti nella directory /mnt/out.
$ mkdir /mnt/out $ cd objects $ find . -depth | cpio -pmdv /mnt/out
Nell'esempio sopra:
- l'opzione cpio -p fa sì che cpio utilizzi la modalità pass-through. È come inserire cpio -o in cpio -i.
- l'opzione cpio -d crea le directory principali secondo necessità nella directory di destinazione.