Hoe kan ik een directory tarren en dan de originelen verwijderen, inclusief de directory?
Ik probeer een verzameling bestanden in een directory genaamd ‘mijn_directory’ te tar
en de originelen te verwijderen met behulp van het commando:
tar -cvf files.tar my_directory --remove-files
Het verwijdert echter alleen de individuele bestanden in de directory en niet de directory zelf (wat ik in het commando heb opgegeven). Wat zie ik hier over het hoofd?
EDIT:
Ja, ik neem aan dat de ‘remove-files’ optie vrij letterlijk is. Hoewel ook ik de man page op dat punt onduidelijk vond. (In linux heb ik de neiging om niet echt veel onderscheid te maken tussen mappen en bestanden, en vergeet ik soms dat ze niet hetzelfde zijn). Het lijkt erop dat de consensus is dat het geen directories verwijdert.
Echter, mijn belangrijkste reden om deze vraag te stellen komt voort uit tar’s behandeling van absolute paden. Omdat je een relatief pad moet opgeven naar een bestand of bestanden die gecomprimeerd moeten worden, moet je dus naar de bovenliggende map gaan om het goed te tarren. Zoals ik het zie is het gebruik van een of ander opvolgend ‘rm’ commando potentieel gevaarlijk in die situatie. Daarom hoopte ik de dingen te vereenvoudigen door tar zelf het verwijderen te laten doen.
Stel je bijvoorbeeld een backup script voor waarin de te backuppen directory (bijvoorbeeld tar) is opgenomen als een shell variabele. Als die shell variabele waarde slecht is ingevoerd, is het mogelijk dat het resultaat verwijderde bestanden zijn uit de directory waar je toevallig als laatste was.