7 τρόποι συμπίεσης και αποσυμπίεσης αρχείων στο Linux

Περισσότερα και γρηγορότερα είναι πάντα δύο πράγματα που θέλουμε, ειδικά όταν πρόκειται για δεδομένα. Το πρόβλημα είναι ότι το "περισσότερο" και το "γρηγορότερο" είναι συνήθως σε αντίθεση, επομένως έχουμε συμπίεση αρχείων(file compression) . Υπάρχουν διάφοροι τρόποι συμπίεσης και αποσυμπίεσης αρχείων στο Linux και θα σας δείξουμε τις μεθόδους πίσω από αυτούς.

Zip και Unzip Χρησιμοποιώντας το Zip στο Linux(Zip and Unzip Using Zip in Linux)

Το Linux(Linux) έχει πολλά εργαλεία συμπίεσης ενσωματωμένα σχεδόν σε κάθε διανομή, κοινώς γνωστά ως διανομές Linux(Linux distros) . Το Zip(Zip) είναι πιθανότατα το πιο δημοφιλές. Το βοηθητικό πρόγραμμα Zip μπορεί να χρησιμοποιηθεί στη γραφική διεπαφή χρήστη ( GUI ) ή στο τερματικό.

Zip στο Linux GUI(Zip in the Linux GUI)

  1. Πλοηγηθείτε στα αρχεία(Navigate to the files) που θέλετε να συμπιεστείτε και επιλέξτε τα. Στη συνέχεια, κάντε δεξί κλικ και επιλέξτε Συμπίεση(Compress) .

  1. Εισαγάγετε ένα όνομα για το συμπιεσμένο(zipped) αρχείο. Σημειώστε ότι μπορείτε επίσης να επιλέξετε δύο άλλους τύπους συμπίεσης. Αυτό μπορεί να διαφέρει μεταξύ διανομών.

  1. Σύντομα θα δείτε το συμπιεσμένο αρχείο σας. Σημειώστε ότι το μέγεθος του αρχείου είναι πολύ μικρότερο από το συνολικό μέγεθος των αρχείων που έχουν τοποθετηθεί σε αυτό.

Αποσυμπιέστε στο Linux GUI(Unzip in the Linux GUI)

  1. Βρείτε το συμπιεσμένο αρχείο για αποσυμπίεση και κάντε δεξί κλικ πάνω του. Επιλέξτε Εξαγωγή εδώ(Extract Here) ή Εξαγωγή σε…(Extract to…) . Το Extra(Extra) Here τοποθετεί τα περιεχόμενα σε αυτόν τον κατάλογο. Η εξαγωγή(Extract) σε… σας επιτρέπει να επιλέξετε κάπου αλλού για να τοποθετήσετε τα περιεχόμενα.

Τα αρχεία εξάγονται. Παρατηρήστε(Notice) ότι έχουν επιστρέψει στο πλήρες μέγεθος των 100 MB το καθένα.

Archive Manager για αποσυμπίεση στο Linux GUI(Archive Manager to Unzip in the Linux GUI)

Ορισμένες διανομές Linux έχουν ενσωματωμένους άλλους τρόπους αποσυμπίεσης. Σε αυτό το παράδειγμα, μπορείτε να χρησιμοποιήσετε το Archive Manager .

  1. Κάντε δεξί κλικ(Right-click) στο αρχείο και επιλέξτε Άνοιγμα με το Archive Manager(Open With Archive Manager) .

  1. Επισημάνετε(Highlight) τα αρχεία που θέλετε να εξαγάγετε κάνοντας ένα μόνο κλικ πάνω τους. Μπορείτε να επιλέξετε ένα, μερικά ή όλα. Στη συνέχεια, επιλέξτε Εξαγωγή(Extract ) στην επάνω αριστερή γωνία.

  1. Σε αυτό το σημείο, μπορείτε να επιλέξετε πού θα εξαγάγετε τα αρχεία χρησιμοποιώντας τη διαχείριση αρχείων. Στη συνέχεια, επιλέξτε Εξαγωγή(Extract) στην επάνω δεξιά γωνία.

  1. Όταν ολοκληρωθεί η εξαγωγή, μπορείτε είτε να συνεχίσετε είτε να εμφανίσετε τα αρχεία(Show the Files) .

Το αρχείο επέστρεψε στο πλήρες μέγεθός του. Ένα αντίγραφο έχει μείνει μέσα στο αρχείο.

Zip αρχεία στο τερματικό Linux(Zip Files in Linux Terminal)

Ανοίξτε το τερματικό και μεταβείτε στον κατάλογο όπου βρίσκονται τα αρχεία που θα συμπιεστούν. Εισαγάγετε την εντολή zip ziptest.zip *

Το Zip(Zip ) λέει στο Linux να χρησιμοποιήσει το βοηθητικό πρόγραμμα zip, το ziptest.zip(ziptest.zip) του λέει το επιθυμητό όνομα για το αρχείο, ο asterisk (*) είναι ένας χαρακτήρας μπαλαντέρ που σημαίνει zip όλα τα αρχεία σε αυτόν τον κατάλογο. 

Αποσυμπιέζει τα αρχεία, τα παραθέτει και λέει πόσο τα έχει ξεφουσκώσει ή συμπιέσει.

Πολλές ενέργειες μπορούν να χρησιμοποιηθούν με την εντολή zip. Για να τα δείτε, πληκτρολογήστε zip –help και θα δείτε κάτι σαν την παρακάτω εικόνα.

Αποσυμπιέστε τα αρχεία στο τερματικό Linux(Unzip Files in Linux Terminal)

Στο Terminal, χρησιμοποιήστε την εντολή unzip ziptest.zip , όπου unzip είναι η εντολή και ziptest.zip είναι το όνομα του αρχείου προς αποσυμπίεση.

Θα δείξει ότι τα αρχεία είναι αποσυμπιεσμένα, ώστε να γνωρίζετε πότε έχει ολοκληρωθεί.

Όπως η εντολή zip, πολλές ενέργειες μπορούν να χρησιμοποιηθούν με την εντολή unzip. Για να τα δείτε, πληκτρολογήστε unzip –help και θα δείτε κάτι σαν την παρακάτω εικόνα.

Bzip2 για συμπίεση και αποσυμπίεση αρχείων στο Linux(Bzip2 for Zipping and Unzipping Files in Linux)

Το Bzip2(Bzip2) είναι ένα άλλο βοηθητικό πρόγραμμα συμπίεσης ενσωματωμένο στις περισσότερες διανομές Linux . Μια σημαντική διαφορά είναι ότι το bzip2 δεν μπορεί να συμπιεστεί πολλά αρχεία σε ένα αρχείο. Κάθε αρχείο έχει το δικό του συμπιεσμένο αρχείο.

Αρχεία Zip σε τερματικό Linux με Bzip2(Zip Files in Linux Terminal With Bzip2)

Εισαγάγετε την εντολή bzip2 -kv9 testfile1.txt testfile2.txt όπου bzip2 είναι η εντολή.

Το -kv9(-kv9 ) αναλύεται σε k σημαίνει k κρατήστε τα πρωτότυπα, v σημαίνει v erbose ώστε να μπορούμε να δούμε τι συμβαίνει και 9 για το υψηλότερο επίπεδο συμπίεσης. Μπορείτε να επιλέξετε μεταξύ 1 και 9. Όσο υψηλότερο είναι το επίπεδο συμπίεσης, τόσο περισσότερο διαρκεί η συμπίεση των αρχείων.

Η έξοδος μας λέει περισσότερα από το zip, αλλά το τελικό αποτέλεσμα είναι σχεδόν το ίδιο.

Αποσυμπιέστε τα αρχεία σε τερματικό Linux με το Bzip2(Unzip Files In Linux Terminal With Bzip2)

Εισαγάγετε την εντολή bzip2 -kvd testfile.1.txt.bz2 testfile2.txt.bz2 . Οι επιλογές -kvd αναλύονται ως k για k διατηρεί τα αρχεία, v για v erbose έξοδο και d για d ecompress.

Βλέπετε τα αρχεία να αποσυμπιέζονται και να τα γνωρίζετε όταν τελειώσει.

Για να δείτε τις επιλογές bzip2, πληκτρολογήστε bzip2 –help και θα δείτε τα εξής. Παίξτε με τις επιλογές σε μη κρίσιμα αρχεία μόνο για να δείτε τι μπορούν να κάνουν.

Gzip για συμπίεση και αποσυμπίεση αρχείων στο Linux(Gzip for Zipping and Unzipping Files in Linux)

Αυτό είναι το τελευταίο από τα δημοφιλή βοηθητικά προγράμματα συμπίεσης που περιλαμβάνονται στις περισσότερες διανομές. Είναι πιο ελαφρύ από το bzip2 και το zip για επιλογές. Ωστόσο, η ποιότητα της συμπίεσης παραμένει περίπου η ίδια.

Αρχεία Zip σε τερματικό Linux με Gzip(Zip Files in Linux Terminal With Gzip)

Εισαγάγετε την εντολή gzip2 -kv9 testfile.1.txt testfile2.txt . Οι επιλογές -kv9 αναλύονται ως k για k eep τα αρχεία, v για v erbose έξοδο και 9 για το υψηλότερο επίπεδο συμπίεσης μεταξύ 1 και 9.

Όπως δείχνει η αναλυτική έξοδος, το gzip λειτουργεί τόσο καλά όσο και οι άλλες μέθοδοι φερμουάρ.

Αποσυμπιέστε τα αρχεία στο τερματικό Linux με το Gzip(Unzip Files in Linux Terminal With Gzip)

Υπάρχουν δύο τρόποι για να αποσυμπιέσετε τα αρχεία gzip. Το ένα είναι να χρησιμοποιήσετε το gzip και το άλλο είναι το gunzip.

Για την εντολή gzip , χρησιμοποιήστε (gzip )gzip -kvd testfile1.txt.gz testfile2.txt.gz . Παρατηρήστε την επιλογή d . Αυτό σημαίνει να d ecompress.

Για την εντολή gunzip(gunzip ) , χρησιμοποιήστε το gunzip testfile1.txt.gz testfile.2.txt.gz . Η μόνη διαφορά από το gzip είναι ότι το gunzip δεν απαιτεί επιλογές για μια βασική αποσυμπίεση.

Τι γίνεται με το Tar to Zip και Unzip αρχείων στο Linux;(What About Tar to Zip and Unzip Files in Linux?)

Γιατί δεν έχει αναφερθεί ακόμη η πίσσα ; (tar)Είναι ένα εργαλείο αρχειοθέτησης, που παίρνει μια δέσμη αρχείων και τα τοποθετεί σε ένα αρχείο για εύκολη μεταφορά. Όποια και αν είναι τα μεγέθη των αρχείων, το μέγεθος του αρχείου tar θα είναι περίπου το ίδιο. 

Αλλά αν συνδυάσετε μια μέθοδο με φερμουάρ με πίσσα, τότε θα έχετε κάτι πολύ ωραίο. Παίρνετε ένα όμορφα συμπιεσμένο πακέτο αρχείων. 

Χρησιμοποιώντας τις άλλες μεθόδους zip σε έναν κατάλογο αρχείων, θα λάβετε ένα συμπιεσμένο αρχείο για κάθε αρχείο στον κατάλογο. Η χρήση tar με την επιλογή gzip στον κατάλογο συμπιέζει τα πάντα και δημιουργεί ένα αρχείο.

Αρχεία Zip σε τερματικό Linux με Tar και Gzip(Zip Files in Linux Terminal With Tar and Gzip)

Εισαγάγετε την εντολή tar -czvf Documents.tgz Documents

Οι επιλογές -czvf αναλύονται ως c για c αναπαράγουν ένα νέο αρχείο, z για συμπίεση με g z ip, v για v erbose έξοδο και f για f ile ισούται με αρχειοθέτηση, που σημαίνει ότι το αρχείο διατηρεί τη δομή του αρχείου του αρχικού καταλόγου. 

Το νέο αρχείο πρέπει να ονομαστεί, το οποίο είναι Documents.tgz σε αυτό το παράδειγμα. Χρησιμοποιώντας την επέκταση αρχείου .tgz , άλλοι θα γνωρίζουν ότι πρόκειται για ένα αρχείο tar που έχει γίνει gzip. Τέλος , το Documents είναι ο κατάλογος για αρχειοθέτηση και συμπίεση.

Η έξοδος μοιάζει με την ακόλουθη.

Στη Διαχείριση αρχείων(File Manager) , μπορείτε να δείτε το αρχείο tar και ότι είναι συμπιεσμένο.

Αποσυμπίεση αρχείων σε τερματικό Linux με Tar και Gzip(Unzip Files in Linux Terminal With Tar and Gzip)

Για να αποσυμπιέσετε ένα αρχείο gzipped tar, είναι η ίδια εντολή tar με ελαφρώς διαφορετικές επιλογές. 

Εισαγάγετε την εντολή tar -xzvf Documents.tgz Documents

Οι επιλογές -xzvf αναλύονται ως x για e x tract, z για αποσυμπίεση με g z ip , v για αναλυτικό, ώστε να μπορούμε να το παρακολουθήσουμε και το f για file=archive σημαίνει διατήρηση της δομής του αρχείου. Το Documents.tgz(Documents.tgz ) είναι το αρχείο που πρέπει να αποσυμπιεστεί και να αποσυμπιεστεί και το Documents είναι ο κατάλογος στον οποίο θέλετε να μεταφερθούν τα περιεχόμενα.

Τα αποτελέσματα φαίνονται στην παρακάτω εικόνα. Τα δύο αρχεία έχουν επιστρέψει στο πλήρες μέγεθος και βρίσκονται στον κατάλογο Documents .

Για να δείτε τις επιλογές tar, πληκτρολογήστε tar –help και θα λάβετε πολλές σελίδες επιλογών. Παρατηρήστε(Notice) ότι υπάρχουν διαφορετικές μέθοδοι zip διαθέσιμες εκτός από το gzip, ώστε να μπορείτε να επιλέξετε αυτή που σας αρέσει.

Λιγότερο δημοφιλή εργαλεία Zip στο Linux(Less Popular Zip Tools in Linux)

Υπάρχουν δύο ακόμη βοηθητικά προγράμματα συμπίεσης που βρίσκονται στις περισσότερες διανομές Linux . Ωστόσο, δεν είναι τόσο δημοφιλείς. Ωστόσο, παρατίθενται εδώ, επομένως τα γνωρίζετε.

LZMA

Το LZMA(LZMA) είναι ένα άλλο βοηθητικό πρόγραμμα συμπίεσης γραμμής εντολών που βρίσκεται συχνά σε διανομές Linux . Είναι ο αλγόριθμος συμπίεσης που χρησιμοποιείται από το 7-Zip.

XZ

Το βοηθητικό πρόγραμμα XZ είναι ένα εργαλείο συμπίεσης γραμμής εντολών που περιλαμβάνεται συχνά σε διανομές Linux . Οι επιλογές του είναι παρόμοιες με αυτές του bzip2. Βασίζεται στον αλγόριθμο LZMA2 , ο οποίος βασίζεται στο LZMA .

Περισσότερες πληροφορίες σχετικά με αυτά τα βοηθητικά προγράμματα μπορείτε να βρείτε χρησιμοποιώντας τις εντολές lzma –help και xz –help .

Δεν υπάρχουν άλλοι τρόποι συμπίεσης και αποσυμπίεσης στο Linux;(Aren’t There Other Ways To Zip and Unzip in Linux?)

Έχουμε μπει μόνο στα εργαλεία συμπίεσης που είναι ενσωματωμένα στις περισσότερες διανομές Linux . Ωστόσο, το Linux έχει πολλούς άλλους τρόπους συμπίεσης και αποσυμπίεσης αρχείων. Ορισμένα έχουν GUI(GUIs) , μερικά είναι βοηθητικά προγράμματα γραμμής εντολών και μερικά μπορούν να χρησιμοποιηθούν τόσο με το GUI τους όσο και μέσω της γραμμής εντολών. Χρησιμοποιείτε ένα από αυτά τα εργαλεία zip στο Linux ; Ποιο(Which one) είναι το αγαπημένο σας και γιατί; Ενημερώστε μας στα σχόλια.



About the author

Ο Josh έχει πάνω από 10 χρόνια εμπειρίας στη βιομηχανία λογισμικού και ασύρματης σύνδεσης, ειδικά στους τομείς του προγραμματισμού και των κριτικών Android. Αυτή τη στιγμή είναι ανώτερος μηχανικός λογισμικού στη Microsoft, εργάζεται σε διάφορα προϊόντα ms office. Ο Τζος έχει έντονο ενδιαφέρον να βοηθά άλλους να μάθουν νέα εργαλεία λογισμικού και είναι πάντα πρόθυμος να μοιραστεί τις συμβουλές και τα κόλπα του με όσους ρωτούν.



Related posts