Haben Sie sich jemals gefragt, wie Sie Dateien unter Linux entpacken können? Oder wie erstelle und entpacke ich ein Zip-Archiv? Dann ist dieses Tutorial alles, was Sie brauchen, um Ihre ZIP-Dateien effektiv zu verwalten.
Zippen ist eine der besten und beliebtesten Techniken, um Dateien zu komprimieren, indem ihre Größe reduziert wird, ohne an Qualität zu verlieren. Und in diesem Tutorial erfahren Sie, wie Sie ZIP-Dateien unter Linux komprimieren und dekomprimieren, zusammen mit anderen Tipps und Tricks. Bereit?
Tauchen Sie ein und werden Sie am Ende dieses Tutorials zum „Zip-Meister“!
Voraussetzungen
Wenn Sie ein IT-Profi sind und mit zu vielen Anfragen zum Zurücksetzen von Passwörtern in Active Directory zu kämpfen haben, sehen Sie sich Specops uReset an, eine sichere SSPR-Lösung.
Die Demonstrationen in diesem Tutorial wurden in Kali Linux 2021.2 erstellt. Sie können jedoch auch mit anderen Linux-Distributionen arbeiten, z. B. mit Debian-basierten (wie Unbuntu oder Kali Linux), CentOS oder Fedora.
Installieren der Zip- und Unzip-Pakete
Um mit Linux in ZIP-Dateien zu komprimieren und zu dekomprimieren, benötigen Sie ein paar Pakete namens zip und unzip. Lassen Sie uns nun durchgehen, wie Sie diese Pakete mit dem apt-Paketmanager installieren.
Um die Zip- und Unzip-Pakete zu installieren, starten Sie zuerst das Terminal auf Ihrem Desktop und führen Sie die folgenden Befehle aus, abhängig von den Linux-Distributionen, an denen Sie arbeiten.
Jeder der folgenden Befehle beginnt mit dem sudo
Befehl zum Umgang mit erhöhten Berechtigungen.
Für Debian
Die folgenden Befehle verwenden die apt
Paketmanager zu install
die zip
und unzip
Pakete.
sudo apt install zip # Installs the zip package
sudo apt install unzip # Installs the unzip package
Für Fedora und CentOS
Die folgenden Befehle verwenden den yum
Paketverwaltungstool auf install
die zip
und unzip
Pakete.
sudo yum install zip # Installs the zip package
sudo yum install unzip # Installs the unzip package
Dateien mit dem Zip-Paket komprimieren
Nachdem Sie nun alle erforderlichen Pakete installiert haben, ist es an der Zeit zu lernen, wie Sie Dateien komprimieren. Dazu führen Sie den zip
aus Befehl, mit dem Sie Dateien sowohl über die Befehlszeile als auch über die GUI in ZIP-Pakete komprimieren können. Lassen Sie uns jede Methode durchgehen!
Zippen von Dateien über die Befehlszeile
Unter Linux werden Sie normalerweise ziemlich häufig die Befehlszeile verwenden, also lassen Sie uns zuerst sehen, wie Sie Dateien über die Befehlszeile komprimieren.
Beachten Sie die folgende Befehlssyntax. Das sehen Sie hinter dem zip
Befehl, outpufile
steht für den Namen der ZIP-Datei. Dann folgt der Name der Dateien und des Ordners (file1 file2 folder
) in die ZIP-Datei aufzunehmen.
zip [option] outputfile file1 file2 folder
Um das Komprimieren von Dateien auf der Befehlszeile zu demonstrieren, öffnen Sie zuerst ein Terminal und erstellen Sie ein Verzeichnis namens ~/mydir . Erstellen Sie dann zwei Dateien und einen Ordner namens test1, test2 und myfolder in ~/mydir .
1. Führen Sie mkdir
aus Befehl unten, um mydir
zu erstellen Verzeichnis.
mkdir mydir
2. Die folgenden Befehle erstellen (touch
) die test1.txt
und test2.txt
Dateien. Erstellen Sie dann (mkdir
) die myfolder
Verzeichnis.
touch ~/mydir/test1.txt
touch ~/mydir/test2.txt
mkdir myfolder
3. Führen Sie den folgenden Befehl aus, um (ls
) den Inhalt des Arbeitsverzeichnisses (~/mydir ), wie unten gezeigt.
Nachdem Sie die Dateien und Ordner erstellt haben, komprimieren Sie die Datei ~/mydir Ordner, indem Sie den folgenden Befehl ausführen.
Die zip
Befehl unten ist rekursiv (-r
) Durchsuchen des mydir
Verzeichnis für alle Dateien und Unterverzeichnisse. Wenn es fertig ist, werden alle diese Dateien in eine ZIP-Datei mit dem Namen newdir.zip
komprimiert .
zip -r newdir.zip mydir
Vielleicht möchten Sie nur ~/mydir/test1.txt, ~/mydir/test2.txt und ~/mydir/myfolder komprimieren Verzeichnisse. Führen Sie dazu den folgenden Befehl aus.
Der zip
Befehl unten ist rekursiv (-r
) Suche nach allen Dateien und Ordnern im Arbeitsverzeichnis (mydir
) namens test1.txt
, test2.txt
, und myfolder
und Erstellen einer ZIP-Datei mit dem Namen newfiles.zip
.
cd mydir
zip -r newfiles test1.txt test2.txt myfolder
Das Hinzufügen der .zip-Erweiterung für die Zip-Datei ist optional, da sie nach Abschluss der Komprimierung automatisch hinzugefügt wird. Im obigen Beispiel erstellt der Befehl zip eine ZIP-Datei namens newfiles.zip statt nur newfiles.
Löschen der Originaldatei nach dem Archivieren
Im vorherigen Abschnitt haben Sie gelernt, wie Sie Dateien in eine ZIP-Datei komprimieren, aber Sie hätten bemerkt, dass die Originaldateien danach nicht entfernt wurden. Fügen Sie den -m
hinzu Option im Zip-Befehl, um die Originaldateien zu entfernen, wie unten gezeigt.
Starten Sie nach dem Erstellen der ZIP-Datei ein Terminal und führen Sie dann den folgenden Befehl aus, um die Originaldateien automatisch zu löschen. Die zip
Der folgende Befehl komprimiert die Dateien und den Ordner mit dem Namen test1.txt
, test2.txt
, und myfolder
zum newsfiles.zip
ZIP-Datei, dann löscht (-m
) die Originaldateien.
Nachdem Sie den Befehl ausgeführt haben, werden Sie feststellen, dass der Zip-Befehl die Originaldateien entfernt.
zip -m -r newfiles.zip test1.txt test2.txt myfolder
Hinzufügen neuer Dateien zu einer bestehenden Zip-Datei
Vielleicht haben Sie beim Komprimieren von Dateien in eine ZIP-Datei vergessen, eine Datei einzuschließen. Wie würden Sie einer vorhandenen ZIP-Datei eine neue Datei hinzufügen? Sie könnten die ZIP-Datei löschen und eine andere erstellen, aber es gibt einen besseren Weg.
Um eine neue Datei zur bestehenden ZIP-Datei hinzuzufügen (newfiles.zip ), führen Sie den folgenden Befehl aus. Der folgende Befehl aktualisiert (-u
) das vorhandene ZIP-Dateipaket (newfiles.zip
) rekursiv (-r
) Durchsuchen aller Dateien in ~/mydir Verzeichnis und fügen Sie sie dann dem ZIP-Paket hinzu.
zip -u -r newfiles.zip test3
Dateien aus einer Zip-Datei löschen
Sie haben zuvor gelernt, wie Sie Dateien zu vorhandenen komprimierten Dateien hinzufügen. Aber was ist, wenn Sie einer Zip-Datei versehentlich eine Datei hinzugefügt haben? Natürlich möchten Sie diese Datei aus der ZIP-Datei entfernen und den -d
hinzufügen Option zum zip
Befehl würde es tun.
Um eine Datei aus der ZIP-Datei zu löschen, führen Sie zip
aus Befehl löschen (-d
) der test3
Datei aus der (newfiles.zip
) ZIP-Datei.
zip -d newfiles.zip test3
Dateien per GUI komprimieren
Inzwischen haben Sie gelernt, wie Sie Dateien über die Befehlszeile komprimieren. Aber wenn Sie lieber mit einer grafischen Oberfläche arbeiten, haben Sie Glück. Mit der GNU Network Object Model Environment (GNOME)-Umgebung können Sie mit wenigen Klicks ein Zip-Archiv erstellen. GNOME ist eine Desktop-GUI auf Ihrem Betriebssystem. Fangen wir also an!
1. Wechseln Sie in die GNOME-Umgebung und öffnen Sie dann den Dateimanager.
2. Suchen Sie nach den zu komprimierenden Dateien, indem Sie in ~/mydir navigieren Verzeichnis.
3. Um das ZIP-Paket zu erstellen, wählen Sie alle zu komprimierenden Dateien aus, klicken Sie dann mit der rechten Maustaste auf eine der Dateien und wählen Sie Komprimieren aus dem Kontextmenü.
Wählen Sie nun im folgenden Popup-Fenster das Format für die komprimierte Datei aus. Beachten Sie, dass es drei Formatoptionen gibt:.zip, .tar.xz und .7z. Diese Formate sind alle Komprimierungsformate.
Da Sie eine ZIP-Datei erstellen, wählen Sie .zip aus Möglichkeit. Erstellen Sie dann die ZIP-Datei, indem Sie ihr einen Namen geben (newfiles ) und klicken Sie auf Erstellen .
Die ZIP-Datei wird automatisch im Ordner ~/mydir erstellt, in dem sich die zu komprimierenden Dateien befinden.
Sie werden unten bemerken, dass Linux eine Datei namens newfiles.zip erstellt von denen, die Sie ausgewählt haben.
Dateien mit dem Unzip-Paket dekomprimieren
In den vorherigen Beispielen haben Sie gelernt, wie Sie Dateien komprimieren. Aber vielleicht müssen Sie den Inhalt der ZIP-Datei extrahieren oder dekomprimieren. Wie würdest du das machen?
Ähnlich wie beim Komprimieren von Dateien erhalten Sie zwei Methoden zum Dekomprimieren von Dateien über die Befehlszeile und die GUI. Beide Methoden nutzen das zuvor installierte Unzip-Paket, um ZIP-Dateien zu dekomprimieren.
Entpacken von Dateien über die Befehlszeile
Da Sie in diesem Tutorial weiterhin Befehle in einer Befehlszeilenumgebung ausführen werden, beginnen wir mit dem Entpacken von Dateien über die Befehlszeilenmethode.
Um eine ZIP-Datei zu entpacken, starten Sie Ihr Terminal und führen Sie den folgenden Befehl aus. Beachten Sie, dass der folgende Befehl unzip
wird der Inhalt der (newdir.zip
) Zip-Datei. Standardmäßig werden die Inhalte in dasselbe Verzeichnis extrahiert (~/mydir ) der (newdir.zip
) ZIP-Datei.
Wenn Sie den Inhalt einer ZIP-Datei in ein anderes Verzeichnis als das Arbeitsverzeichnis entpacken möchten, geben Sie den
-d
an gefolgt von dem Verzeichnis, in das der Inhalt der ZIP-Datei extrahiert werden soll:unzip
newdir.zip-d
anderes Verzeichnis.
unzip newdir.zip
Dateien über GUI entpacken
Wenn das Entpacken von Dateien über die Befehlszeile viel Arbeit zu sein scheint, versuchen Sie, Dateien mit wenigen Klicks mit der GUI-Methode zu entpacken. Und ähnlich wie bei der Befehlszeilenmethode können Sie auch auswählen, wo die Dateien extrahiert werden sollen.
Um Dateien zu entpacken, öffnen Sie den Dateimanager, wie unter Dateien über die grafische Benutzeroberfläche komprimieren beschrieben Sektion. Klicken Sie mit der rechten Maustaste auf das ZIP-Paket, das Sie extrahieren möchten, und wählen Sie Hier extrahieren aus , wie unten gezeigt.
Klicken Sie auf Hier extrahieren , entpackt Linux alle Dateien im ZIP-Paket im Arbeitsverzeichnis.
Wenn Sie es vorziehen, alle Dateien in ein anderes Verzeichnis zu extrahieren, wählen Sie Extrahieren nach Option aus dem Kontextmenü.
Überprüfen der Integrität der Zip-Datei
In einigen Fällen können ZIP-Dateien beschädigt werden, z. B. beim Herunterladen der ZIP-Datei aus dem Internet. Oder wenn die ZIP-Datei auf ein beschädigtes Speichergerät übertragen wurde. Möglicherweise wissen Sie nicht, dass sie an der Oberfläche beschädigt sind, daher ist es wichtig, ihre Integrität zu überprüfen.
Führen Sie den folgenden Befehl aus, um die Integrität der ZIP-Datei zu überprüfen. Der zip
folgenden Befehl rekursiv (-r
) durchsucht das Arbeitsverzeichnis nach der (newfiles.zip
) ZIP-Datei und überprüft dann (-T
), wenn es in gutem Zustand ist.
Der folgende Befehl überprüft nur die Integrität der ZIP-Datei, nicht aber die darin enthaltenen Dateien und Unterverzeichnisse.
zip -r -T newfiles
Wie unten gezeigt, sehen Sie einen Hinweis darauf, dass der Test erfolgreich war.
Testen der komprimierten Dateien vor dem Extrahieren
Das Extrahieren einer ZIP-Datei mit beschädigten Dateien würde nur Zeit verschwenden und zu Fehlern führen, insbesondere wenn es sich um eine große ZIP-Datei mit mehreren Dateien handelt. Daher ist es eine gute Idee, die komprimierten Dateien in der ZIP-Datei zu testen, bevor Sie sie extrahieren.
Das Testen der komprimierten Dateien ähnelt dem Überprüfen der Integrität der ZIP-Datei, aber dieses Mal testen Sie jede Datei in der ZIP-Datei und nicht nur die ZIP-Datei selbst.
Führen Sie nun unzip
aus Befehl zum Testen (-t
) den Status jeder Datei innerhalb der Datei (newdir.zip
) ZIP-Datei.
unzip -t newdir.zip
Wie Sie im Bild unten sehen, hat das entpackte Paket keine Fehler gefunden.
Anzeigen des Inhalts einer Zip-Datei ohne Extrahieren
Vielleicht möchten Sie lieber nur sehen, was in der ZIP-Datei enthalten ist, anstatt die Dateien tatsächlich zu extrahieren. Glück für Sie, der unzip
Befehl hat den -l
Option, die den Inhalt einer ZIP-Datei anzeigt, ohne sie zu extrahieren.
Um den Inhalt einer ZIP-Datei anzuzeigen, führen Sie unzip
aus Befehl zum Auflisten (-l
) der ZIP-Datei (newdir.zip
) Inhalte, ohne sie zu extrahieren.
unzip -l newdir.zip
Beachten Sie den Screenshot unten, der eine tabellarische Liste der Inhalte in der (newdir.zip
) ZIP-Datei.
Dateien mit derselben Dateierweiterung komprimieren
Um zu demonstrieren, wie Sie einige gängige Anwendungsfälle mit dem zip-Dienstprogramm skripten, haben Sie vielleicht ein Verzeichnis mit vielen verschiedenen Dateien, müssen aber nur diejenigen komprimieren, die einer bestimmten Erweiterung entsprechen. Dazu benötigen Sie ein Skript, das wiederholt nach allen Dateien mit derselben Erweiterung sucht. Wenn sie gefunden werden, werden sie einer ZIP-Datei hinzugefügt.
Lassen Sie uns durchgehen, was das folgende Skript macht und wie es ausgeführt wird.
Das folgende Skript deklariert eine Variable (files
), um den Dateierweiterungswert (*.txt
), dann eine weitere Variable (targetDir
) für das Zielverzeichnis (anotherDir
).
Das Skript führt dann einen for
aus Schleifenfunktion, um alle Dateien mit der .txt zu durchsuchen (files
) Erweiterung innerhalb des Zielverzeichnisses (anotherDir
). Wenn eine .txt Datei gefunden wird, die zip
Befehl fügt hinzu (-u
) diese Datei in die (mynewfiles.zip
) Zip-Datei. Sind Sie bereit, das Komprimieren von Dateien zu automatisieren?
1. Öffnen Sie einen Texteditor und speichern Sie das Skript mit der Datei .sh Erweiterung (z. B.:script.sh ), das ist die Erweiterung für die Dateien, die mit der Shell-Programmiersprache geschrieben wurden.
files=*.txt # Declare variable to hold the .txt extension
targetDir=anotherDir # Declare variable to hold the target directory
for file in $files; do # Searches all files with .txt extension
zip -u $targetDir/mynewfiles $file # Adds found .txt files to mynewfiles.zip file
done
2. Stellen Sie sicher, dass Sie das Skript ausführen können, indem Sie seine Berechtigung ändern. Führen Sie dazu chmod
aus Befehl zum Ändern (+x
) des Skripts (script.sh
) Ausführungserlaubnis.
chmod +x script.sh
3. Führen Sie nun das Skript aus, indem Sie den folgenden Befehl ausführen. Der folgende Befehl führt das Skript aus (script.sh ), solange sich das Skript im aktuellen Arbeitsverzeichnis befindet.
./script.sh
Wie Sie bemerken, gibt es eine Warnmeldung, die Ihnen mitteilt, dass die Datei ~/mynewfiles.zip ist nicht vorhanden. Aber keine Sorge, das Skript erstellt automatisch die ZIP-Datei.
Fazit
Wenn Sie ein IT-Profi sind und mit zu vielen Anfragen zum Zurücksetzen von Passwörtern in Active Directory zu kämpfen haben, sehen Sie sich Specops uReset an, eine sichere SSPR-Lösung.
In diesem Lernprogramm haben Sie gelernt, wie Sie ZIP-Dateien verwalten (komprimieren und dekomprimieren) und anhand eines Übungsbeispiels erfahren, wie Sie den Prozess des Komprimierens von Dateien automatisieren. Wie versprochen, sind Sie jetzt ein „Reißverschluss-Meister“!
Würden Sie sich jetzt beim nächsten Zippen entweder manuellen oder automatisierten Prozessen zuwenden?