Comment tarer le répertoire et ensuite supprimer les originaux, y compris le répertoire ?
J'essaie de mettre à tar
une collection de fichiers dans un répertoire appelé “mon_répertoire” et de supprimer les originaux en utilisant la commande :
tar -cvf files.tar my_directory --remove-files
Toutefois, il ne s'agit que de supprimer les fichiers individuels à l'intérieur du répertoire et non le répertoire lui-même (ce que j'ai spécifié dans la commande). Qu'est-ce que je manque ici ?
EDIT:
Oui, je suppose que l'option “remove-files” est assez littérale. Bien que je trouve moi aussi que la page de manuel n'est pas claire sur ce point. (Sous linux, j'ai tendance à ne pas vraiment faire la distinction entre les répertoires et les fichiers, et j'oublie parfois qu'ils ne sont pas la même chose). Il semble que le consensus soit qu'elle ne supprime pas les répertoires.
Cependant, mon principal argument pour poser cette question provient de la gestion des chemins absolus par tar. Comme vous devez spécifier un chemin relatif vers un ou plusieurs fichiers à compresser, vous devez donc passer au répertoire parent pour le tarer correctement. À mon avis, l'utilisation de toute commande “rm” subséquente est potentiellement dangereuse dans cette situation. J'espérais donc simplifier les choses en faisant en sorte que le tar lui-même fasse la suppression.
Par exemple, imaginez un script de sauvegarde où le répertoire à sauvegarder (c'est-à-dire tar) est inclus en tant que variable shell. Si la valeur de cette variable shell a été mal saisie, il est possible que le résultat soit des fichiers supprimés du dernier répertoire dans lequel vous vous trouviez.