GNU/Linux >> Znalost Linux >  >> Linux

Komprese a archivace souborů a adresářů

Úvod Archivace a komprese Linuxu

Archivace je proces spojování více souborů a adresářů (stejné nebo různé velikosti) do jednoho souboru. na druhém místě komprese je proces zmenšování velikosti souboru nebo adresáře.

Doufám, že chápete rozdíl mezi archivací a kompresí. Pojďme tedy nyní k tématu.

Archivy a adresáře

Nejběžnější programy pro archivaci souborů a adresářů jsou:

  1. Zip
  2. bZip2
  3. Deht

Příkaz ZIP v Linuxu s příklady

ZIP je nástroj pro kompresi a balení souborů pro Unix. Stejně jako každý soubor je uložen v souboru single.zip {.zip-filename} s příponou .zip .

  • Program zip vloží jeden nebo více komprimovaných souborů do jednoho archivu zip spolu s informacemi o souborech (název, cesta, datum a čas poslední úpravy, ochrana a kontrolní informace pro ověření integrity souboru). adresářovou strukturu lze zabalit do zip archivu jediným příkazem.
  • Pro textové soubory jsou běžné kompresní poměry 2:1 až 3:1. zip má jednu metodu komprese (deflace) a může také ukládat soubory bez komprese. Kromě zip automaticky vybere lepší z těchto dvou pro každý soubor, který má být komprimován.
    Program není užitečný pouze pro zabalení sady souborů pro distribuci, ale také pro archivaci souborů a pro úsporu místa na disku dočasnou komprimací nepoužívaných souborů nebo adresářů.

Syntaxe:

zip [options] zipfile files_list

Syntaxe pro Vytvoření souboru zip:

zip myfile.zip filename.txt

Extrahování souborů ze souboru zip

Ve skutečnosti Unzip vypíše, otestuje nebo extrahuje soubory z archivu ZIP, který se běžně vyskytuje na systémech Unix. Výchozí chování (bez možností) je extrahovat do aktuálního adresáře (a podadresářů pod ním) všechny soubory ze zadaného ZIP archiv.

 unzip myfile.zip 

Možnosti:
1. Možnost -d:

Odebere soubor z archivu zip. Po vytvoření souboru zip můžete soubor z archivu odstranit pomocí volby -d.
Předpokládejme tedy, že v aktuálním adresáři jsou následující soubory:
unixcop1.c
unixcop2.c
unixcop3.c
unixcop4.c
unixcop5.c
unixcop6.c
unixcop7.c
unixcop8.c

Syntaxe:

zip –d filename.zip file.txt
Command :
zip –d myfile.zip unixcop7.c

Po odstranění unixcop7.c ze souboru myfile.zip lze soubory také obnovit příkazem unzip.

unzip myfile.zip
 ls

2.-u Možnost:

Aktualizuje soubor v archivu zip. Tuto možnost lze také použít k aktualizaci zadaného seznamu souborů nebo přidání nových souborů do existujícího souboru zip.


Syntaxe:

zip –u filename.zip file.txt


podobně předpokládejme, že máme tyto soubory v mém aktuálním adresáři, jsou uvedeny níže:
unixcop1.c
unixcop2.c
unixcop3.c
unixcop4.c

Command :
zip –u myfile.zip unixcop5.c

Po aktualizaci unixcop5.c ze souboru myfile.zip lze soubory také obnovit příkazem unzip.

Commands:
unzip myfile.zip
ls 
3. -m Možnost:

Smaže původní soubory po zazipování a můžete také přesunout zadané soubory do zip archivu, to smaže cílové adresáře/soubory po vytvoření zadaného zip archivu. Pokud se adresář po odstranění souborů vyprázdní, bude odstraněn i adresář.


Syntaxe:

zip –m filename.zip file.txt


v mém aktuálním adresáři máme následující soubory:
unixcop1.c
unixcop2.c
unixcop3.c
unixcop4.c

Command :
zip –m myfile.zip *.c

V důsledku toho byl tento příkaz proveden terminálem :

ls 

4.-r Možnost:

Chcete-li adresář zazipovat rekurzivně, použijte volbu -r s příkazem zip a rekurzivně zazipuje soubory v adresáři. Tato volba vám také může pomoci zazipovat všechny soubory v zadaném adresáři.

Syntaxe:

zip –r filename.zip directory_name

Máme také soubory v mém aktuálním adresáři (docs) jsou uvedeny níže:
unix.pdf
oracle.pdf
linux.pdf

zip –r mydir.zip docs

5. Možnost -x:

Stejně důležité je vyloučit soubory při vytváření zip. Řekněme, že komprimujete všechny soubory v aktuálním adresáři a chcete vyloučit některé nežádoucí soubory. Tyto nežádoucí soubory můžete také vyloučit pomocí volby -x.

Syntaxe:

zip –x filename.zip file_to_be_excluded


Předpokládejme také, že soubory v aktuálním adresáři jsou uvedeny níže:
unixcop1.c
unixcop2.c
unixcop3.c
unixcop4.c

Command :
zip –x myfile.zip unixcop3.c

Tento příkaz při spuštění zkomprimuje všechny soubory kromě souboru unixcop3.c

Command:
ls 
Output :
myfile.zip //compressed file
unixcop3.c   //this file has been excluded while compressing
6.-v Možnost:

Podrobný režim nebo tisk informací o diagnostické verzi. Při použití na skutečné operace tato možnost obvykle umožňuje zobrazení indikátoru průběhu během komprimace a vyžaduje podrobné diagnostické informace o zvláštnostech struktury souboru zip.


Když je -v jediným argumentem příkazového řádku a stdin nebo stdout nejsou přesměrovány do souboru, vytiskne se diagnostická obrazovka. Kromě záhlaví obrazovky nápovědy s názvem programu, verzí a datem vydání jsou uvedeny některé odkazy na domovské a distribuční stránky Info-ZIP. Poté se zobrazí informace o cílovém prostředí (typ a verze kompilátoru, verze operačního systému, datum kompilace a povolené volitelné funkce používané k vytvoření spustitelného souboru zip.

Syntaxe:

zip –v filename.zip file1.txt


Jak je uvedeno níže:
unixcop1.c
unixcop2.c
unixcop3.c
unixcop4.c

zip -v file1.zip *.c


příkaz bzip2 v Linuxu s příklady

bzip2 příkaz v Linuxu používaný ke kompresi a dekomprimaci souborů, tj. pomáhá při svázání souborů do jednoho souboru, který zabírá méně místa na úložišti než původní soubor. Má také pomalejší dobu dekomprese a vyšší využití paměti. Kromě toho lze také použít Burrows-Wheeler blokový třídicí algoritmus komprese textu a Huffmanovo kódování. Každý soubor je nahrazen komprimovanou verzí sebe sama, s původním názvem souboru následovaným příponou bz2.

Syntaxe pro kompresi:

bzip2 [OPTIONS] filenames ...

Syntaxe rozbalení :

 bunzip2 [OPTIONS] filenames ...

Možnosti:

  1. -z Možnost : Tato možnost vynutí kompresi.
bzip2 -z input.txt

Příklad:

  • Poznámka: Tato možnost také odstraní původní soubor.

  • 2. -k možnost: Tato možnost provede kompresi, ale neodstraní původní soubor.
 bzip2 -k input.txt

Příklad:

3. Možnost -d:

následně se tato volba používá pro dekompresi komprimovaných souborů.

 bzip2 -d input.txt.bz2

Příklad:

4. Možnost -t :

Tato možnost provádí kontrolu integrity souboru a nedekomprimuje soubor. Může nám také navodit představu, zda je soubor poškozen nebo ne.

 bzip2 -t input.txt.bz2

Příklad:

5.-v Možnost: Podrobný režim zobrazuje kompresní poměr pro každý zpracovávaný soubor.

 bzip2 -v input.txt
Příklad:
  • -h –help : Pro zobrazení zprávy nápovědy a ukončení.
  • -L –licence -V –verze :Používá se k zobrazení verze softwaru, licenčních podmínek a podmínek.
  • -q – tichý :Potlačí nepodstatné varovné zprávy. Zprávy týkající se I/O chyb a dalších kritických událostí nebudou potlačeny.
  • -f –force :Vynutí přepsání výstupních souborů.

příkaz tar v Linuxu s příklady

Linuxový „tar“ znamená páskový archiv, který se používá k vytvoření archivu a také k extrahování archivních souborů. Příkaz tar v Linuxu je jedním z důležitých příkazů, který poskytuje funkci archivace v Linuxu. Můžeme použít Linuxový příkaz tar k vytvoření komprimovaných nebo nekomprimovaných archivních souborů a také je udržovat a upravovat.

Syntaxe:

tar [options] [archive-file] [file or directory to be archived]

Možnosti:


-c : Vytvoří archiv
-x : Rozbalte archiv
-f : vytvoří archiv s daným názvem souboru
-t : zobrazí nebo zobrazí soubory v archivovaném souboru
-u : archivuje a přidává do existujícího archivního souboru
-v : Zobrazuje podrobné informace
-A : Zřetězí archivní soubory
-z : zip, řekne příkazu tar, který vytvoří soubor tar pomocí gzip
-j : filtrovat archivní soubor tar pomocí tbzip
-W : Ověřte archivní soubor
-r : aktualizovat nebo přidat soubor nebo adresář do již existujícího souboru .tar

Co je archivní soubor?


Archivní soubor je soubor, který se skládá z jednoho nebo více souborů spolu s metadaty. Archivní soubory se používají ke shromažďování více datových souborů dohromady do jednoho souboru pro snazší přenositelnost a ukládání, takže stačí pouze komprimovat soubory, aby bylo využito méně úložného prostoru.

Příklady:


1. Vytvoření nekomprimovaného archivu tar pomocí volby -cvf :

Tento příkaz vytvoří soubor tar s názvem file.tar, což je archiv všech souborů .c v aktuálním adresáři.

 tar cvf file.tar *.c

2. Extrahování souborů z archivu pomocí volby -xvf :

Tento příkaz extrahuje soubory z archivů.

 tar xvf file.tar

3. komprese gzip v archivu tar pomocí volby -z :

Tento příkaz vytvoří soubor tar s názvem file.tar.gz, což je archiv souborů .c.

 tar cvzf file.tar.gz *.c

4. Rozbalení archivu gzip tar *.tar.gz pomocí volby -xvzf : Tento příkaz také extrahuje soubory z archivovaných souborů file.tar.gz tar.

 tar xvzf file.tar.gz

5. Vytvoření komprimovaného archivního souboru tar v Linuxu pomocí volby -j :

Tento příkaz zkomprimuje a vytvoří archivní soubor menší než velikost gzip. Komprimace i dekomprimace zabere více času než gzip .

 tar cvfj file.tar.tbz example.cpp

6. Rozbalte jeden soubor tar nebo zadaný adresář v systému Linux: Tento příkaz rozbalí soubor v aktuálním adresáři a zároveň jej rozbalí v určeném adresáři pomocí volby -C.

 tar xvfj file.tar 
or 
 tar xvfj file.tar -C path of file in directoy 

7. Rozbalit více souborů .tar, .tar.gz, .tar.tbz v systému Linux

Tento příkaz rozbalí nebo rozbalí několik souborů z archivních souborů tar, tar.gz a tar.bz2. Takže například výše uvedený příkaz extrahuje „fileA“ „fileB“ z archivních souborů.

 tar xvf file.tar "fileA" "fileB" 
or 
 tar zxvf file1.tar.gz "fileA" "fileB"
or 
 tar jxvf file2.tar.tbz "fileA" "fileB"

8. Zkontrolujte velikost existujícího souboru tar, tar.gz, tar.tbz v Linuxu

Tento příkaz zobrazí velikost archivního souboru v kilobajtech (KB).

 tar czf file.tar | wc -c
or 
 tar czf file.tar.gz | wc -c
or 
 tar czf file.tar.tbz | wc -c

9. Aktualizujte stávající soubor tar v Linuxu

 tar rvf file.tar *.c

10. vypište obsah a určete tarfile pomocí volby -tf

Tento příkaz zobrazí celý seznam archivovaných souborů. Dokonce můžeme také vypsat konkrétní obsah v tarfile

 tar tf file.tar

11. Použití příkazu pipe to through grep‘ k nalezení toho, co hledáme

Tento příkaz vypíše pouze pro zmíněný text nebo obrázek v grep z archivovaného souboru.

 tar tvf file.tar | grep "text to find" 
or
 tar tvf file.tar | grep "filename.file extension"
Example:
tar tvf file.tar | grep "unixcop1"

12. Název souboru můžeme předat jako argument pro hledání v tarfile

Tento příkaz zobrazí archivované soubory spolu s jejich podrobnostmi.

 tar tvf file.tar filename
Example:
 tar tvf file.tar unixcop1.c

13. Zobrazení archivu pomocí volby -tvf

 tar tvf file.tar

Co jsou zástupné znaky v Linuxu


Zástupný znak, označovaný jako „zástupný znak“ nebo „zástupný znak“, je symbol používaný k nahrazení nebo reprezentaci jednoho nebo více znaků. Zástupné znaky jsou obvykle buď hvězdička (*) , což představuje jeden nebo více znaků nebo otazník (?) ,což představuje jeden znak.

Příklad:

14. Chcete-li vyhledat obrázek ve formátu .png

Tím se z archivního souboru.tar rozbalí pouze soubory s příponou .png. Volba zástupných znaků také říká taru, aby interpretoval zástupné znaky v názvech souborů, které mají být extrahovány, kromě toho, že název souboru (*.png) je uzavřen v jednoduchých uvozovkách, aby byl zástupný znak (*) chráněn před nesprávným rozbalením shellem.

 tar tvf file.tar --wildcards '*.png' 

Poznámka: Ve výše uvedených příkazech je místo názvu souboru použito ” * ” k převzetí všech souborů v daném adresáři.


Linux
  1. Najděte soubory a adresáře v Linuxu jako profík

  2. Najděte největší soubory a adresáře v Linuxu

  3. Linux Odstraňte soubory a adresáře

  1. Snadný způsob, jak skrýt soubory a adresáře v Linuxu

  2. Jak komprimovat soubory a adresáře v systému Linux (s příklady)

  3. Nastavení různých ACL na adresáře a soubory

  1. Jak kopírovat soubory a adresáře v Linuxu

  2. Najít příkaz v Linuxu (Najít soubory a adresáře)

  3. Jak archivovat soubory a adresáře v Linuxu [část 2]