Portál AbcLinuxu, 11. května 2025 10:43

Dotaz: jak na gzip

24.4.2012 22:25 tvar
jak na gzip
Přečteno: 328×
Odpovědět | Admin

potřebuji zabalit dva soubory a rozbalit a to vše bez použití příkazu cd.

Zkusil jsem:

tar -pczf out.tar.gz path/file1 path/file2

zabalí do souboru včetně složek "nahoře"-> nežádoucí...

gzip -c path/file1 path/file2 > a.gz

nebo

gzip -c path/file1 > a.gz
gzip -c path/file2 > a.gz
gzip -d a.gz

Poslední příkaz smaže původní soubory (asi to dělá přepínáč -c ale neumím jej vhodně použít- pouští výstup na obrazovku, tj. nerozbaluje)

Pokud pominu, že smaže soubory, tak rozbalí cosi co se jmenuje a a nevím jak to rozbalovat dál :(

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

24.4.2012 22:25 tvar
Rozbalit Rozbalit vše Re: jak na gzip
Odpovědět | | Sbalit | Link | Blokovat | Admin

oprava:

gzip -c path/file2 >> a.gz
problém zůstává...
24.4.2012 22:55 chrono
Rozbalit Rozbalit vše Re: jak na gzip
Také pridanie súboru, pravdepodobne, spôsobí, že gzip to berie tak, ako keby to bol jediný súbor (a teda rozdeliť sa to už nedá).

Ten tar sa dá použiť napr. takto:
tar -pczf out.tar.gz -C path file1 file2
25.4.2012 08:36 l4m4
Rozbalit Rozbalit vše Re: jak na gzip
Odpovědět | | Sbalit | Link | Blokovat | Admin
To je celé nějaká pitomost, nicméně když chceš dělat věci složitě (např. neukládat cestu, takže nejde z archivu poznat, který soubor to je a kam patří):
tar -C path1 -cf archive.tar file
tar -C path2 -rf archive.tar file
tar -C path3 -rf archive.tar file
...
Rozbalování analogicky. Jmenuje-li se pak kvůli tomuto schématu několik souborů v archivu identicky, je zapotřebí použít --occurrence.

Normálnější by bylo zabalit to i s cestou, což nebrání rozbalování jednotlivých souborů kamkoli jinam.
25.4.2012 08:50 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: jak na gzip
Odpovědět | | Sbalit | Link | Blokovat | Admin
gzip neumí spojovat soubory do jednoho proudu, pouze komprimuje. Proto je potřeba pro víc souborů jej použít v kombinaci s tarem nebo jiným nástrojem, který více souborů spojí do jednoho. Jinak ta druhá varianta je napsaná špatně i z pohledu shellu, protože přesměrování > cílový soubor přepíše. Pokud byste chtěl přidávat, musel byste použít >>.

S tarem můžete použít parametr -C
tar -pczf out.tar.gz -C path file1 file2
Nebo můžete při rozbalování použít parametr --strip-components
tar -pczf out.tar.gz path/file1 path/file2
tar -xzf out.tar.gz  --strip-components 1

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.