Die Dateikomprimierung ist eine Möglichkeit, Archive zu erstellen, die uns helfen, Zeit zu sparen, Platz zu schaffen und Software und Daten schneller herunterzuladen und zu übertragen. Sie können eine komprimierte Datei verwenden, um zusammengehörige Dateien im Internet zu verteilen, die alle in einer einzigen Datei komprimiert sind, ohne dass Daten verloren gehen. Wenn Sie Speicherplatz auf Ihrem System oder einem externen Speichergerät benötigen, können Sie Dateien in kleinere archivierte Dateien komprimieren. Manchmal müssen wir mehrere gezippte und seltene Dateien gleichzeitig extrahieren, die sich alle in einem einzigen Ordner befinden. Dies über die Linux-Benutzeroberfläche zu tun, ist ziemlich einfach; Sie müssen lediglich alle Dateien auswählen, die Sie extrahieren möchten, mit der rechten Maustaste klicken und die Option zum Extrahieren verwenden, um sie insgesamt zu extrahieren. Der eigentliche Deal ist, wenn wir dieselbe Aufgabe über die Befehlszeile ausführen möchten. Es kann sich als ziemlich langwierig und ehrlich gesagt unlogisch erweisen, eine Datei nach der anderen zu extrahieren, indem die Dateiextraktionsbefehle einzeln eingegeben werden. Hier kommt die for-Schleife der Bash zur Rettung. Sie können damit mehrere ähnliche Vorgänge gleichzeitig ausführen.
Dieser Artikel beschreibt, wie Sie die for-Schleife in der Bash-Shell verwenden können, um mehrere Dateien der folgenden Typen über die Debian-Befehlszeile zu extrahieren:
- Zip-Dateien
- Tar.xz-Dateien
- Rar-Dateien
- 7z-Dateien
Wir haben die in diesem Artikel erwähnten Befehle und Prozeduren auf einem Debian 10 Buster-System ausgeführt. Wir verwenden die Terminal-Anwendung als Debian-Befehlszeile. Sie können es wie folgt über die Suche im Starter für Sitzungen öffnen:
Auf den Application Launcher können Sie mit der Windows/Super-Taste auf Ihrer Tastatur zugreifen.
Mehrere Dateien gleichzeitig entpacken
Nehmen wir an, dass ein Ordner, in unserem Fall ein Ordner „zip_files“, mehrere gezippte Dateien enthält und wir sie gleichzeitig extrahieren möchten.
So können Sie die for-Schleife verwenden, um die Aufgabe zu vereinfachen:
$ for z in *.zip do unzip $z; done
So erreichen Sie dieselbe Aufgabe mit einem einzigen Befehl:
$ for z in *.zip; do unzip "$z"; done
Mehrere tar.xz-Dateien auf einmal extrahieren
Angenommen, ein Ordner enthält mehrere tar.xz-Dateien und wir möchten sie gleichzeitig extrahieren.
So können Sie die for-Schleife verwenden, um die Aufgabe zu vereinfachen:
$ for z in *.tar.xz do tar -xf $z; done
So erreichen Sie dieselbe Aufgabe mit einem einzigen Befehl:
$ for z in *.tar.xz; do tar -xf "$z"; done
Mehrere Dateien gleichzeitig entpacken
Verwenden Sie den folgenden Befehl, um mehrere RAR-Dateien auf einmal zu entpacken.
$ for z in *.rar do unrar e $z; done
Oder,
$ for f in *.rar; do unrar e “$f”; done
Mehrere 7z-Dateien gleichzeitig extrahieren
Verwenden Sie den folgenden Befehl, um mehrere 7z-Dateien auf einmal zu extrahieren.
$ for z in *.7z do 7z e $z; done
Oder,
$ for z in *.7z; do 7z e "$z"; done
Durch die Verwendung der Bash for-Schleife können Sie die hektische Aufgabe erledigen, mehrere komprimierte Dateien auf einmal zu extrahieren. Diese kleine Fähigkeit, die Sie in diesem Artikel gelernt haben, ist besonders praktisch, wenn wir bis zu Hunderte komprimierter Dateien gleichzeitig extrahieren müssen. Nicht nur zum Extrahieren von Dateien, sondern Sie können die Leistung der Bash-'for'-Schleife auch nutzen, um verschiedene andere ähnliche Aufgaben auszuführen, die länger dauern können, wenn Sie sie einzeln ausführen.