Richtige Verwendung der Option --remove-files mit TAR


7

Was ist der richtige Weg, um die --remove-filesOption bei der Verwendung zu verwenden tar?

Ist es...

tar -cfvj --remove-files archive.tar.bz2 archive/

Oder...

tar -cfvj archive.tar.bz2 archive/ --remove-files

Antworten:


12

Da das -fArgument tarbesagt, dass Sie den Dateinamen des Archivs, auf das Sie reagieren, angeben werden, würde ich den Archivnamen direkt nach diesem Argument beibehalten. Die Liste der Dateien und Verzeichnisse, die in das Archiv aufgenommen werden sollen, sollte an letzter Stelle stehen. Sie können --remove-filesvor Ihren anderen Argumenten Folgendes angeben :

tar --remove-files -cvfj archive.tar.bz2 archive/

Problem mit dieser Option für mich ist, dass ich dann keine Tab-Vervollständigung mehr bekomme, die am
Dateiteil

1
@ iss42 Dies ist eine Funktion der Autocompletion-Muster Ihrer Shell, die nicht so intelligent sind, wie sie sein sollten, und nicht der falschen Verwendung von Teer. Sie können dieses Problem separat beheben.
Caleb

@Caleb interessant! Denken Sie, das, was ich in diesem Fall verwendet habe, war das Standard-Ubuntu-Setup. Können Sie mich auf weitere Informationen dazu verweisen?
Iss42

1
@ iss42 Sie müssen eine Frage stellen, wie Sie diesen Abschluss unter Unix und Linux beheben können, und hier einen Link dazu erstellen .
Caleb

0

oh popo! Für mich MUSS der Name der Archivdatei nach der Option -f stehen, um eine schlechte Interpretation zu vermeiden und einfacher zu verstehen.

In meinen Skripten bevorzuge ich die Verwendung dieser Syntax:

tar -cvjf archive.tar.bz2 --remove-files archive/

Ich habe nur die Optionen 'j' und 'f' umgeschaltet und das 'Entfernen' vor das Verzeichnis verschoben, um es zu archivieren. Das -c (--create) ist eine Funktion zum Erstellen der TAR-Datei und muss am Anfang stehen

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.