Komprimer alle filer i et katalog med kommandolinje

Dette er en rigtig god terminalkommando, der komprimerer hver fil i en mappe, og gør dem til et zip-arkiv. Vi tilbyder to varianter af det; en der fjerner den oprindelige kildefil og kun efterlader de komprimerede filer, og en anden kommando, der efterlader de ukomprimerede kildefiler intakt. Dette er blevet testet og fungerer i Mac OS X og Linux.

Komprimer alle filer i et katalog, og fjern kildefiler

Denne version komprimerer alle elementer i det nuværende bibliotek og fjerner derefter den originale kilde ukomprimerede fil:

for item in *; do zip -m "${item}.zip" "${item}"; done

Husk, at * angiver alle filer i den aktuelle mappe, så sørg for at du er i det bibliotek, du vil komprimere, før du udfører kommandoen. Du kan altid dobbelttjekke, hvilken mappe du arbejder med med kommandoen 'pwd'.

Jeg testede dette ud og efter at have læst det på StevenF og i gennemsnit komprimerede filer 66%, hvilket er en betydelig reduktion. Hvis du har en stort set sjældent tilgængelige downloads eller anden arkivmappe, kan denne kommando virkelig spare diskplads. Selvfølgelig, da det komprimerer filerne, ville det ikke være fornuftigt at bruge det i en mappe, hvor tingene regelmæssigt er tilgængelige.

Komprimer alle filer i et katalog, vedligehold originale filer

Du kan også bruge kommandoen ovenfor til at komprimere alle filer i en mappe, men stadig opretholde de originale filer eller mapper som ukomprimeret. Kommandoen er praktisk taget identisk, bare slip ud -m flag:

for item in *; do zip "${item}.zip" "${item}"; done

Du vil nu have komprimeret alle filer i den nuværende arbejdsmappe (pwd), og de originale kildefiler forbliver ligeledes ukomprimerede.

Disse kommandoer arbejder i Mac OS X og Linux, og sandsynligvis også andre Unix-varianter.

Tjek flere kommandolinjespidser, hvis du er interesseret.