GNU/Linux >> Tutoriels Linux >  >> Linux

17 commandes Tar utiles avec des exemples pratiques sous Linux

Tar est la commande la plus largement utilisée dans les systèmes d'exploitation de type Unix et Linux pour créer une archive de plusieurs fichiers et dossiers dans un seul fichier d'archive et ce fichier d'archive peut être compressé davantage à l'aide gzip et bzip2 techniques. En d'autres termes, nous pouvons dire que la commande tar est utilisée pour effectuer une sauvegarde en archivant plusieurs fichiers et répertoires dans un seul fichier tar ou archive et, plus tard, les fichiers et répertoires peuvent être extraits du fichier compressé tar.

Dans cet article, nous discuterons de la commande Linux tar avec 17 exemples utiles

Syntaxe de la commande tar :

# tar

Certaines des options couramment utilisées dans la commande tar sont répertoriées ci-dessous :

Remarque : le trait d'union ( - ) dans les options de la commande tar est facultatif.

Exemple 1) Créer un fichier d'archive tar

Créons un fichier tar du répertoire /etc et du fichier ‘/root/anaconda-ks.cfg’.

[[email protected] ~]# tar -cvf myarchive.tar /etc /root/anaconda-ks.cfg

La commande ci-dessus créera un fichier tar avec le nom "myarchive ” dans le dossier en cours. Le fichier tar contient tous les fichiers et répertoires de /etc dossier et anaconda-ks.cfg fichier.

Dans la commande tar ‘-c ' option spécifier pour créer un fichier tar, '-v' est utilisé pour la sortie détaillée et '-f' L'option est utilisée pour spécifier le nom du fichier d'archive.

[[email protected] ~]# ls -l myarchive.tar
-rw-r--r--. 1 root root 22947840 Sep 7 00:24 myarchive.tar
[[email protected] ~]#

Exemple 2) Lister le contenu du fichier archive

Utiliser '–t ' dans la commande tar, nous pouvons afficher le contenu des fichiers tar sans l'extraire.

[[email protected] ~]# tar -tvf myarchive.tar

Liste un fichier ou un répertoire spécifique à partir du fichier tar. Dans l'exemple ci-dessous, j'essaie de voir si le fichier "anaconda-ks.cfg" est présent dans le fichier tar ou non.

[[email protected] ~]# tar -tvf myarchive.tar root/anaconda-ks.cfg
-rw------- root/root 953 2016-08-24 01:33 root/anaconda-ks.cfg
[[email protected] ~]#

Exemple 3) Ajouter ou ajouter des fichiers à la fin de l'archive

'-r L'option ' dans la commande tar est utilisée pour ajouter ou ajouter un fichier au fichier tar existant. Ajoutons le fichier /etc/fstab dans 'data.tar

[[email protected] ~]# tar -rvf data.tar /etc/fstab

Remarque : Dans le fichier tar compressé, nous ne pouvons pas ajouter de fichier ou de répertoire.

Exemple 4)  Extraire des fichiers et des répertoires d'un fichier d'archive

'-x ' est utilisée pour extraire les fichiers et les répertoires du fichier d'archive tar. Extrayons le contenu du fichier tar créé ci-dessus.

[[email protected] ~]# tar -xvf myarchive.tar

La commande ci-dessus extraira tous les fichiers et répertoires du fichier tar myarchive dans le répertoire de travail actuel.

Exemple 5) Extraire le fichier d'archive tar dans un dossier particulier

Si vous souhaitez extraire le fichier tar dans un dossier ou un répertoire particulier, utilisez '-C ' option suivie du chemin d'un dossier. L'exemple est montré ci-dessous

[[email protected] ~]# tar -xvf myarchive.tar -C /tmp/

Exemple 6) Extraire un fichier ou un répertoire particulier à partir d'un fichier tar

Supposons que vous souhaitiez extraire uniquement le fichier anaconda-ks.cfg du fichier tar sous le dossier /tmp.

Syntaxe :

# tar –xvf {fichier-tar } {fichier-à-extraire} -C {chemin-où-extraire}

[[email protected] tmp]# tar -xvf /root/myarchive.tar root/anaconda-ks.cfg -C /tmp/
root/anaconda-ks.cfg
[[email protected] tmp]# ls -l /tmp/root/anaconda-ks.cfg
-rw-------. 1 root root 953 Aug 24 01:33 /tmp/root/anaconda-ks.cfg
[[email protected] tmp]#

Exemple 7) Créer et compresser un fichier d'archive (gzip)

Supposons que nous voulions créer un fichier tar du dossier /etc et /opt et que nous voulions également le compresser à l'aide de l'outil gzip. Ceci peut être réalisé en utilisant '-z ' option dans la commande tar. Les extensions de ces fichiers tar seront soit tar.gz ou .tgz

[[email protected] ~]# tar -zcpvf myarchive.tar.gz /etc/ /opt/
Or
[[email protected] ~]# tar -zcpvf myarchive.tgz /etc/ /opt/

Exemple 8) Créer et compresser un fichier d'archive (bzip2)

Supposons que nous voulions créer un fichier tar compressé (bzip2) du dossier /etc et /opt. Ceci peut être réalisé en utilisant l'option ( -j ) dans la commande tar. Les extensions de ces fichiers tar seront soit tar.bz2 ou .tbz

[[email protected] ~]# tar -jcpvf myarchive.tar.bz2 /etc/ /opt/
Or
[[email protected] ~]# tar -jcpvf myarchive.tbz2 /etc/ /opt/

Exemple 9) Exclure des fichiers ou des types particuliers lors de la création d'un fichier tar

Utilisation de "–exclure " Dans la commande tar, nous pouvons exclure le fichier ou le type de fichier particulier lors de la création du fichier tar. Supposons que nous voulions exclure le type de fichier html lors de la création du fichier tar compressé.

[[email protected] ~]# tar -zcpvf myarchive.tgz /etc/ /opt/ --exclude=*.html

Exemple 10) Lister le contenu du fichier tar.gz ou .tgz

Le contenu du fichier tar avec les extensions tar.gz ou .tgz est visualisé en utilisant l'option '-t '. L'exemple est montré ci-dessous :

[[email protected] ~]# tar -tvf myarchive.tgz  | more 
............................................. 
drwxr-xr-x root/root         0 2016-09-07 08:41 etc/ 
-rw-r--r-- root/root       541 2016-08-24 01:23 etc/fstab 
-rw------- root/root         0 2016-08-24 01:23 etc/crypttab 
lrwxrwxrwx root/root         0 2016-08-24 01:23 etc/mtab -> /proc/self/mounts 
-rw-r--r-- root/root       149 2016-09-07 08:41 etc/resolv.conf 
drwxr-xr-x root/root         0 2016-09-06 03:55 etc/pki/ 
drwxr-xr-x root/root         0 2016-09-06 03:15 etc/pki/rpm-gpg/ 
..........................................................

Exemple 11) Répertorier le contenu du fichier tar.bz2 ou .tbz2

Le contenu du fichier tar avec les extensions .bz2 ou .tbz2 est visualisé en utilisant l'option '-t'. L'exemple est montré ci-dessous :

[[email protected] ~]# tar -tvf myarchive.tbz2  | more 
........................................................ 
rwxr-xr-x root/root         0 2016-08-24 01:25 etc/pki/java/ 
drwxr-xr-x root/root         0 2016-09-06 02:54 etc/pki/nssdb/ 
-rw-r--r-- root/root     65536 2010-01-12 15:09 etc/pki/nssdb/cert8.db 
-rw-r--r-- root/root      9216 2016-09-06 02:54 etc/pki/nssdb/cert9.db 
-rw-r--r-- root/root     16384 2010-01-12 16:21 etc/pki/nssdb/key3.db 
-rw-r--r-- root/root     11264 2016-09-06 02:54 etc/pki/nssdb/key4.db 
-rw-r--r-- root/root       451 2015-10-21 09:42 etc/pki/nssdb/pkcs11.txt 
-rw-r--r-- root/root     16384 2010-01-12 15:45 etc/pki/nssdb/secmod.db 
drwxr-xr-x root/root         0 2016-08-24 01:26 etc/pki/CA/ 
drwxr-xr-x root/root         0 2015-06-29 08:48 etc/pki/CA/certs/ 
drwxr-xr-x root/root         0 2015-06-29 08:48 etc/pki/CA/crl/ 
drwxr-xr-x root/root         0 2015-06-29 08:48 etc/pki/CA/newcerts/ 
drwx------ root/root         0 2015-06-29 08:48 etc/pki/CA/private/ 
drwx------ root/root         0 2015-11-20 06:34 etc/pki/rsyslog/ 
drwxr-xr-x root/root         0 2016-09-06 03:44 etc/pki/pulp/ 
..............................................................

Exemple 12)  Extraire un fichier d'archive compressé (tar.gz ou .tgz)

les fichiers tar avec l'extension tar.gz ou .tgz sont extraits ou décompressés avec l'option '-x ' et '-z '. L'exemple est montré ci-dessous :

[[email protected] ~]# tar -zxpvf myarchive.tgz -C /tmp/

La commande ci-dessus extraira le fichier tar sous le dossier /tmp.

Remarque : Maintenant, une commande tar de jours prendra automatiquement soin des types de fichiers de compression lors de l'extraction, cela signifie qu'il est facultatif pour nous de spécifier le type de compression dans la commande tar. L'exemple est montré ci-dessous :

[[email protected] ~]# tar -xpvf myarchive.tgz -C /tmp/

Exemple 13) Extraire ou décompresser les fichiers tar.bz2 ou .tbz2

les fichiers tar avec l'extension tar.bz2 ou .tbz2 sont extraits avec l'option '-j ' et '-x '. L'exemple est illustré ci-dessous :

[[email protected] ~]# tar -jxpvf myarchive.tbz2 -C /tmp/

Ou

[[email protected] ~]# tar xpvf myarchive.tbz2 -C /tmp/

Exemple 14) Planifier une sauvegarde avec la commande tar

Il existe des scénarios en temps réel dans lesquels nous devons créer quotidiennement des fichiers tar de fichiers et de répertoires particuliers à des fins de sauvegarde. Supposons que nous devions effectuer une sauvegarde quotidienne de l'ensemble du dossier /opt, cela peut être réalisé en créant une tâche cron de la commande tar. L'exemple est montré ci-dessous :

[[email protected] ~]# tar -zcvf optbackup-$(date +%Y-%m-%d).tgz /opt/

Créez une tâche cron pour la commande ci-dessus.

Exemple 15) Créer et compresser un fichier d'archive avec les options -T et -X

Il existe des scénarios en temps réel dans lesquels nous voulons que la commande tar prenne l'entrée d'un fichier et ce fichier se compose du chemin des fichiers et du répertoire qui doivent être archivés et compressés, il peut y avoir des fichiers que nous aimerions exclure dans l'archive qui sont mentionnés dans le fichier d'entrée.

Dans la commande tar, le fichier d'entrée est spécifié après '-T ' et le fichier qui consiste en une liste d'exclusion est spécifié après '-X '.

Supposons que nous voulions archiver et compresser les répertoires comme /etc , /opt et /home et souhaitez exclure le fichier "/etc/sysconfig/kdump" et '/etc/sysconfig/foreman ', Créer un fichier texte '/root/tar-include ' et '/root/tar-exclude ' et placez le contenu suivant dans le fichier respectif.

[[email protected] ~]# cat /root/tar-include
/etc
/opt
/home
[[email protected] ~]#
[[email protected] ~]# cat /root/tar-exclude
/etc/sysconfig/kdump
/etc/sysconfig/foreman
[[email protected] ~]#

Exécutez maintenant la commande ci-dessous pour créer et compresser le fichier d'archive.

# tar zcpvf mybackup-$(date +%Y-%m-%d).tgz -T /root/tar-include -X /root/tar-exclude

Exemple 16) Afficher la taille des fichiers .tar , .tgz et .tbz2

Utilisez les commandes ci-dessous pour afficher la taille des fichiers tar et tar compressés.

[[email protected] ~]# tar -czf - data.tar | wc -c
427
[[email protected] ~]# tar -czf - mybackup-2016-09-09.tgz | wc -c
37956009
[[email protected] ~]# tar -czf - myarchive.tbz2 | wc -c
30835317
[[email protected] ~]#

Exemple 17) Diviser un gros fichier tar en fichiers plus petits

Sous Linux, comme le système d'exploitation, le gros fichier est divisé ou divisé en fichiers plus petits à l'aide de la commande split. Un gros fichier tar peut également être divisé en parties plus petites à l'aide de la commande split.

Supposons que nous voulions diviser 'mybackup-2016-09-09.tgz ' fichier en plus petites parties de chaque 6 Mo.

Syntaxe : split -b . "prefix-name"

[[email protected] ~]# split -b 6M mybackup-2016-09-09.tgz mybackup-parts

La commande ci-dessus divisera le fichier tar compressé mybackup en fichiers plus petits de 6 Mo chacun dans le répertoire de travail actuel et les noms de fichiers fractionnés commenceront par mybackup-partsaa … mybackup-partsag. Si vous souhaitez ajouter des chiffres à la place des alphabets, utilisez l'option '-d' dans la commande split ci-dessus.

[[email protected] ~]# ls -l mybackup-parts*
-rw-r--r--. 1 root root 6291456 Sep 10 03:05 mybackup-partsaa
-rw-r--r--. 1 root root 6291456 Sep 10 03:05 mybackup-partsab
-rw-r--r--. 1 root root 6291456 Sep 10 03:05 mybackup-partsac
-rw-r--r--. 1 root root 6291456 Sep 10 03:05 mybackup-partsad
-rw-r--r--. 1 root root 6291456 Sep 10 03:05 mybackup-partsae
-rw-r--r--. 1 root root 6291456 Sep 10 03:05 mybackup-partsaf
-rw-r--r--. 1 root root 637219  Sep 10 03:05 mybackup-partsag
[[email protected] ~]#

Nous pouvons maintenant déplacer ces fichiers vers un autre serveur sur le réseau, puis fusionner tous les fichiers en un seul fichier compressé au format tar à l'aide de la commande mentionnée ci-dessous.

[[email protected] ~]# cat mybackup-partsa* > mybackup-2016-09-09.tgz
[[email protected] ~]#

C'est tout, j'espère que vous aimez différents exemples de commande tar. Veuillez partager vos commentaires et commentaires.

Lire aussi  : Comment automatiser des tâches sous Linux à l'aide de Crontab

Lire aussi : 9 exemples de commande 'diff' sous Linux


Linux
  1. Commande Linux wc avec exemples

  2. 25 exemples pratiques de commande de recherche utiles sous Linux

  3. Commande de tri sous Linux avec des exemples

  4. 5 exemples pratiques de Head Command sous Linux

  5. 14 exemples de commandes "cat" utiles sous Linux

Commande Linux WC avec exemples

9 exemples utiles de commande tactile sous Linux

Utilisation de la commande Linux mv avec des exemples

Commande de montage Linux avec exemples

Commande Linux gawk avec exemples

Linux make Commande avec des exemples