Ich habe eine Datei „elasticsearch-servicewrapper.tar.gz“. Wenn ich versuche, sie auszuführen:
tar -xvf elasticsearch-servicewrapper.tar.gz
Ich erwarte, dass der extrahierte Ordner „elasticsearch-elasticsearch-servicewrapper“ heißt. Stattdessen erhalte ich jedoch „elasticsearch-elasticsearch-servicewrapper-d47d048“. Gibt es eine Möglichkeit, den Zielordnernamen zu erzwingen?
Dies ist auf Ubuntu 12.04.
Antwort1
Es liegt nicht an Tar – das Verzeichnis wird nur erstellt, weil es sich ohnehin im Tarball befand, also hat es den Namen, der im Tarball gespeichert ist.
Sie können als Workaround Ihren eigenen Zielordner erstellen und ihn mit --strip-components dorthin extrahieren, um führende Pfadnamen zu entfernen.
Antwort2
Warum benennen Sie es nicht einfach in mv elasticsearch-elasticsearch-servicewrapper-d47d048 elasticsearch-elasticsearch-servicewrapper
?
Du könntest es tar -xvf elasticsearch-servicewrapper.tar.gz -C /tmp/elasticsearch-servicewrapper
auch versuchen.