gzip командата компресира файлове. Всеки един файл се компресира в един файл. Компресираният файл се състои от GNU zip заглавия и дефлирани данни. Ако е даден файл като аргумент, gzip компресира файла, добавя наставка .gz и изтрива оригиналния файл.
Без аргументи gzip компресира стандартния вход и записва компресирания файл към стандартен изход.
Разлика между Gzip и zip команда в Unix и кога да се използва коя команда
ZIP и GZIP са два много популярни метода за компресиране на файлове, за да се спести място или да се намали времето, необходимо за предаване на файловете в мрежата или интернет.
Като цяло GZIP е много по-добър в сравнение с ZIP по отношение на компресията, особено при компресиране на огромен брой файлове.
Често срещаната практика с GZIP е да архивирате всички файлове в един тарбол преди компресиране. В ZIP файловете отделните файлове се компресират и след това се добавят в архива.
Когато искате да издърпате един файл от ZIP, той просто се извлича, след което се декомпресира. С GZIP целият файл трябва да бъде декомпресиран, преди да можете да извлечете файла, който искате от архива.
Когато дърпате 1MB файл от архив от 10 GB, е напълно ясно, че това би отнело много повече време в GZIP, отколкото в ZIP.
Недостатъкът на GZIP в това как работи, също е отговорен за предимството на GZIP. Тъй като алгоритъмът за компресия в GZIP компресира един голям файл вместо няколко по-малки, той може да се възползва от излишността на файловете, за да намали още повече размера на файла.
Ако архивирате и компресирате 10 идентични файла с ZIP и GZIP, ZIP файлът ще бъде над 10 пъти по-голям от получения GZIP файл.
Syntax :
gzip [Options] [filenames]
Example:
$ gzip mydoc.txt
Тази команда ще създаде компресиран файл от mydoc.txt, наречен mydoc.txt.gz и ще изтрие оригиналния файл.
Options :
1. -f : Понякога файл не може да бъде компресиран. Може би се опитвате да компресирате файл, наречен „myfile1“, но вече има файл, наречен „myfile1.gz“. В този случай командата “gzip” няма да работи обикновено.
За да принудите командата „gzip“ да върши своите неща, просто използвайте опцията -f:
$ gzip -f myfile1.txt
Това ще компресира файл с име myfile.txt, дори ако вече съществува файл, наречен myfile.txt.gz
2. -k : По подразбиране, когато компресирате файл с командата “gzip”, в крайна сметка получавате нов файл с разширението “.gz”. Ако искате да компресирате файла и да запазите оригиналния файл, трябва да стартирате gzip команда с опция -k:
$ gzip -k mydoc.txt
Горната команда ще завърши с файл, наречен „mydoc.txt.gz“ и „mydoc.txt“.
3. -L : Тази опция показва gzip лиценз.
$ gzip -L filename.gz
4. -r : Тази опция може да компресира всеки файл в папка и подпапките му. Тази опция не създава един файл, наречен foldername.gz. Вместо това тя преминава през структурата на директория и компресира всеки файл в тази структура на папките.
$ gzip -r testfolder
Това ще компресира всички файлове в папка testfolder.
5. [1-9] : Тя позволява да се промени нивото на компресия. Файлът може да се компресира по различни начини. Например, можете да отидете за по-малка компресия, която ще работи по-бързо, или можете да постигнете максимална компресия, която има компромис от отнемане на повече време. Скоростта и нивото на компресия могат да варират в зависимост от нивата, като се използват числа между 1 и 9.
$ gzip -1 mydoc.txt
Така ще получи максимална компресия при най-ниска скорост
$ gzip -9 mydoc.txt
За да получите минимална компресия с най-бърза скорост
6. -v: Тази опция показва името и процентното намаление за всеки файл, компресиран или декомпресиран
$ gzip -v mydoc.txt
OUTPUT :
mydoc.txt: 18.2% -- replaced with mydoc.txt.gz
7. -d : Тази опция позволява декомпресиране на файл с помощта на командата „gzip“
$ gzip -d mydoc.txt.gz
Тази команда ще разархивира компресирания файл, наречен mydoc.txt.gz.