Ich möchte das X-Verzeichnis ohne die übergeordneten Verzeichnisse tarnen.

Ich möchte das X-Verzeichnis ohne die übergeordneten Verzeichnisse tarnen.
tar cvf /var/lib/backup/sample.tar /home/user/.project

Wenn ich jedoch extrahiere, erhalte ich auch die Eltern

/backup/
  - /home/
     - /user/
        - .project/

Dieser Tar-Befehl erledigt seine Aufgabe, da er in seinen übergeordneten Elementen nichts anderes einschließt ( userz. B. andere Ordner darunter).

Ich möchte dies programmgesteuert tun, daher ist das Ändern des aktuellen Arbeitsverzeichnisses /home/user/keine wirkliche Option. Ist das möglich?

Antwort1

Sie können die -COption entweder zum Wechseln in das /home/userVerzeichnis vor dem Tarieren verwenden oder --strip-components 2beim Extrahieren.

tar cvfC /var/lib/backup/sample.tar /home/user .project
#                              Note the space ^
tar cvf /var/lib/backup/sample.tar /home/user/.project
tar Cxf /backup /var/lib/backup/sample.tar --strip-components 2

Antwort2

Ich denke, wenn Sie cdin das oberste Verzeichnis gehen, aus dem Sie die Datei erstellen möchten tar, sollte dieses Problem nicht auftreten.

cdnach userund tarnach .project... können Sie das Ziel für die Tar-Datei wie /var/... zuvor angeben.

Oder gibt es einen Grund, warum Sie nicht wollen/ cdkönnen user?

verwandte Informationen