Cédric Temple

Administrateur système en logiciels libres

TAR, archivage et désarchivage de données

2018-11-01 » notes pour plus tard

Ce contenu est fourni sous licence CC BY-NC-SA 4.0

Notes sur tar

Créer une archive

# moyen mnémotechnique : c pour CREATE et f pour FILE
# donc je crée (c) une archive en indiquant le nom du fichier (f)
tar cf <nomArchive>.tar <fichierAAjouter> <repertoireAAjouter>
# exemple
tar cf archivedemonsiteweb.tar *.html css javascript images

Extraire une archive

# moyen mnémotechnique : x pour XTRACT et f pour FILE
# donc j'extrait (x) une archive en indiquant le nom du fichier (f)
tar xf monArchive.tar

Voir les fichiers sans extraire

# moyen mnémotechnique : t pour TEST, v pour VERBOSE et f pour FILE
# donc je teste (t) une archive en indiquant le nom du fichier (f) et en étant verbeux (v)
tar tvf monArchive.tar
# tous les fichiers et dossiers sont affichés

Création d’archives compressées

# archive au format gzip (z)
tar czf <nomArchive>.tgz <fichierAAjouter> <repertoireAAjouter>
# ou
tar czf <nomArchive>.tar.gz <fichierAAjouter> <repertoireAAjouter>
# archive au format bzip2 (j) ; pas de moyen mnémotechnique pour s'en souvenir :-(
tar cjf <nomArchive>.tbz2 <fichierAAjouter> <repertoireAAjouter>
# ou
tar czf <nomArchive>.tar.bz2 <fichierAAjouter> <repertoireAAjouter>

Extraction d’archives compressées

tar xzf <nomArchive>.tgz
tar xjf <nomArchive>.tbz2

Extraction d’archive en déplaçant les données dans un autre dossier

Par défaut, lorsqu’on archive en spécifiant le chemin complet, tar retire la racine pour des raisons de sécurité (et il faut bien, ça sauve des vies d’admin pas attentif :-D). Mais si l’on sait ce que l’on veut : extraitre directement l’archive en prenant pour répertoire de base la racine, comment faire ? En fait, il suffit de l’indiquer à l’aide de l’option -C ou –directory :

tar xzf <nomArchive>.tgz -C /
tar xjf <nomArchive>.tbz2 --directory /

Avantage : il n’est pas nécessaire de se positionner dans le bon répertoire pour y déplacer les données. Exemple :

cd ~/backup/2018/11
sudo tar xzf backup.tgz -C /srv/application/datas

Exclure un dossier ou des fichiers

# exclusion à la création :
tar czf monarchive.tgz *.html --exclude=data9.html --exclude=backup/
# exclusion à l'extraction :
tar xzf monarchive.tgz --exclude=chemin/tresGrosFichier

Ce contenu est fourni sous licence CC BY-NC-SA 4.0