Alle bestanden in een map comprimeren via opdrachtregel

Dit is echt een geweldig terminalcommando dat elk bestand in een map comprimeert en er een ziparchief van maakt. We zullen er twee varianten van aanbieden; een die het oorspronkelijke bronbestand verwijdert en alleen de gecomprimeerde bestanden achterlaat en een andere opdracht die de niet-gecomprimeerde bronbestanden intact laat. Dit is getest en werkt in Mac OS X en Linux.

Alle bestanden in een map comprimeren en bronbestanden verwijderen

Deze versie comprimeert alle items in de huidige map en verwijdert vervolgens het oorspronkelijke ongecomprimeerde bestand van de bron:

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

Onthoud dat de * alle bestanden in de huidige map betekent, dus zorg ervoor dat u zich in de map bevindt die u wilt comprimeren voordat u de opdracht uitvoert. U kunt ook altijd controleren in welke directory u werkt met de opdracht 'pwd'.

Ik testte dit uit en na het te hebben gelezen op StevenF en gemiddeld comprimeerde het bestanden 66%, wat een aanzienlijke vermindering is. Als u een zeer zelden gebruikte downloads of andere archievenmap hebt, kan deze opdracht echt schijfruimte besparen. Vanzelfsprekend omdat het de bestanden comprimeert, zou het niet logisch zijn om het in een directory te gebruiken waar dingen regelmatig worden bekeken.

Alle bestanden in een map comprimeren, originele bestanden onderhouden

U kunt ook de bovenstaande opdracht gebruiken om alle bestanden binnen een map te comprimeren, maar de originele bestanden of mappen als niet-gecomprimeerd te behouden. Het commando is vrijwel identiek, laat de vlag -m weg:

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

U hebt nu alle bestanden in de huidige werkdirectory (pwd) gecomprimeerd en de originele bronbestanden blijven ook ongecomprimeerd aanwezig.

Deze opdracht werkt ook in Mac OS X en Linux, en waarschijnlijk ook andere Unix-varianten.

Bekijk meer tips over de commandoregel als je geïnteresseerd bent.