Entpacken: Versehentliche Unordnung aufräumen
Es passiert ganz schnell, dass man ein Archiv im Terminal oder mit einem grafischen Packprogramm in das falsche Verzeichnis entpackt. Bei umfangreichen Archiven sind die Aufräumarbeiten danach zumeist mühsam. Die Shell bietet einen bequemeren Weg, die versehentlich entpackten Dateien wieder zu löschen. Wenn die Archivdatei noch im gleichen Verzeichnis vorliegt, so kann ein Befehl den Inhalt komplett auflisten sowie die Dateiund Ordnernamen mit einem Löschbefehl verketten. Dabei ist das Kommando zum Auflisten vom Typ der Archivdatei abhängig. Wenn das Archiv eine Zipdatei ist, löscht dieses Kommando sämtliche entpackte Dateien und Ordner: unzip -Z -1 archiv.zip |
xargs -I{} rm -rf -v {} Diese Syntax übergibt auch Namen mit Sonderzeichen und Leerzeichen korrekt weiter. Für „tar“-dateien aller Art ist ein anderer Befehl erforderlich, wobei es keine Rolle spielt, ob das „tar“-archiv mit Gzip (tar.gz), Bzip2 (tar.bz2) oder LZMA (tar. xz) komprimiert ist: tar --list --file archiv. tar | xargs -I{} rm -rf -v {}
Mehr List verlangen 7z-archive von 7-Zip, die zwar unter Linux weniger gebräuchlich sind, aber insbesondere bei sehr großen Datenmengen eine der besten Kompressionsraten verheißen. Trotz ihrer zahlreichen Parameter kann die Programmdatei von 7z Inhalte eines Archivs nicht unformatiert auflisten. Es ist ein Umweg über das Tool bsdtar notwendig, das sich in den Standardpaketquellen aller großen Linux-distributionen findet und in Debian/ubuntu mit sudo apt-get install
bsdtar nachgerüstet wird.
Dieser Packer kann auch mit 7zdateien umgehen und hilft mit dem Befehl bsdtar tf archiv.7z |
xargs -I{} rm -rf -v {} beim Löschen entpackter Dateien und Ordner.