Cum să comprimați fișiere folosind linia de comandă Linux
Există o serie de moduri diferite de a comprima fișierele folosind Linia de comandă Linux. Acest articol include exemple practice care arată cum se utilizează comanda zip pentru a compacta și organiza fișierele în sistemul dvs. de fișiere.
Fișierele arhivate sunt folosite atunci când trebuie să economisiți spațiu și copiați fișiere mari dintr-un loc în altul.
Dacă aveți 10 fișiere care au toate 100 de megaocteți și trebuie să le transferați pe un site ftp, transferul ar putea dura o perioadă considerabilă de timp, în funcție de viteza procesorului dvs. Dacă comprimați toate cele 10 fișiere într-un singur fișier arhivat Arhiva si comprimare reduce dimensiunea fișierului la 50 MB per fișier, atunci trebuie să transferați doar jumătate din câte date.

Cum se creează o arhivă a tuturor fișierelor dintr-un folder
Imaginați-vă că aveți un folder de melodii cu următoarele fișiere MP3 în el:
Autostrada AC/DC spre Iad
Night Prowler.mp3.
Iubește om flămând.mp3.
Get It Hot.mp3.
Merge peste tine.mp3.
Autostrada spre iad.mp3.
Daca vrei sange il ai.mp3.
Arată-te în flăcări.mp3.
Atingeți prea mult.mp3.
Bătăind în jurul tufișului.mp3.
Girls Got Rhythm.mp3.
Această comandă simplă Linux care ilustrează cum să creați o arhivă a tuturor fișierelor din folderul curent numit ACDC_Highway_to_Hell.zip:
zip ACDC_Highway_to_Hell *
Textul derulează în sus pe ecran și arată fișierele pe măsură ce sunt adăugate.
Cum să includeți fișiere ascunse într-o arhivă
Comanda anterioară este bună pentru arhivarea tuturor fișierelor dintr-un folder, dar include doar fișiere care nu sunt ascunse. Nu este întotdeauna atât de simplu. Imaginați-vă că doriți să arhivați folderul dvs. de acasă, astfel încât să îl puteți face copii de rezervă în a drive USB sau hard disc extern. Dosarul dvs. principal include fișiere ascunse.
Pentru a comprima toate fișierele, inclusiv fișierele fișiere ascunse într-un folder, rulați următoarea comandă:
zip acasă * .*
Aceasta creează un fișier numit home.zip cu toate fișierele din folderul de acasă. (Trebuie să fii în folderul de acasă pentru ca acest lucru să funcționeze). Problema cu această comandă este că include doar fișierele din folderul de acasă și nu folderele, ceea ce ne duce la următorul exemplu.
Cum să arhivezi toate fișierele și subfolderele într-un fișier Zip
Pentru a include toate fișierele și subfolderele într-o arhivă, executați următoarea comandă:
zip -r acasă.
Cum se adaugă fișiere noi într-o arhivă existentă zip
Dacă doriți să adăugați fișiere noi la o arhivă existentă sau să actualizați fișierele dintr-o arhivă, utilizați același nume pentru fișierul de arhivă atunci când rulați comanda zip.
De exemplu, imaginați-vă că aveți un folder de muzică cu patru albume în el și că creați o arhivă numită music.zip pe care să o păstrați ca rezervă. Acum imaginați-vă că o săptămână mai târziu descărcați două albume noi. Pentru a adăuga albume noi la fișierul zip, pur și simplu rulați aceeași comandă zip ca săptămâna anterioară.
Pentru a crea arhiva muzicală originală, rulați următorul cod:
zip -r music /home/yourname/music/
Pentru a adăuga fișiere noi în arhivă, executați din nou aceeași comandă.
Dacă fișierul zip are o listă de fișiere în el și unul dintre fișierele de pe disc s-a schimbat, atunci fișierul modificat este actualizat în fișierul zip.
Cum să actualizați fișierele existente într-o arhivă zip
Dacă aveți un fișier zip care ar trebui să conțină aceleași nume de fișiere de fiecare dată și doriți să actualizați acel fișier cu orice modificări care au fost făcute acelor fișiere, atunci -f switch vă ajută să faceți acest lucru.
De exemplu, imaginați-vă că aveți un fișier arhivat cu următoarele fișiere:
/home/yourname/documents/file1.
/home/yourname/documents/file2.
/home/yourname/documents/file3.
/home/yourname/documents/file4.
/home/yourname/documents/file5.
/home/yourname/documents/file6.
Acum imaginați-vă că în timpul săptămânii, ați adăugat două fișiere noi și ați modificat două fișiere, astfel încât folderul /home/yourname/documents să arate acum astfel:
/home/yourname/documents/file1.
/home/yourname/documents/file2.
/home/yourname/documents/file3.
/home/yourname/documents/file4 (actualizat)
/home/yourname/documents/file5 (actualizat)
/home/yourname/documents/file6.
/home/yourname/documents/file7.
/home/yourname/documents/file8.
Când executați următoarea comandă, fișierul zip va conține fișierele actualizate (fișier4 și fișier5), dar fișierul7 și fișierul8 nu vor fi adăugate.
zip zipfilename -f -r /home/yourname/documents.
Cum să ștergeți fișiere dintr-o arhivă arhivată
Așa că ați creat un fișier zip masiv cu sute de fișiere și acum realizați că există patru sau cinci fișiere în fișierul zip de care nu aveți nevoie acolo. Fără a fi nevoie să arhivați din nou toate acele fișiere, puteți pur și simplu să rulați comanda zip cu -d comutați după cum urmează:
zip zipfilename -d [numele fișierului din arhivă]
De exemplu, dacă aveți un fișier în arhivă cu numele home/documents/test.txt, îl ștergeți cu această comandă:
zip zipfilename -d home/documents/test.txt.
Cum să copiați fișiere dintr-un fișier Zip în altul
Dacă aveți fișiere într-un fișier zip și doriți să le copiați într-un alt fișier zip fără a le extrage mai întâi și a le rezipa, utilizați -u intrerupator.
Să presupunem că aveți un fișier zip numit „variousmusic.zip” cu muzică de la diverși artiști, dintre care unul este AC/DC. Puteți copia melodiile AC/DC din fișierul variousmusic.zip în fișierul ACDC.zip folosind următoarea comandă:
zip variousmusic.zip -U --out ACDC.zip „Back_In_Black.mp3”
Comanda de mai sus copiază fișierul „Back_In_Black.mp3” de la variousmusic.zip în ACDC.zip. Dacă fișierul zip în care copiați nu există, acesta este creat.
Cum să utilizați potrivirea modelelor și canalizarea pentru a crea o arhivă
Următorul comutator este unul cu adevărat util, deoarece vă permite să utilizați rezultatul altor comenzi pentru a insera fișiere în fișierul zip. Să presupunem că doriți să creați un fișier numit lovesongs.zip, care conține fiecare melodie care are cuvântul dragoste în titlu.
Pentru a găsi fișierele cu dragoste în titlu puteți folosi următoarea comandă:
găsiți /home/yourname/Music -name *love*
Comanda de mai sus nu este 100% perfectă, deoarece preia și cuvinte precum „trifoi”, dar înțelegeți ideea. Pentru a adăuga toate rezultatele returnate de la comanda de mai sus într-un fișier zip numit lovesongs.zip, rulați această comandă:
găsește /acasă/numele tău/Music -name *dragoste* | zip lovesongs.zip -@
Cum se creează o arhivă împărțită
Dacă faceți o copie de rezervă a computerului, dar singurul suport pe care îl aveți disponibil pentru a face backup este un set de DVD-uri goale, atunci ai de ales. Puteți continua să arhivați fișierele până când fișierul zip este de 4,8 gigaocteți și să ardeți DVD-ul sau puteți crea ceva numit arhiva împărțită care continuă să creeze noi arhive într-un set după ce atinge limita pe care o specificați.
De exemplu:
zip mymusic.zip -r /home/myfolder/Music -s 670m.
Cum să personalizați raportul de progres al procesului de comprimare
Există diferite moduri de a personaliza rezultatul care apare în timp ce arhivarea este în curs.
Comutatoarele disponibile sunt următoarele:
- -db = afișează câți octeți au fost arhivați și câți au mai rămas
- -dc = afișează un număr de fișiere arhivate și câte au mai rămas
- -dd = afișează puncte pentru fiecare 10 MB de fișier care a fost arhivat
- -ds = stabilește cât de des apar punctele
- -du = afișează dimensiunea necomprimată a fiecărui fișier
De exemplu:
zip myzipfilename.zip -dc -r /home/music.
Cum să remediați un fișier Zip
Dacă aveți o arhivă zip care este spartă, puteți încerca să o remediați folosind -F comanda și dacă aceasta eșuează, comanda FF comanda.
Acest lucru este util dacă ați creat o arhivă împărțită folosind -s comutați și ați pierdut unul dintre fișierele de arhivă.
De exemplu, încercați mai întâi pe acesta:
zip -F myfilename.zip --out myfixedfilename.zip.
și apoi.
zip -FF myfilename.zip --out myfixedfilename.zip.
Cum se criptează o arhivă
Dacă aveți informații sensibile pe care doriți să le stocați într-un fișier zip, utilizați -e comanda la cripta aceasta. Vi se cere să introduceți a parola și pentru a repeta parola.
De exemplu:
zip myfilename.zip -r /home/wikileaks -e.
Cum să arătați ce va fi arhivat
Dacă știți că veți crea o arhivă mare, asigurați-vă că fișierele corecte vor fi adăugate la fișierul zip. Puteți vedea rezultatele așteptate ale unei comenzi zip specificând codul -sf intrerupator.
De exemplu:
zip myfilename.zip -r /home/music/ -sf.
Cum se testează o arhivă
După ce ați făcut o copie de rezervă a fișierelor într-un fișier zip, este tentant să economisiți spațiu pe disc ștergând fișierele originale. Înainte de a face asta, este o idee bună să testați funcționarea corectă a fișierului zip.
Puteți folosi -T comutați pentru a testa dacă fișierul zip este valid.
De exemplu:
zip myfilename.zip -T.
Ieșirea de la această comandă atunci când o arhivă este invalidă poate arăta așa:
- avertisment zip: semnătura finală lipsește - probabil că nu este un fișier zip
Amintiți-vă că puteți încerca comanda -F pentru a remedia fișierele zip sparte.
Este demn de remarcat faptul că -T poate produce false pozitive, deoarece spune că un fișier zip este corupt, chiar dacă atunci când îl deschideți, puteți extrage toate fișierele.
Cum să excludeți fișiere
Uneori doriți să excludeți anumite fișiere dintr-un fișier zip. De exemplu, dacă copiați fișierele de pe telefon sau de pe camera digitală, aveți un amestec de videoclipuri și imagini. Poate doriți să arhivați fotografiile în photos.zip și videoclipurile în videos.zip.
Iată o modalitate de a exclude videoclipurile atunci când creați photos.zip.
zip photos.zip -r /home/photos/ -x *.mp4.
Cum se specifică nivelul de compresie
Cand tu comprima fișierele într-un fișier zip, sistemul decide dacă să comprima fișierul sau doar să îl stocheze. Fișiere MP3, de exemplu, sunt deja comprimate, așa că nu are rost să le comprimați mai departe; acestea sunt de obicei stocate așa cum sunt într-un fișier zip.
Puteți, totuși, să specificați un nivel de compresie între 0 și 9 pentru a comprima un fișier în continuare. Acest lucru durează mai mult, dar poate face economii semnificative de spațiu.
zip fișierele mele.zip -r /home -5.