GNU/Linux >> Znalost Linux >  >> Linux

příkaz cpio – kopíruje, vypisuje a extrahuje soubory do az archivů

Příkaz cpio (copy in/out) pro Linux/UNIX kopíruje, vypisuje a extrahuje soubory do az jednoho souboru nebo archivů. Některé z možností dostupných pomocí příkazu cpio jsou uvedeny v tabulce níže. Příkaz cpio vyžaduje, aby byla zadána jedna z voleb o, i nebo p.

Možnost Popis
-o Kopíruje data.
-i Výtahy z kopie.
-t Vypíše obsah kopie.
-v Režim s podrobnostmi.
-p Čte z kopie za účelem získání názvů cest.
-a Resetuje časy přístupu k souborům po jejich zkopírování.

V tomto příspěvku probereme několik příkladů, abychom porozuměli použití příkazu cpio.

Příklad 1 :Chcete-li zkopírovat obsah /home, spusťte příkaz find podle ukázky a přesměrujte výstup do /tmp/home.cpio.

# 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
...............................................

Příklad 2 :Chcete-li zobrazit seznam obsahu home.cpio.

# 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
..............................................

Příklad 3 :Obnovení souborů z home.cpio.

# cpio -iv < /tmp/home.cpio

Příklad 4 :Kopírování souborů přímo z /home do nového adresáře s názvem /tmp/home.bkp.

# 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
............................................

Příklad 5 :Zkopírujte pouze vybrané soubory do home.cpio.

# 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
............................

Příkaz výše zkopíruje všechny soubory s příponou „.php“ v home.cpio.

Příklad 6 :Vytvoření archivu „.tar“ pomocí „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
............................................

Výše uvedený příkaz vytvoří tar archiv „home.tar“ všech souborů s příponou „.php“ pomocí „cpio -F“.

Příklad 7 :seznam obsahu souboru „.tar“ pomocí cpio.

# 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
..................................

Příklad 8 :Extrahujte archiv „.tar“ přes cpio.

# cpio -idv -F /tmp/home.tar


Linux
  1. Jak najít konfigurační soubory MySQL, PHP a Apache

  2. Jak zjistit počet souborů v adresáři a podadresářích

  3. Jak zkontrolovat, zda existuje příkaz shellu z PHP

  1. Jak rozdělit a kombinovat soubory z příkazového řádku v Linuxu

  2. Spouštějte skripty Perl/PHP z příkazového řádku

  3. Odstraňte soubory .DS_STORE v aktuální složce a všech podsložkách z příkazového řádku na Macu

  1. Najít příkaz v Linuxu (Najít soubory a adresáře)

  2. Jak odstranit soubory a adresáře v Linuxu z příkazového řádku

  3. Příkaz pro výpis všech souborů kromě . (tečka) a .. (tečka tečka)