GNU/Linux >> LINUX-Kenntnisse >  >> Linux

cpio-Befehl – ​​kopiert, listet und extrahiert Dateien in und aus Archiven

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


Linux
  1. So finden Sie MySQL-, PHP- und Apache-Konfigurationsdateien

  2. So finden Sie die Anzahl der Dateien in einem Verzeichnis und Unterverzeichnissen

  3. So löschen Sie Dateien und Verzeichnisse in Linux über die Befehlszeile

  4. So teilen und kombinieren Sie Dateien von der Befehlszeile in Linux

  5. Löschen Sie .DS_STORE-Dateien im aktuellen Ordner und alle Unterordner von der Befehlszeile auf dem Mac

4 Möglichkeiten zum Übertragen von Dateien und Verzeichnissen unter Linux

40 Einfacher und effektiver „lsof-Befehl“ im Linux-System

Cat-Befehl in Linux:Wesentliche und erweiterte Beispiele

Stat-Befehl:Attribute von Dateien und Verzeichnissen anzeigen

Linux-tar-Befehl zum Komprimieren und Extrahieren von Dateien

Linux:Anzahl der Dateien in einem Verzeichnis und Unterverzeichnissen finden