Die Option --null von GNU tar

520
Kal

Die Manpage des GNU tar sagt dazu über die --nullOption:

-T reads null-terminated names, disable -C 

Ich weiß, dass --nulldies in Kombination mit nützlich ist find ... -print0, aber worum geht es disable -C? Wie haben nullterminierte Namen mit der -COption zu tun, die in das Verzeichnis wechseln soll?

Was bedeutet die Manpage eigentlich? Ich kann mir verschiedene Möglichkeiten vorstellen:

  1. --nullKonflikte mit -C, ich kann beides einfach nicht zusammen verwenden;
  2. Ich kann, aber sollte nicht verwendet werden --nullund -Czusammen, weil das Ergebnis falsch sein kann;
  3. --nullautomatisch deaktiviert -C;

Welche Bedeutung hat es?

BEARBEITEN: Die Version von GNU tar ist 1.27.1 auf Debian Jessie.

1

1 Antwort auf die Frage

0
dave_thompson_085

Ich vermute, das ist eine Panne. Die Online-Info-Version sagt nichts darüber aus disable -C- was, wie Sie richtig argumentieren, keinen Sinn macht -, sagt aber:

... `--null 'deaktiviert auch die spezielle Behandlung von Dateinamen, die mit dash beginnen (ähnlich der Option --verbatim-files-from).

Das macht mehr Sinn. Eine durch Zeilenumbrüche getrennte Liste von Dateinamen kann von einem Werkzeug (wie find) generiert werden ODER kann leicht genug von einem Menschen eingegeben werden, der möglicherweise auch Optionen angeben möchte, aber eine mit Null getrennte Liste wird viel wahrscheinlicher von einem Werkzeug und somit generiert nur Dateinamen