Опция GNU tar --null

428
Kal

На man-странице GNU tar есть следующее --null:

-T reads null-terminated names, disable -C 

Я знаю, что --nullэто полезно в сочетании с find ... -print0, но о чем это disable -C? Как имена с нулевым символом в конце имеют какое-либо отношение к -Cпараметру, который должен измениться в каталоге?

Что на самом деле означает справочная страница? Я могу думать о нескольких возможностях:

  1. --nullконфликтует с -C, я просто не могу использовать оба вместе;
  2. Я могу, но не должен использовать --nullи -Cвместе, потому что результат может быть неправильным;
  3. --nullавтоматически отключается -C;

Какой смысл это?

РЕДАКТИРОВАТЬ: версия GNU tar у меня есть 1.27.1, на Debian Jessie.

1

1 ответ на вопрос

0
dave_thompson_085

Я подозреваю, что это глюк. Информационная онлайн-версия ничего не говорит о том, disable -Cчто, как вы правильно утверждаете, не имеет смысла, но говорит:

... `--null 'также отключает специальную обработку имен файлов, начинающихся с дефиса (аналогично опции --verbatim-files-from).

Это имеет больше смысла; разделенный символом новой строки список имен файлов может быть сгенерирован инструментом (например find) ИЛИ может быть набран достаточно легко человеком, который вполне может захотеть также указать параметры, но разделенный нулями список с большей вероятностью генерируется инструментом и поэтому только имена файлов.

Похожие вопросы