cpio |
Copie |
---|---|
Linux | Externe |
Syntaxe
cpio -i [ bBcdfkmPrsStuvV6 ] [ -C bufsize ] [ -E file ] [ -H header ] [ -I file [ -M message ] ] [ -R id ] [pattern ... ] |
cpio -o [ aABcLPvV ] [ -C bufsize ] [ -H header ] [ -O file [ -M message ] ] |
cpio -p [ adlLmPuvV ] [ -R id ] directory |
Paramètres
Nom | Description | |
---|---|---|
-i | Ce paramètre permet d'extraire des fichiers depuis une archive. Voici les mode d'extractions (-i) : | |
Modes | Description | |
b | inverse les octets de chaque paire de 16 bits (utile pour compatibilité entre architectures différentes). | |
B | définit une taille de blocage de 5120 octets. | |
c | utilise un format d'archive portable. | |
d | crée les répertoires si nécessaire. | |
f | ignore les fichiers qui ne correspondent pas aux motifs donnés. | |
k | ignore les erreurs de corruption. | |
m | préserve les dates de modification. | |
P | extrait en respectant les chemins absolus. | |
r | permet de renommer les fichiers avant extraction. | |
s | remplace les fichiers symboliques par leur cible. | |
S | ignore les fichiers avec des trous. | |
t | liste le contenu de l'archive sans extraire. | |
u | écrase les fichiers existants uniquement si le fichier extrait est plus récent. | |
v | affiche les fichiers extraits. | |
V | affiche une barre de progression. | |
6 | utilise le format d'archive bin de type ancien. | |
-C bufsize | définit la taille du tampon. | |
-E file | liste des fichiers à extraire définis dans un fichier. | |
-H header | Spécifie le format de l'archive (ex: newc, crc, tar...). | |
-I file | définit le fichier source de l'archive. | |
-M message | message personnalisé en cas de demande de changement de volume. | |
-R id | change l'ID du propriétaire des fichiers extraits. | |
-o | Ce paramètre permet de créer une archive contenant des fichiers. Voici les modes de création (-o) : | |
Modes | Description | |
a | ne modifie pas les dates d'accès des fichiers. | |
A | ajoute à une archive existante. | |
B | bloque en unités de 5120 octets. | |
c | utilise le format d'archive portable. | |
L | suit les liens symboliques et stocke leurs cibles. | |
P | entrepose les chemins absolus. | |
v | affiche les fichiers ajoutés. | |
V | affiche une barre de progression. | |
-C bufsize | définit la taille du tampon. | |
-H header | format de l'archive. | |
-O file | spécifie le fichier de sortie pour l'archive. | |
-M message | message personnalisé en cas de changement de volume. | |
-p | Ce paramètre permet d'indiquer la copie des fichiers d'un répertoire à un autre. Voici les modes de passage (-p) : | |
Modes | Description | |
a | ne modifie pas les dates d'accès. | |
d | crée les répertoires si nécessaire. | |
l | crée des liens matériels au lieu de copier les fichiers. | |
L | suit les liens symboliques. | |
m | préserve les dates de modification. | |
P | respecte les chemins absolus. | |
u | écrase uniquement si plus récent. | |
v | affiche les fichiers copiés. | |
V | affiche une barre de progression. | |
-R id | change le propriétaire des fichiers copiés. |
Description
Cette commande permet d'effectuer la création ou la décréation d'un archive de fichiers cpio.
Remarques
- Création d'archives à partir de la liste de fichiers : La commande cpio est souvent utilisée pour créer des archives en lisant la liste des fichiers à archiver depuis l'entrée standard. Par exemple, vous pouvez l'utiliser avec une commande comme find pour créer une archive à partir d'une sélection de fichiers :
- Extraction d'archives avec l'option -i : L'option -i de cpio est utilisée pour extraire des fichiers à partir d'une archive. Cela peut être fait en fournissant l'archive via l'entrée standard, ou en spécifiant le fichier d'archive directement :
- La commande cpio et les tubes (pipes) : Une des caractéristiques intéressantes de cpio est qu'il fonctionne souvent avec des tubes (pipes). Par exemple, vous pouvez archiver des fichiers trouvés avec find et les compresser avec gzip en une seule commande :
- Création d'archives avec compression : cpio permet de compresser directement des archives en les combinant avec des utilitaires comme gzip, bzip2, ou xz. Par exemple, pour créer une archive compressée avec gzip :
- Copie de fichiers avec cpio : cpio peut également être utilisé pour copier des fichiers d'un emplacement à un autre, ce qui est utile dans des scripts d'automatisation de sauvegarde ou de migration de données. Par exemple, pour copier tous les fichiers d'un répertoire à un autre, vous pouvez utiliser :
- Format d'archive spécifique : Les archives créées par cpio sont dans un format spécifique à cpio. Cela peut poser un problème si vous devez les transférer ou les utiliser avec d'autres outils qui ne reconnaissent pas ce format. Cependant, cpio est encore largement utilisé dans certains systèmes UNIX et dans la création de ensembles d'installation de logiciels. Les archives créées par cpio sont simples et sans métadonnées complexes, ce qui les rend très portables entre différentes distributions.
- Utilisation de cpio pour la sauvegarde de systèmes : L'une des utilisations classiques de cpio est dans la création de sauvegardes de systèmes. Par exemple, pour sauvegarder un répertoire entier, vous pouvez utiliser :
- Limites de cpio pour les fichiers de grande taille : Bien que cpio soit très puissant pour l'archivage et la gestion de fichiers, il peut rencontrer des limitations de performance ou des problèmes avec des fichiers extrêmement volumineux ou un grand nombre de fichiers. D'autres outils comme tar peuvent parfois être plus efficaces pour de grandes archives, notamment en termes de vitesse et de compatibilité avec des systèmes modernes. Cependant, pour des besoins spécifiques ou dans des systèmes plus anciens, cpio reste un outil robuste.
find . -type f | cpio -o > archive.cpio |
Cela crée une archive archive.cpio contenant tous les fichiers trouvés dans le répertoire courant. L'option -o indique à cpio de créer une archive.
cpio -id < archive.cpio |
L'option -d permet de créer les répertoires nécessaires pendant l'extraction si ceux-ci n'existent pas encore. cpio lira l'archive et extraire les fichiers qu'elle contient.
find . -type f | cpio -o | gzip > archive.cpio.gz |
Cela combine la puissance de cpio pour l'archivage et de gzip pour la compression. Le même principe peut être utilisé pour l'extraction avec gunzip et cpio -i.
find . -type f | cpio -o | gzip > archive.cpio.gz |
Cela crée une archive compressée en .cpio.gz, ce qui est souvent plus efficace pour économiser de l'espace disque. Vous pouvez aussi utiliser bzip2 ou xz pour obtenir une compression plus poussée.
find . -type f | cpio -pdm /chemin/vers/destination |
L'option -p permet de copier les fichiers, -d crée les répertoires nécessaires et -m préserve les dates de modification des fichiers.
find /répertoire/à/sauvegarder | cpio -o > sauvegarde.cpio |
Cela permet de créer une archive de tous les fichiers dans le répertoire spécifié, idéale pour la sauvegarde et la récupération du système.
Voir également
Système d'exploitation - Linux - Références de commandes et de programmes - ar
Système d'exploitation - Linux - Références de commandes et de programmes - cat
Système d'exploitation - Linux - Références de commandes et de programmes - echo
Système d'exploitation - Linux - Références de commandes et de programmes - gzip
Système d'exploitation - Linux - Références de commandes et de programmes - ls
Système d'exploitation - Linux - Références de commandes et de programmes - setfacl
Système d'exploitation - Linux - Références de commandes et de programmes - tar