Articles

Hogyan Zip vagy Csomagold ki a Fájlokat a Linux Terminál

  • Dave McKay

    @TheGurkha

  • Frissített Május 28, 2019, 5:15pm EDT
Linux shell promptot
Fatmawati Achmad Zaenuri/.com

ZIP-fájlok universal archívum leggyakrabban használt Windows, macOS, sőt, a Linux rendszerek. Létrehozhat egy zip archívumot vagy kicsomagolhatja a fájlokat az egyikből néhány közös Linux terminálparancsokkal.

A ZIP tömörített archív fájlformátum

a ZIP formátum dominanciájának köszönhetően a zip fájlok valószínűleg a tömörített Archívum leggyakoribb formája a világon.

míg .kátrány.a GZ és a tar.bz2 fájlok gyakoriak a Linuxon, a Windows felhasználók valószínűleg ZIP formátumú archívumot küldenek Önnek. Ha pedig archiválni szeretne néhány fájlt, majd elküldeni egy Windows-felhasználónak, akkor a ZIP formátum lesz a legegyszerűbb, leginkább kompatibilis megoldás mindenki számára.

kapcsolódó: Hogyan lehet kibontani a fájlokat .kátrány.GZ vagy .kátrány.BZ2 Fájl Linux

zip, unzip, és egyéb segédprogramok

lehet, hogy már tudja, hogy a Linux és Unix-szerű operációs rendszerek, mint a macOS eszközök lehetővé teszik, hogy hozzon létre ZIP fájlokat és kivonat fájlokat őket, az úgynevezett zip és unzip. De van egy egész család kapcsolódó segédprogramok, mint például a zipcloakzipdetailszipsplit, és zipinfo.

reklám

ellenőriztünk néhány Linux disztribúciót, hogy ezek a segédprogramok szerepelnek-e a szabványos telepítésben. Az összes segédprogram jelen volt az Ubuntu 19.04-ben, 18.10-ben és 18.04-ben. Ők is jelen voltak Manjaro 18.04. A Fedora 29 tartalmazza a zip és unzip, de a többi segédprogram egyike sem, és ez a CentOS esetében is így volt.

a hiányzó elemek Fedora 29-re történő telepítéséhez használja a következő parancsot:

sudo dnf install perl-IO-Compress

zip telepítés parancsot Fedora

telepíteni a hiányzó elemeket a CentOS 7, használja a következő parancsot:

sudo yum install perl-IO-Compress

install Zip parancsot Centos

Hirdetés

Ha a zip utilities hiányzik egy Linux disztribúció, ami nem volt fent említett használata, ami Linux disztribúció csomag-kezelő eszköz, telepítse a szükséges csomagot.

Hogyan hozzunk létre egy ZIP fájlt a zip paranccsal

ZIP fájl létrehozásához meg kell mondanunk a zip az archív fájl nevét és mely fájlokat kell beilleszteni. Nem kell hozzá a “.zip ” kiterjesztése az archívum nevét, de ez nem árt, ha nem.

source_code.zip az aktuális könyvtárban található összes C forráskódfájlt és fejlécfájlt tartalmazó fájl létrehozásához használja ezt a parancsot:

Zip parancs egy terminálablakban

minden fájl szerepel benne tette hozzá. Megjelenik a fájl neve, valamint a fájlon elért tömörítés mennyisége.

kimenet a zip parancsból egy terminálablakban

hirdetés

Ha megnézzük az új ZIP archívumot, láthatjuk, hogy a “.a zip ” fájlkiterjesztést a zipautomatikusan hozzáadta.

ls -l source_code.zip

ls a zip archívumban egy terminál ablakban

ha nem szeretné látni a kimenetet azipa ZIP fájl létrehozásakor használja a-q div > (csendes) opció.

zip -q source_code *.c *.h

-q csendes opció egy terminál ablakban

Beleértve a Könyvtárakat a ZIP Fájlok

tartalmazza alkönyvtárat a ZIP fájlt, akkor használja a -r (rekurzív) lehetőséget, majd tartalmazza a nevét, az al-directory a parancssorban. ZIP fájl létrehozásához, mint korábban, valamint az archív alkönyvtárhoz is, használja ezt a parancsot.

zip -r -q source_code archive/ *.c *.h

-r rekurzív opció egy terminálablakban

ahhoz, hogy figyelembe vegye azt a személyt, aki kivonja a fájlokat a létrehozott ZIP fájlból, gyakran udvarias ZIP fájlokat létrehozni a könyvtárban található fájlokkal. Amikor az a személy, aki megkapja a ZIP fájlt, kivonja azt, az összes fájlt szépen a számítógépük könyvtárába helyezik.

hirdetés

a következő parancsban archiváljuk a work könyvtárat és az összes alkönyvtárat. Vegye figyelembe, hogy ez a parancs a work mappa szülőkönyvtárából kerül kiadásra.

zip -r -q source_code work/

a munkakönyvtár bezárása Egy terminálablakban

A tömörítés szintjének beállítása

beállíthatja, hogy mennyi tömörítést alkalmaz a fájlokra, mivel azok hozzáadódnak a ZIP archívumhoz. A tartomány 0-tól 9-ig terjed, a 0 pedig egyáltalán nem tömörít. Minél nagyobb a tömörítés, annál tovább tart a ZIP fájl létrehozása. A szerény méretű ZIP fájlok esetében az időeltolódás nem jelentős büntetés. De akkor a szerény méretű ZIP fájlok esetében az alapértelmezett tömörítés (6.szint) valószínűleg elég jó.

a zip egy adott tömörítési szint használatához adja át a számot opcióként a parancssorban, egy ” – ” – vel, mint ez:

zip -0 -r -q source_code work/

-0 tömörítési lehetőség egy terminálablakban

Az alapértelmezett tömörítési szint 6. Nincs szükség a -6 opció megadására, de ez nem okoz kárt, ha igen.

zip -r -q source_code work/

level 6 compression in a terminal window

a maximális tömörítési szint 9.szint.

zip -9 -r -q source_code work/

-9 tömörítés egy terminálablakban

hirdetés

az itt archivált fájlok és könyvtárak kiválasztásával a tömörítés (0.szint) és az alapértelmezett tömörítés (6. szint) közötti különbség 400K. Az alapértelmezett tömörítés és a legmagasabb tömörítési szint (9. szint) közötti különbség csak 4k.

Ez nem tűnik soknak, de a több száz vagy akár több ezer fájlt tartalmazó archívumok esetében a fájlonkénti kis mennyiségű extra tömörítés érdemes helytakarékosságot eredményez.

jelszavak hozzáadása a ZIP fájlokhoz

jelszavak hozzáadása a ZIP fájlokhoz egyszerű. Használja a -e (encrypt) opciót, majd a rendszer kéri, hogy adja meg a jelszavát, majd adja meg újra ellenőrzés céljából.

zip -e -r -q source_code work/

jelszavak hozzáadása a zip fájlokhoz egy terminálablakban

hogyan lehet kibontani egy ZIP fájlt az unzip paranccsal

a fájlok kibontásához a ZIP fájlból, használja az unzip parancsot, és adja meg a ZIP fájl nevét. Ne feledje, hogy meg kell adnia a “.zip ” kiterjesztés.

unzip source_code.zip

az unzip parancs egy terminálablakban

hirdetés

a kibontott fájlok a terminálablakba kerülnek.

a kibontás kimenete egy terminálablakban

a ZIP fájlok nem tartalmazzák a fájl tulajdonjogának részleteit. Az összes kibontott fájl tulajdonosa a felhasználó számára van beállítva, aki kibontja őket.

csakúgy, mint a zipunzip-q (csendes) opcióval rendelkezik, így nem kell látnia a fájllistát a fájlok kibontásakor.

unzip -q source_code.zip

unzip -q opció egy terminál ablakban

a Fájlok Kibontása a Cél Könyvtár

a fájlok kibontása egy adott könyvtárba, használjuk a -d (könyvtár) opciót, pedig biztosítja az utat a könyvtárba szeretné, hogy az archívum kibontása be.

unzip -q source_code.zip -d ./development

csomagolja ki a célkönyvtárat egy terminálablakban

jelszóval védett ZIP fájlok kibontása

Ha egy ZIP fájlt jelszóval hoztak létre, unzip kérni fogja a jelszót. Ha nem adja meg a megfelelő jelszót, aunzip nem bontja ki a fájlokat.

unzip -q source_code.zip

az unzip with password parancs egy terminálablakban

hirdetés

ha nem érdekli, hogy mások látják—vagy arról, hogy a parancs előzményeiben tárolják—megadhatja a jelszót a parancssorban a-P (jelszó) opció. (Meg kell használni a tőke ” P.”)

unzip -P fifty.treacle.cutlass -q source_code.zip

jelszó feloldása a terminálablakban

fájlok kizárása

ha nem szeretne kibontani egy adott fájlt vagy fájlcsoportot, használja a -x (kizárás) opciót. Ebben a példában, azt akarjuk, hogy kivonat az összes fájlt eltekintve végződő a”.h ” kiterjesztés.

unzip -q source_code.zip -x *.h

kicsomagolja az opciót egy terminálablakban

fájlok felülírása

tegyük fel, hogy kibontott egy archívumot, de véletlenül törölt néhány kibontott fájlt.

reklám

egy gyors javítás az lenne, hogy kivonat a fájlokat ismét. De ha megpróbálja kibontani a ZIP fájlt ugyanabban a könyvtárban, mint korábban, a unzip felkéri Önt a fájlok felülírására vonatkozó döntésre. A következő válaszok egyikére számít.

a r (átnevezés) válaszon kívül ezek a válaszok esetérzékenyek.

  • y: Igen, felülírja ezt a fájlt
  • n: nem, ne írja felül ezt a fájlt
  • a: minden, felülírja az összes fájlt
  • N: nincs, felülírja a fájlok egyikét
  • r: nevezze át, bontsa ki ezt a fájlt, de adjon meg egy új nevet. Új nevet fog kérni.

felülírja az utasításokat egy terminál ablakban

unzipa meglévő fájlok felülírásához használja a -o (felülírás) opciót.

unzip -o -q source_code.zip

felülírási lehetőség egy terminálablakban

a hiányzó fájlok helyettesítésének leghatékonyabb módja az lenne, ha aunzip csak azokat a fájlokat bontja ki az archívumban, amelyek nem szerepelnek a célkönyvtárban. Ehhez használja a -n (soha ne írja felül) opciót.

unzip -n source_code.zip

unzip with-n never overwrite option in a terminal window

Belenézing a ZIP File

ez gyakran hasznos és tanulságos, hogy egy listát a fájlok belsejében egy ZIP fájlt, mielőtt kivonat. Ezt a -l (list archive) opcióval teheti meg. Ez keresztül vezetjük less, hogy a kimenet kezelhető.

unzip -l source_code.zip | less

bontsa ki a listázási opciót egy terminálablakban

hirdetés

a kimenet a ZIP fájlon belüli könyvtárakat és fájlokat, azok hosszát, valamint az archívumba való felvételük idejét és dátumát mutatja. Nyomja meg a” q”gombot a lesskilépéshez.

list archive output in a terminal window

vannak más módon bepillanthat egy ZIP fájlt, amely így a különböző típusú információkat, mint látni fogjuk.

adjon hozzá egy jelszót a zipcloak paranccsal

Ha létrehozott egy ZIP fájlt, de elfelejtette hozzáadni a jelszót, mit tehet? Gyorsan hozzáadhat egy jelszót a ZIP fájlhoz a zipcloak parancs segítségével. Adja át a ZIP fájl nevét a parancssorban. A rendszer kéri a jelszót. A jelszót másodszor is be kell írnia.

zipcloak source_code.zip

zipcloak egy terminálablakban

fájladatok megtekintése a zipdetails paranccsal

a zipdetails parancs sok információt mutat a ZIP fájlról. Az egyetlen értelmes módja annak, hogy kezelni a kimeneti ez a parancs adhat, hogy a cső keresztül less.

zipdetails source_code.zip | less

a zipdetails parancs egy terminálablakban

hirdetés

vegye figyelembe, hogy az információ fájlneveket tartalmaz, még akkor is, ha a ZIP fájl jelszóval védett. Ez a fajta információ a ZIP fájlban meta-adatként tárolódik, nem része a titkosított adatoknak.

a zipdetails kimenete egy terminálablakban

Keresés a fájl belsejében a zipgrep paranccsal

a zipgrep parancs lehetővé teszi a zip fájlban való keresést. A következő példában szeretnénk tudni, hogy a ZIP fájlban mely fájlok tartalmazzák a “keyval” szöveget.h ” bennük.

zipgrep keyval.h source_code.zip

a zipgrep parancs egy terminál ablakban

láthatjuk, hogy a fájlokslang.césgetval.c tartalmazza a “keyval” karakterláncot.h”.Azt is láthatjuk, hogy ezeknek a fájloknak két példánya van a ZIP fájl különböző könyvtáraiban.

információk megtekintése a zipinfo paranccsal

a zipinfo parancs újabb módot ad a ZIP fájl belsejének megtekintésére. Mint korábban, a kimenetet a less – on keresztül vezetjük.

zipinfo source_code.zip | less

zipinfo parancs egy terminálablakban

balról jobbra a kimenet mutatja:

  • A fájl jogosultságok
  • A verzió az eszköz létrehozásához használt a ZIP-fájl
  • Az eredeti fájl mérete
  • A fájl leírót (lásd alább)
  • a módszer A tömörítés (defláció, ebben az esetben)
  • Az adatok, majd az időbélyegző
  • A fájl nevét, illetve bármely könyvtár
Hirdetés

A fájl leírót két karakter. Az első karakter” t “vagy” b ” lesz, amely szöveges vagy bináris fájlt jelöl. Ha nagybetűről van szó, a fájl titkosítva van. A második karakter lehet a négy karakter egyike. Ez a karakter azt jelenti, hogy milyen típusú meta-adatokat tartalmaz ez a fájl: nincs, kiterjesztett helyi fejléc, “extra mező” vagy mindkettő.

  • -: ha egyik sem létezik, a karakter kötőjel lesz
  • l: ha van egy kiterjesztett helyi fejléc, de nincs extra mező
  • x: ha nincs kiterjesztett helyi fejléc, de van egy extra mező
  • X: ha van egy hosszabb helyi fejléc, valamint egy plusz mező

zipinfo kimeneti egy terminál ablakban

osztani a Fájlt, a zipsplit Parancs

Ha meg kell küldeni a ZIP fájlt, hogy valaki más, de vannak méretbeli vagy problémák továbbítása a fájlt, használja a zipsplit parancsot osztott az eredeti ZIP fájlt egy sor kisebb ZIP fájlokat.

a -n (méret) opció lehetővé teszi, hogy minden új ZIP fájlhoz maximális méretet állítson be. Ebben a példában felosztjuk a source_code.zip fájlt. Nem akarjuk, hogy az új ZIP fájlok nagyobbak legyenek, mint 100 KB (102400 bájt).

zipsplit -n 102400 source_code.zip

a zipsplit parancs egy terminálablakban

hirdetés

a választott méret nem lehet kisebb, mint a ZIP fájl bármelyikének mérete.

ezekkel a parancsokkal saját ZIP fájlokat hozhat létre, kicsomagolhatja a kapott ZIP fájlokat, valamint különféle egyéb műveleteket hajthat végre rajtuk anélkül, hogy elhagyná a Linux terminált.

Dave McKay
Dave McKay először számítógépeket használt, amikor a papírszalag divatba jött, és azóta is programozik. Több mint 30 év után az informatikai iparban, most teljes munkaidős technológiai újságíró. Karrierje során szabadúszó programozóként, egy nemzetközi szoftverfejlesztő csapat menedzsereként, informatikai szolgáltatási projektmenedzserként, legutóbb pedig Adatvédelmi tisztviselőként dolgozott. Dave egy Linux evangélista és nyílt forráskódú szószólója.Olvassa el a teljes Bio ”