La commande cpio est utilisée pour traiter les fichiers d'archive (par exemple, les fichiers *.cpio ou *.tar).
cpio signifie "copier, copier".
cpio effectue les trois opérations suivantes.
- Copier des fichiers dans une archive
- Extraire des fichiers d'une archive
- Transmettre des fichiers à une autre arborescence de répertoires
cpio prend la liste des fichiers de l'entrée standard lors de la création d'une archive et envoie la sortie à la sortie standard.
1. Créer un fichier d'archive *.cpio
Vous pouvez créer une archive *.cpio contenant des fichiers et des répertoires à l'aide de cpio -ov
$ cd objects $ ls file1.o file2.o file3.o $ ls | cpio -ov > /tmp/object.cpio
Comme vu ci-dessus, la commande ls passe les trois noms de fichiers d'objet à la commande cpio et cpio génère l'archive object.cpio.
2. Extraire le fichier d'archive *.cpio
cpio extract :pour extraire un fichier *.cpio donné, utilisez cpio -iv comme indiqué ci-dessous.
$ mkdir output $ cd output $ cpio -idv < /tmp/object.cpio
3. Créer une archive *.cpio avec les fichiers sélectionnés
L'exemple suivant crée une archive *.cpio uniquement avec des fichiers *.c.
$ find . -iname *.c -print | cpio -ov >/tmp/c_files.cpio
4. Créer un fichier d'archive *.tar à l'aide de cpio -F
Nous savons déjà comment utiliser efficacement la commande tar.
Saviez-vous que vous pouvez également utiliser la commande cpio pour créer des fichiers tar comme indiqué ci-dessous ?
$ ls | cpio -ov -H tar -F sample.tar
Comme vu ci-dessus, au lieu de rediriger la sortie standard, vous pouvez mentionner le nom du fichier d'archive de sortie avec l'option -F.
5. Extrayez le fichier d'archive *.tar à l'aide de la commande cpio
Vous pouvez également extraire un fichier tar à l'aide de la commande cpio comme indiqué ci-dessous.
$ cpio -idv -F sample.tar
6. Afficher le contenu du fichier d'archive *.tar
Pour afficher le contenu du fichier *.tar, procédez comme suit.
$ cpio -it -F sample.tar
7. Créez une archive *.cpio avec les fichiers d'origine vers lesquels pointe un lien symbolique
L'archive cpio peut être créée avec les fichiers originaux auxquels un lien symbolique fait référence, comme indiqué ci-dessous.
$ ls | cpio -oLv >/tmp/test.cpio
8. Conserver l'heure de modification du fichier lors de la restauration de *.cpio
L'heure de modification des fichiers peut être conservée lors de la restauration des fichiers d'archive cpio, comme indiqué ci-dessous.
$ ls | cpio -omv >/tmp/test.cpio
9. Manipuler les fichiers image Linux et Kernel à l'aide de cpio
Comment afficher, modifier et recréer initrd.img - Comme nous en avons discuté il y a quelque temps, nous pouvons également utiliser la commande cpio pour manipuler le fichier initrd.img.
10. Copier l'arborescence des répertoires de l'un à l'autre
cpio vous permet de copier le contenu d'un répertoire dans un autre répertoire sans créer d'archive intermédiaire. Il lit la liste des fichiers à partir de l'entrée standard et la transmet au répertoire cible.
L'exemple ci-dessous copie les fichiers et sous-répertoires du répertoire objects dans le répertoire /mnt/out.
$ mkdir /mnt/out $ cd objects $ find . -depth | cpio -pmdv /mnt/out
Dans l'exemple ci-dessus :
- l'option cpio -p permet à cpio d'utiliser le mode pass through. C'est comme faire passer cpio -o dans cpio -i.
- l'option cpio -d crée les répertoires principaux selon les besoins dans le répertoire cible.