J'ai une archive tar et je veux l'utiliser tar -xvf
.
Dans cette archive tar, j'ai une arborescence de répertoires contenant quelques fichiers. Sur mon système Solaris 10, cette arborescence de répertoires existe déjà et contient plusieurs fichiers.
Si je décompresse l'archive, toute l'arborescence du répertoire est-elle écrasée ou seuls les fichiers contenus dans l'archive sont-ils écrasés?
Les fichiers qui n'ont pas de correspondant dans les archives seront-ils supprimés?
tar
solaris-10
Felicia
la source
la source
Réponses:
Les fichiers en double qui existent déjà peuvent ou non être décompressés et écrasés selon votre système. Cependant, il le fait généralement par défaut. Les fichiers qui sont dans l'archive mais pas sur votre système seront simplement ajoutés aux répertoires nouveaux ou existants sur votre système.
Dir
/test
Archiver
test.tar
sera probablement fusionné pour:
L'ajout de l'
-k
indicateur à la commande tar garantira qu'aucun des fichiers de votre répertoire cible ne sera écrasé:la source
noclobber
(qui existe également dans les shells POSIX btw) affecte uniquement les fichiers redirigés vers avec>foo
dans le shell. Il n'a aucun effet sur le goudron.echo foo > bar.txt
N'écrasera donc pas bar.txt s'il existe. Cela n'a aucun effet sur ce qu'un programme, tel que tar, écrasera.dir/file1
.Le moyen le plus simple consiste à créer un nouveau répertoire vide, à y accéder et à y extraire les fichiers. Vous devez cependant faire attention à ce que les fichiers extraits soient relatifs (commencer par ./) et non absolus (commencer par /). Dirigez la table des matières à travers less pour voir quel est le cas si vous ne le savez pas (tar -tvf tar_filename | less)
Vous pouvez savoir si votre version tar écrase par défaut ou non en consultant la page de manuel. Tar ne supprimera pas les fichiers pendant l'extraction, ce qui est une autre raison pour laquelle les gens partent généralement d'un nouveau répertoire vide avant de faire l'extraction.
la source