GNU/Linux >> Tutoriels Linux >  >> Linux

Commande cpio - copie, répertorie et extrait les fichiers vers et depuis les archives

La commande Linux/UNIX cpio (copy in/out) copie, répertorie et extrait des fichiers vers et depuis un seul fichier ou des archives. Certaines des options disponibles avec la commande cpio sont répertoriées dans le tableau ci-dessous. La commande cpio nécessite que l'une des options o, i ou p soit spécifiée.

Option Description
-o Copie les données.
-i Extraits d'une copie.
-t Les listes copient le contenu.
-v Mode détaillé.
-p Lit à partir d'une copie pour obtenir les noms de chemin.
-a Réinitialise les temps d'accès aux fichiers après leur copie.

Dans cet article, nous discuterons de quelques exemples pour comprendre l'utilisation de la commande cpio.

Exemple 1  :Pour copier le contenu de /home, exécutez la commande find comme indiqué et redirigez la sortie vers /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
...............................................

Exemple 2 :Pour lister le contenu de 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
..............................................

Exemple 3 :Pour restaurer des fichiers depuis home.cpio.

# cpio -iv < /tmp/home.cpio

Exemple 4 :Pour copier des fichiers directement depuis /home dans un nouveau répertoire appelé /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
............................................

Exemple 5 :Copiez uniquement les fichiers sélectionnés dans 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
............................

La commande ci-dessus copiera tous les fichiers avec l'extension '.php' dans home.cpio.

Exemple 6  :Création d'une archive ".tar" à l'aide de "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
............................................

La commande ci-dessus créera une archive tar "home.tar" de tous les fichiers avec l'extension ".php" en utilisant "cpio -F".

Exemple 7 :liste le contenu du fichier ".tar" en utilisant 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
..................................

Exemple 8 :Extraire l'archive ".tar" via cpio.

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


Linux
  1. Comment trouver les fichiers de configuration MySQL, PHP et Apache

  2. Comment trouver le nombre de fichiers dans un répertoire et des sous-répertoires

  3. Comment supprimer des fichiers et des répertoires sous Linux à partir de la ligne de commande

  4. Comment diviser et combiner des fichiers à partir de la ligne de commande sous Linux

  5. Exécuter des scripts Perl/PHP à partir de la ligne de commande

4 façons de transférer des fichiers et des répertoires sous Linux

40 "Commande lsof" simple et efficace dans le système Linux

Commande Cat sous Linux :Exemples essentiels et avancés

Commande Stat :Afficher les attributs des fichiers et des répertoires

Commande Linux tar pour compresser et extraire des fichiers

Linux :rechercher le nombre de fichiers dans un répertoire et des sous-répertoires