Как сделать tar-директорию, а затем удалить оригиналы, включая каталог?
Я пытаюсь получить tar
коллекцию файлов в каталоге под названием ‘my_directory’ и удалить оригиналы с помощью команды:
tar -cvf files.tar my_directory --remove-files
Однако это удаление только отдельных файлов внутри каталога, а не самого каталога (что я и указал в команде). Чего мне здесь не хватает?
EDIT:
Да, я полагаю, что опция ‘remove-files’ довольно буквальна. Хотя я тоже нашел man-страницу неясной в этом вопросе. (В linux я склонен не так сильно различать каталоги и файлы, и иногда забываю, что это не одно и то же). Похоже, что консенсус заключается в том, что он не удаляет каталоги.
Однако, мой главный побудительный мотив для задания этого вопроса связан с тем, что tar работает с абсолютными путями. Т.к. вы должны указать относительный путь к файлу/s, который должен быть сжат, то вы должны изменить его в родительском каталоге, чтобы правильно tar. Как я вижу, использование любой команды ‘rm’ потенциально опасно в этой ситуации. Поэтому я надеялся упростить ситуацию, заставив tar сам сделать удаление.
Например, представьте скрипт резервного копирования, в котором каталог для резервного копирования (т.е. tar) включается в качестве переменной оболочки. Если значение этой переменной в оболочке было введено неправильно, то возможно, что в результате могут быть удалены файлы из того каталога, в котором вы оказались последним.