смоляные гнезда на реставрации

Является ли следующее известным и давним несоответствием/особенностью tar? Подозреваю, что да.

cd mydir
tar cvpf dec14.tar .
tar xvpf dec14.tar -C .

Файлы извлекаются туда, где они должны быть.

cd ..
tar cvpf dec14.tar mydir
tar xvpf dec14.tar -C mydir

Файлы восстанавливаются вложенными в mydir/mydir, другими словами, вложенными на один уровень ниже, чем раньше.


person H2ONaCl    schedule 14.12.2010    source источник


Ответы (1)


Нет, это не несоответствие или ошибка. tar делает именно то, что вы сказали. Параметр «-C» просто означает сначала перейти в указанный каталог, он ничего не подразумевает об обрезке этой строки из извлеченных путей.

person nobody    schedule 15.12.2010
comment
Спасибо. Вы правы, конечно, -C описан на странице руководства как программное изменение данного каталога. Тем не менее, после выполнения извлечения мы в конечном итоге ничем не отличаемся, поэтому я полагаю, что более полная справочная страница скажет, что есть изменение каталога и изменение обратно. Возможно, было бы лучше, если бы эта опция использовалась для указания целевого пути для извлечения, а не целевого пути для операции изменения каталога. В конце концов, мы не ожидаем изменения каталога, если делаем что-то вроде rm mydir/*. - person H2ONaCl; 15.12.2010