Der Linux/UNIX-Befehl cpio (copy in/out) kopiert, listet und extrahiert Dateien in und aus einer einzelnen Datei oder einem Archiv. Einige der mit dem cpio-Befehl verfügbaren Optionen sind in der folgenden Tabelle aufgeführt. Der Befehl cpio erfordert, dass eine der Optionen o, i oder p angegeben werden muss.
Option | Beschreibung |
-o | Kopiert Daten. |
-i | Auszüge aus einer Kopie. |
-t | Listet den Kopierinhalt auf. |
-v | Ausführlicher Modus. |
-p | Liest von einer Kopie, um Pfadnamen zu erhalten. |
-a | Setzt Zugriffszeiten auf Dateien zurück, nachdem sie kopiert wurden. |
In diesem Beitrag werden wir einige Beispiele besprechen, um die Verwendung des cpio-Befehls zu verstehen.
Beispiel 1 :Um den Inhalt von /home zu kopieren, führen Sie den find-Befehl wie gezeigt aus und leiten die Ausgabe nach /tmp/home.cpio.
um
# find /home | cpio -ov > /tmp/home.cpio /home /home/geek /home/geek/CentOS-7.0-1406-x86_64-DVD.iso.3 /home/geek/CentOS-7.0-1406-x86_64-DVD.iso.4 /home/geek/.profile /home/geek/CentOS-7.0-1406-x86_64-DVD.iso.2 /home/geek/.bashrc ...............................................
Beispiel 2 :Um den Inhalt von home.cpio aufzulisten.
# cpio -itv < /tmp/home.cpio -rw-rw-r-- 1 geek geek 2556 Nov 29 13:03 /home/geek/ubuntu -rw-rw-r-- 1 geek geek 2255 Sep 1 14:32 /home/geek/.grive-last-sync.log drwxr-xr-x 17 geek geek 0 Dec 5 15:46 /home/geek/Desktop -rw-rw-r-- 1 geek geek 357376 Sep 11 12:23 /home/geek/Desktop/mysql-classroom.doc -rw-rw-r-- 1 geek geek 43008 Sep 27 13:16 /home/geek/Desktop/linux_interview_question.doc drwxrwxr-x 3 geek geek 0 Sep 12 13:59 /home/geek/Desktop/July-2014 -rw-rw-r-- 1 geek geek 8147 Sep 11 13:04 /home/geek/Desktop/July-2014/brainuse.php -rw-rw-r-- 1 geek geek 10885 Sep 11 13:16 /home/geek/Desktop/July-2014/news.php drwxrwxr-x 2 geek geek 0 Sep 11 12:34 /home/geek/Desktop/July-2014/images -rw-rw-r-- 1 geek geek 13609 Sep 11 12:34 //cdn.thegeekdiary.com/home/geek/Desktop/July-2014/images/3.gif -rw-rw-r-- 1 geek geek 206334 Sep 11 12:34 //cdn.thegeekdiary.com/home/geek/Desktop/July-2014/images/July14-header.gif -rw-rw-r-- 1 geek geek 1736 Sep 11 12:34 //cdn.thegeekdiary.com/home/geek/Desktop/July-2014/images/2.gif ..............................................
Beispiel 3 :Um Dateien von home.cpio wiederherzustellen.
# cpio -iv < /tmp/home.cpio
Beispiel 4 :Um Dateien direkt von /home in ein neues Verzeichnis namens /tmp/home.bkp zu kopieren.
# find /home | cpio -pvd /tmp/home.bkp /tmp/home.bkp/home/geek/ubuntu /tmp/home.bkp/home/geek/.grive-last-sync.log /tmp/home.bkp/home/geek/Desktop /tmp/home.bkp/home/geek/Desktop/mysql-classroom.doc /tmp/home.bkp/home/geek/Desktop/linux_interview_question.doc /tmp/home.bkp/home/geek/Desktop/July-2014 ............................................
Beispiel 5 :Nur ausgewählte Dateien in die home.cpio kopieren.
# find . -iname *.php -print | cpio -ov >/tmp/home.cpio ./Desktop/July-2014/brainuse.php ./Desktop/July-2014/news.php ./Desktop/July-2014/developer_section.php ./Desktop/July-2014/mysql1.php ............................
Der obige Befehl kopiert alle Dateien mit der Erweiterung „.php“ in home.cpio.
Beispiel 6 :Erstellen eines ‚.tar‘-Archivs mit ‚cpio -F‘.
# find . -iname *.php -print | cpio -ov -H tar -F /tmp/home.tar ./Desktop/July-2014/brainuse.php ./Desktop/July-2014/news.php ./Desktop/July-2014/developer_section.php ./Desktop/July-2014/mysql1.php ./Desktop/July-2014/index.php ............................................
Der obige Befehl erstellt ein tar-Archiv „home.tar“ aller Dateien mit der Erweiterung „.php“ mit „cpio -F“.
Beispiel 7 :Listen Sie den Inhalt der „.tar“-Datei mit cpio auf.
# cpio -it -F /tmp/home.tar Desktop/July-2014/brainuse.php Desktop/July-2014/news.php Desktop/July-2014/developer_section.php Desktop/July-2014/mysql1.php Desktop/July-2014/index.php Desktop/July-2014/linux1.php ..................................
Beispiel 8 :Extrahieren Sie das „.tar“-Archiv über cpio.
# cpio -idv -F /tmp/home.tar