Jak zazipujete adresář v Linuxu? Rozhodně nepoužívá příkaz gzip, protože pokud se pokusíte komprimovat složku pomocí příkazu gzip, zobrazí se tato chyba:
gzip:cíl je adresář – ignorováno
Zajímavé, že? Příkaz gzip nemůže komprimovat adresář, protože gzip v podstatě funguje na jednotlivé soubory, nikoli na celou složku.
co můžeš teď dělat? Jak komprimovat soubor gzip v Linuxu? Zde je to, co můžete udělat.
gzip adresář pomocí příkazu tar
Namísto přímé komprimace složky byste na ni měli nejprve použít tar. Příkaz tar shromáždí všechny soubory do jednoho archivního souboru. Samotný soubor nekomprimuje.
Pokud zkombinujete tar s gzip, příkaz tar vytvoří jeden archivní soubor ze složky a poté gzip tento archivní soubor zkomprimuje.
Dobrá věc je, že oba tyto kroky můžete provést v jednom příkazu pomocí možnosti z. Příkaz vypadá asi takto:
tar -zcvf output_file_name directory_to_compress
Dovolte mi vysvětlit vám možnosti použité ve výše uvedeném příkazu:
- z – říká taru, že se zabývá gzip soubor
- c – řekne taru, aby vytvořil archivní soubor
- v – podrobný režim zobrazující, jaké soubory se zpracovávají
- f – výstupem je soubor
Příklad použití tar a gzip ke komprimaci složky
Řekněme, že mám v adresáři spoustu souborů. Pokud k získání velikosti adresáře použiji příkaz du, je to 204 kB.
du -sh sample_text_files
204K sample_text_files
Nyní, když komprimuji složku gzip:
tar -cvzf sample_text_archive sample_text_files
sample_text_files/
sample_text_files/sample_rar.rar
sample_text_files/test/
sample_text_files/dir2/
sample_text_files/dir2/services
sample_text_files/dir2/agatha.txt
sample_text_files/abhi-3.txt
Nyní, když zkontroluji velikost komprimované složky pomocí příkazu ls, je to sotva 10 KB.
ls -lh sample_text_archive
-rw-r--r-- 1 abhishek abhishek 9.6K Apr 11 11:41 sample_text_archive
Mějte na paměti při používání příkazu tar a gzip
Při používání příkazu tar byste si měli povšimnout několika věcí:
Je důležité zadat v příkazu název souboru, jinak se zobrazí tato chyba:
tar: Cowardly refusing to create an empty archive
Try 'tar --help' or 'tar --usage' for more information.
Pokud volbu -f vůbec nepoužijete, stále se vám zobrazí chyba, tentokrát jiná.
tar: Refusing to write archive contents to terminal (missing -f option?)
tar: Error is not recoverable: exiting now
Doufám, že vám tento příkaz pomohl gzipovat adresář v Linuxu a také jste se naučili pár souvisejících věcí kolem tar a komprese. Nyní, když víte, jak komprimovat složku, možná byste si chtěli přečíst o tom, jak extrahovat soubor tar xz v Linuxu.
Jakékoli dotazy, návrhy nebo prosté poděkování jsou vždy vítány.