Я пытаюсь tar
набор файлов в директории под названием «my_directory» и удалите оригиналы с помощью команды:
tar -cvf files.tar my_directory --remove-files
Однако это только удаление отдельных файлов внутри каталога, а не самого каталога (это то, что я указал в команде). Что мне здесь не хватает?
РЕДАКТИРОВАТЬ:
Да, я полагаю, опция 'remove-files' довольно буквальная. Хотя я тоже нашел справочную страницу по этому вопросу неясной. (В Linux я не очень сильно различаю каталоги и файлы, и иногда забываю, что это не одно и то же). Похоже, консенсус в том, что он не удаляет каталоги.
Тем не менее, мой главный побудительный момент для того, чтобы задать этот вопрос, связан с обработкой tar абсолютных путей. Поскольку вы должны указать относительный путь к файлу / файлам, которые нужно сжать, вы должны перейти в родительский каталог, чтобы правильно его смонтировать. Насколько я понимаю, использование любой команды «rm» в этой ситуации потенциально опасно. Таким образом, я надеялся упростить ситуацию, заставив tar самостоятельно выполнить удаление.
Например, представьте сценарий резервного копирования, в котором каталог для резервного копирования (т. Е. Tar) включен в качестве переменной оболочки. Если это значение переменной оболочки было введено неверно, возможно, в результате удастся удалить файлы из любого каталога, в котором вы оказались в прошлом.