Řešení 1:
Vkládání každého souboru do samostatného souboru tar v tomto scénáři nedává žádný smysl. Můžete použít gzip
pro přímou kompresi:
gzip *
výsledkem bude file1.out.gz
, file2.out.gz
atd.
Použili byste tar
pouze v případě, že byste potřebovali komprimovaný archiv jako jeden soubor.
Pokud potřebujete archiv tar pro každý soubor, můžete jej vytvořit takto:
for i in *; do tar -czf $i.tar.gz $i; done
Řešení 2:
Chcete-li stavět na odpovědi @SvenW (která bude fungovat pouze v aktuálním adresáři), pokud máte OBROVSKÝ počet souborů nebo to chcete udělat v rekurzivní adresářové struktuře, můžete také použít
find . -type f -exec gzip \{\} \;
a pokud potřebujete umístit výstup do jiného adresáře (v tomto příkladu ../target
) a nechcete odstraňovat originály, můžete udělat něco jako:
find . -type f -print | while read fname ; do
mkdir -p "../target/`dirname \"$fname\"`"
gzip -c "$fname" > "../target/$fname.gz"
done
Jaká oprávnění by měly mít soubory/složky mých webových stránek na webovém serveru Linux?
Konfigurace Exim4 pro použití několika externích IP pro odesílání pošty