Komprese souborů
S obrovským množstvím podnikových dat, která jsou vytvářena a ukládána, existuje naléhavá potřeba šetřit místo na disku a optimalizovat dobu přenosu dat. Pro kompresi souborů se používají různé nástroje, obslužné programy a příkazy. Některé z běžně používaných příkazů jsou:
– The compress příkaz
– gzip příkaz
– zip příkaz
Příkaz pro kompresi
Při komprimaci souboru nahradí příkaz komprimovat původní soubor novým souborem, který má .Z rozšíření.
$ compress [ -v ] filename
Vlastnictví a doba úpravy původního souboru zůstávají nedotčeny, ale mění se obsah souboru. Velikost komprese závisí na typu komprimovaného souboru. Komprese obvykle zmenší textový soubor o 50 až 60 procent.
Komprimace souboru:příkaz komprimovat
Následující příklad ukazuje, jak komprimovat soubor s názvem test.tar.
# compress -v test.tar test.tar: -- replaced with test.tar.Z Compression: 96.35%
# ls -lrt test.tar.Z -rw-r--r--. 1 root root 373 Dec 7 19:31 test.tar.Z
Zde,
– -v (podrobné) Tato možnost poskytuje informace o procentech zmenšení nebo rozšíření každého souboru.
– Zkomprimovaný soubor test.tar.Z nahrazuje soubor test.tar.
Zobrazení komprimovaného souboru:příkaz zcat
Příkaz zcat vytiskne nekomprimovanou formu komprimovaného souboru na standardní výstup.
$ zcat filename
Chcete-li zobrazit obsah komprimovaného souboru data.txt.Z, zadejte následující příkaz:
# zcat data.txt.Z northwest NW Joel Craig 10 western WE Sharon Kelly 40 southwest SW Chris Foster 33 northeast NE TJ Nichols 67 north NO Val Shultz 91 central CT Sheri Watson 44Poznámka :Příkaz zcat interpretuje komprimovaná data a zobrazuje obsah souboru, jako by nebyl komprimován.
Příkaz zcat filename je funkčně shodný s příkazem uncompress -c filename. Například k zobrazení obsahu komprimovaného souboru data.txt.Z můžeme také použít příkaz uvedený níže.
uncompress -c data.txt.Z
Dekomprimace souboru:uncompress Command
Příkaz uncompress obnoví komprimovaný soubor do nekomprimovaného stavu.
$ uncompress options filename
Chcete-li dekomprimovat soubor test.tar.Z a obnovit jej do souboru test.tar, zadejte následující příkaz:
# uncompress -v test.tar.Z test.tar.Z: -- replaced with test.tar
-v zobrazí další zprávy o prováděné akci.
Můžete použít příkaz uncompress s volbou -c k odeslání obsahu komprimovaného souboru na stdout, obrazovku, bez změny komprimovaného souboru .Z. Jinak můžete použít svislou čáru (|) k odeslání výstupu příkazu uncompress do jiného programu.
Pomocí příkazu tar můžete vypsat obsah souboru, který příkaz uncompress čte.
# uncompress -c test.tar.Z | tar tvf - -rw-r--r-- root/root 31 2017-12-02 07:02 test -rw-r--r-- root/root 19 2017-12-02 07:04 test1 -rw-r--r-- root/root 20 2017-12-02 07:04 test2
Pomlčka (-) na konci příkazového řádku značí, že příkaz tar čte data z odesílaného výstupu příkazu uncompress, nikoli ze souboru tar nebo disku.
Komprimace souboru:příkaz gzip
Případně můžete ke kompresi souborů použít také příkaz gzip.
$ gzip [ -v ] filenames
Příkaz gzip provádí stejnou funkci jako příkaz komprimovat, ale příkaz gzip obecně vytváří menší soubory. Chcete-li například komprimovat sadu souborů, soubor1, soubor2, soubor3 a soubor4, zadejte následující příkaz:
$ gzip file1 file2 file3 file4 $ ls *.gz file1.gz file2.gz file3.gz file4.gz
Komprimované soubory mají příponu .gz.
Zobrazení komprimovaného souboru:příkaz gzcat
Příkaz gzcat zobrazí soubory, které byly komprimovány buď pomocí příkazu gzip nebo komprimovat.
$ gzcat filename
Chcete-li zobrazit soubor data.txt.gz, použijte následující příkaz:
# gzcat data.txt.gz northwest NW Joel Craig 10 western WE Sharon Kelly 40 southwest SW Chris Foster 33 northeast NE TJ Nichols 67 north NO Val Shultz 91 central CT Sheri Watson 44Poznámka :Příkaz gzcat nemění obsah komprimovaného souboru. Komprimovaný soubor zůstane na disku v komprimované podobě.
Dekomprimace souboru:příkaz gunzip
Příkaz gunzip dekomprimuje soubor, který byl zkomprimován pomocí příkazu gzip.
$ gunzip filename
Chcete-li dekomprimovat soubor file1.gz, použijte následující příkaz:
$ gunzip file1.gz
Komprese a archivace více souborů:příkaz zip
Příkaz zip komprimuje a archivuje více souborů do jednoho souboru najednou.
$ zip target_filename source_filenames
Chcete-li komprimovat test1 a test2 do archivního souboru test.zip, zadejte následující příkaz:
# zip test.zip test1 test2 adding: test1 (deflated 5%) adding: test2 (stored 0%)
# ls -l test.zip -rw-r--r--. 1 root root 336 Dec 8 05:32 test.zip
Ve výchozím nastavení příkaz zip přidá do komprimovaného archivního souboru příponu .zip, pokud nepřiřadíte nový název souboru s příponou.
Poznámka :Můžete spustit příkaz zip nebo unzip na příkazovém řádku a zobrazit seznam možností použitých s každým příkazem.Zobrazení a rozbalení archivních souborů:příkaz rozbalit
Příkaz unzip se používá pro výpis souborů a také pro extrahování obsahu komprimovaného souboru .zip.
$ unzip zipfile
Chcete-li dekomprimovat soubor archivu file.zip, použijte následující příkaz:
$ unzip file.zipJak používat příkaz tar pod Linuxem