Я намагаюся tar
зібрати файли в каталозі під назвою "my_directory" і видалити оригінали за допомогою команди:
tar -cvf files.tar my_directory --remove-files
Однак це лише видалення окремих файлів всередині каталогу, а не самого каталогу (що я вказав у команді). Що я тут пропускаю?
Редагувати:
Так, я вважаю, що варіант "видалити-файли" є досить буквальним. Хоча я теж вважав сторінку чоловіка незрозумілою з цього приводу. (У linux я, як правило, не дуже розрізняю каталоги та файли настільки сильно, і іноді забуваю, що вони не одне й те саме). Схоже, консенсус полягає в тому, що він не видаляє каталоги.
Однак, моє основне спонукальне запитання для цього питання випливає з керованості смолою абсолютних шляхів. Оскільки ви повинні вказати відносний шлях до файлу / с, який потрібно стиснути, ви повинні змінити його в батьківський каталог, щоб правильно націлити його. Як я бачу, використання будь-якої подальшої команди 'rm' потенційно небезпечно в цій ситуації. Таким чином, я сподівався спростити речі, змусивши дьоготь самостійно виконувати видалення.
Наприклад, уявіть сценарій резервного копіювання, де каталог для резервного копіювання (тобто tar) включений як змінної оболонки. Якщо це значення змінної оболонки було погано введено, можливо, в результаті можуть бути видалені файли з того каталогу, в якому ви траплялися останнім часом.