Erstellen Sie eine .tar.bz2-Datei Linux

85

Auf meinem Linux-Computer möchte ich eine .tar.bz2-Datei eines bestimmten Ordners erstellen. Was gebe ich in die Terminal-Befehlszeile ein, um den komprimierten Ordner im Ausgangsverzeichnis meines Computers abzulegen, nachdem ich mich in diesem Ordner (im Terminal) abgelegt habe?

Angenommen, ich bin im Ordner / home / user / folder. Im Ordner "Ordner" befinden sich mehrere Dateien (txt, .c usw.). Wie komprimiere ich diesen Ordner vom Typ .tar.bz2 und lege ihn in mein / home-Verzeichnis?

Im Ordner / home / user / habe ich versucht, sudo tar -cvjSf folder.tar.bz2aber eine Fehlermeldung erhalten:

tar: Feige Weigerung, ein leeres Archiv zu erstellen

Adam
quelle
10
Ich nominiere dies für die Auszeichnung "Nutzlose Verwendung von Sudo", da Sie in Ihrem Home-Verzeichnis arbeiten und den Superuser nicht wecken müssen.
Afr
1
Für diejenigen, die sich fragen - c= erstellen, v= ausführlich, j= bz2-Komprimierung, S= geringe Effizienz, f= Name der Ausgabedatei. Ich weiß nicht genau, was das Smacht, dies ist nur eine Liste aus der Manpage
user3728501

Antworten:

167

Sie geben nicht an, was in das Archiv aufgenommen werden soll.

Gehen Sie eine Ebene außerhalb Ihres Ordners und versuchen Sie:

sudo tar -cvjSf folder.tar.bz2 folder

Oder versuchen Sie es aus demselben Ordner

sudo tar -cvjSf folder.tar.bz2 *

Prost!

Pietromenna
quelle
2
Beachten Sie jedoch, dass * bei Verwendung der zweiten Option * keine versteckten Dateien in Ihrem aktuellen Ordner enthält (beginnend mit einem Punkt ohne Unterbrechung). Die erste Option ist also besser, da sie versteckte Dateien enthält.
Shervin Emami
3
Hey, du könntest das '*' für 'ändern.' in der zweiten Option, um auch versteckte Dateien einzuschließen.
Pietromenna
3
OpenBSD hat nicht die SOption ' ', FreeBSD hat sie stattdessen, sondern nur mit der Option 'extrahieren', also sollte der beste Weg seintar cvjf
b3h3m0th
11

Versuchen Sie dies aus einem anderen Ordner:

sudo tar -cvjSf folder.tar.bz2 folder/*
Robert Juhasz
quelle