Bunzip2 - εντολή Linux - εντολή Unix

ΟΝΟΜΑ

bzip2, bunzip2 - ένα συμπιεστή αρχείου ταξινόμησης μπλοκ, v1.0.2
bzcat - αποσυμπιέζει τα αρχεία στο stdout
bzip2recover - ανακτεί δεδομένα από κατεστραμμένα αρχεία bzip2

ΣΥΝΟΨΗ

bzip2 [ -cdfkqstvzVL123456789 ] [ ονόματα αρχείων ... ]
bunzip2 [ -fkvsVL ] [ ονόματα αρχείων ... ]
bzcat [ -s ] [ ονόματα αρχείων ... ]
όνομα αρχείου bzip2recover

ΠΕΡΙΓΡΑΦΗ

Το bzip2 συμπιέζει τα αρχεία χρησιμοποιώντας τον αλγόριθμο συμπίεσης κειμένου του μπλοκ Burrows-Wheeler και την κωδικοποίηση του Huffman. Η συμπίεση είναι γενικά σημαντικά καλύτερη από αυτή που επιτυγχάνεται με πιο συμβατικούς συμπιεστές με βάση το LZ77 / LZ78 και προσεγγίζει την απόδοση της οικογένειας των στατιστικών συμπιεστών PPM.

Οι επιλογές γραμμής εντολών είναι σκόπιμα πολύ παρόμοιες με αυτές του GNU gzip, αλλά δεν είναι ταυτόσημες.

Το bzip2 αναμένει μια λίστα με ονόματα αρχείων που θα συνοδεύουν τις σημαίες γραμμής εντολών. Κάθε αρχείο αντικαθίσταται από μια συμπιεσμένη έκδοση του ίδιου, με το όνομα "original_name.bz2". Κάθε συμπιεσμένο αρχείο έχει την ίδια ημερομηνία τροποποίησης, δικαιώματα και, όταν είναι δυνατόν, ιδιοκτησία ως το αντίστοιχο πρωτότυπο, έτσι ώστε αυτές οι ιδιότητες να μπορούν να αποκατασταθούν σωστά κατά τον χρόνο αποσυμπίεσης. Ο χειρισμός του ονόματος αρχείου είναι αφελής με την έννοια ότι δεν υπάρχει μηχανισμός για τη διατήρηση των αρχικών ονομάτων αρχείων, δικαιωμάτων, ιδιοτήτων ή ημερομηνιών σε συστήματα αρχείων που δεν διαθέτουν αυτές τις έννοιες ή έχουν σοβαρούς περιορισμούς μήκους ονόματος αρχείου, όπως το MS-DOS.

Το bzip2 και το bunzip2 δεν αντικαθιστούν τα υπάρχοντα αρχεία . Αν θέλετε να συμβεί αυτό, καθορίστε τη σημαία -f.

Αν δεν έχουν καθοριστεί ονόματα αρχείων, το bzip2 συμπιέζει από την τυπική είσοδο στην τυπική έξοδο. Σε αυτή την περίπτωση, το bzip2 θα αρνηθεί να γράψει συμπιεσμένη έξοδο σε ένα τερματικό, καθώς αυτό θα ήταν εντελώς ακατανόητο και ως εκ τούτου άσκοπο.

το bunzip2 (ή το bzip2 -d) αποσυμπιέζει όλα τα καθορισμένα αρχεία. Τα αρχεία που δεν δημιουργήθηκαν από το bzip2 θα ανιχνευθούν και θα αγνοηθούν και θα εκδοθεί μια προειδοποίηση. το bzip2 επιχειρεί να μαντέψει το όνομα αρχείου για το αποσυμπιεσμένο αρχείο από αυτό του συμπιεσμένου αρχείου ως εξής:


όνομα_αρχείου.bz2 γίνεται όνομα αρχείου
όνομα_αρχείου.bz γίνεται όνομα αρχείου
όνομα_αρχείου.tbz2 γίνεται filename.tar
όνομα_αρχείου.tbz γίνεται filename.tar
anyothername γίνεται anyothername.out

Αν το αρχείο δεν τελειώσει σε ένα από τα αναγνωρισμένα τερματισμό .bz2, .bz, .tbz2 ή .tbz, το bzip2 παραπονιέται ότι δεν μπορεί να μαντέψει το όνομα του αρχικού αρχείου και χρησιμοποιεί το αρχικό όνομα με το .out appended .

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

το bunzip2 θα αποσυμπιέσει σωστά ένα αρχείο το οποίο είναι η συνένωση δύο ή περισσότερων συμπιεσμένων αρχείων. Το αποτέλεσμα είναι η συγκόλληση των αντίστοιχων μη συμπιεσμένων αρχείων. Έχει επίσης υποστηριχθεί η δοκιμή ακεραιότητας (-t) συμπιεσμένων αρχείων.

Μπορείτε επίσης να συμπιέσετε ή να αποσυμπιέσετε αρχεία στην τυπική έξοδο δίνοντας τη σημαία -c. Πολλά αρχεία μπορεί να συμπιεστούν και να αποσυμπιεστούν σαν αυτό. Οι προκύπτουσες εξόδους τροφοδοτούνται διαδοχικά στο stdout. Η συμπίεση πολλών αρχείων με αυτόν τον τρόπο δημιουργεί μια ροή που περιέχει πολλαπλές αναπαραστάσεις συμπιεσμένων αρχείων. Μια τέτοια ροή μπορεί να αποσυμπιεστεί σωστά μόνο από την έκδοση bzip2 0.9.0 ή νεότερη έκδοση. Οι παλαιότερες εκδόσεις του bzip2 θα σταματήσουν μετά την αποσυμπίεση του πρώτου αρχείου στη ροή.

Το bzcat (ή το bzip2 -dc) αποσυμπιέζει όλα τα καθορισμένα αρχεία στην τυπική έξοδο.

Το bzip2 θα διαβάσει τα επιχειρήματα από τις μεταβλητές περιβάλλοντος BZIP2 και BZIP, με αυτή τη σειρά, και θα τα επεξεργαστεί πριν από οποιαδήποτε παρατήρηση που διαβάζεται από τη γραμμή εντολών. Αυτό παρέχει έναν βολικό τρόπο παροχής των προεπιλεγμένων επιχειρημάτων.

Η συμπίεση πραγματοποιείται πάντα, ακόμα και αν το συμπιεσμένο αρχείο είναι ελαφρώς μεγαλύτερο από το πρωτότυπο. Αρχεία με λιγότερο από εκατό bytes τείνουν να γίνονται μεγαλύτερα, καθώς ο μηχανισμός συμπίεσης έχει σταθερή επιβάρυνση στην περιοχή των 50 bytes. Τα τυχαία δεδομένα (συμπεριλαμβανομένης της εξόδου των περισσότερων συμπιεστών αρχείων) κωδικοποιούνται σε περίπου 8,05 bits ανά byte, δίνοντας μια επέκταση περίπου 0,5%.

Ως αυτοελέγχου για την προστασία σας, το bzip2 χρησιμοποιεί CRC των 32-bit για να βεβαιωθεί ότι η αποσυμπιεσμένη έκδοση ενός αρχείου είναι ίδια με το πρωτότυπο. Αυτό προστατεύει από τη διαφθορά των συμπιεσμένων δεδομένων και από τα μη εντοπισμένα σφάλματα στο bzip2 (ελπίζουμε ότι είναι πολύ απίθανο). Οι πιθανότητες να μην εντοπιστεί η διαφθορά δεδομένων είναι μικροσκοπική, περίπου μία ευκαιρία στα τέσσερα δισεκατομμύρια για κάθε αρχείο που έχει υποστεί επεξεργασία. Να γνωρίζετε, ωστόσο, ότι ο έλεγχος γίνεται κατά την αποσυμπίεση, οπότε μπορεί μόνο να σας πει ότι κάτι είναι λάθος. Δεν μπορεί να σας βοηθήσει να ανακτήσετε τα αρχικά μη συμπιεσμένα δεδομένα. Μπορείτε να χρησιμοποιήσετε το bzip2recover για να προσπαθήσετε να ανακτήσετε δεδομένα από κατεστραμμένα αρχεία.

Οι τιμές επιστροφής: 0 για κανονική έξοδο, 1 για περιβαλλοντικά προβλήματα (αρχείο δεν βρέθηκε, άκυρες σημαίες, σφάλματα εισόδου / εξόδου, & c), 2 για ένδειξη διεφθαρμένου συμπιεσμένου αρχείου, 3 για εσωτερικό σφάλμα συνέπειας (π.χ. bzip2 να πανικοβληθεί.

ΕΠΙΛΟΓΕΣ

-c --stdout

Συμπίεση ή αποσυμπίεση στην τυπική έξοδο.

-d - αποσυμπίεση

Αποσυμπίεση δύναμης. bzip2, bunzip2 και bzcat είναι πραγματικά το ίδιο πρόγραμμα και η απόφαση για τις ενέργειες που πρέπει να γίνουν γίνεται με βάση το όνομα που χρησιμοποιείται. Αυτή η σημαία υπερισχύει αυτού του μηχανισμού και αναγκάζει το bzip2 να αποσυμπιέσει.

-z - συμπίεση

Το συμπλήρωμα της -d: συμπίεσης δυνάμεων, ανεξάρτητα από το όνομα της κλήσης.

-t - δοκιμή

Ελέγξτε την ακεραιότητα του συγκεκριμένου αρχείου, αλλά μην τα αποσυμπιέσετε. Αυτό πραγματικά εκτελεί δοκιμαστική αποσυμπίεση και ρίχνει μακριά το αποτέλεσμα.

-f -force

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

Το bzip2 κανονικά αρνείται να αποσυμπιέσει αρχεία που δεν έχουν τα σωστά δευτερεύοντα byte κεφαλίδας. Αν όμως αναγκαστεί (-f), θα περάσει τέτοια αρχεία μέσω μη τροποποιημένου. Έτσι συμπεριφέρεται το GNU gzip.

-k --keep

Διατηρείτε (μην διαγράφετε) τα αρχεία εισόδου κατά τη συμπίεση ή την αποσυμπίεση.

-s - μικρό

Μειώστε τη χρήση μνήμης, για συμπίεση, αποσυμπίεση και δοκιμή. Τα αρχεία αποσυμπιέζονται και δοκιμάζονται χρησιμοποιώντας έναν τροποποιημένο αλγόριθμο ο οποίος απαιτεί μόνο 2,5 bytes ανά byte μπλοκ. Αυτό σημαίνει ότι οποιοδήποτε αρχείο μπορεί να αποσυμπιεστεί σε 2300k μνήμης, αν και περίπου στο ήμισυ της κανονικής ταχύτητας.

Κατά τη διάρκεια της συμπίεσης, -s επιλέγει ένα μέγεθος μπλοκ 200k, το οποίο περιορίζει τη χρήση της μνήμης γύρω από τον ίδιο αριθμό, σε βάρος του λόγου συμπίεσης. Εν ολίγοις, εάν το μηχάνημα σας είναι χαμηλό στη μνήμη (8 megabyte ή λιγότερο), χρησιμοποιήστε το -s για όλα. Ανατρέξτε στην ενότητα ΜΕΘΟΔΟΣ ΔΙΑΧΕΙΡΙΣΗΣ παρακάτω.

-q - καθαρή

Καταστολή μη βασικών προειδοποιητικών μηνυμάτων. Μηνύματα σχετικά με σφάλματα I / O και άλλα κρίσιμα συμβάντα δεν θα κατασταλούν.

-v - verbose

Λειτουργία λεπτομερούς - εμφάνιση του λόγου συμπίεσης για κάθε επεξεργασμένο αρχείο. Περαιτέρω -v αυξάνουν το επίπεδο λεξιλογιών, εξαπλώνοντας πολλές πληροφορίες που είναι κατά κύριο λόγο ενδιαφέρον για διαγνωστικούς σκοπούς.

-L - άδεια -V - έκδοση

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

-1 (ή - γρήγορη) έως -9 (ή --best)

Ρυθμίστε το μέγεθος του μπλοκ στα 100 k, 200 k .. 900 k κατά τη συμπίεση. Δεν έχει καμία επίδραση όταν αποσυμπιέζεται. Ανατρέξτε στην ενότητα ΜΕΘΟΔΟΣ ΔΙΑΧΕΙΡΙΣΗΣ παρακάτω. Τα - ψεύτικα και τα καλύτερα ψευδώνυμα είναι κατά κύριο λόγο για τη συμβατότητα του GNU gzip. Συγκεκριμένα, --fast δεν κάνει τα πράγματα σημαντικά ταχύτερα. Και --best απλά επιλέγει την προεπιλεγμένη συμπεριφορά.

Αντιμετωπίζει όλα τα επόμενα επιχειρήματα ως ονόματα αρχείων, ακόμα κι αν ξεκινούν με μια παύλα. Αυτό είναι έτσι ώστε να μπορείτε να χειριστείτε αρχεία με ονόματα που ξεκινούν με μια παύλα, για παράδειγμα: bzip2 - -myfilename.

- επαναλαμβανόμενα - γρήγορα - επαναλαμβανόμενα - καλύτερα

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

Σημαντικό: Χρησιμοποιήστε την εντολή man ( % man ) για να δείτε πώς χρησιμοποιείται μια εντολή στον υπολογιστή σας.

Σχετικά Άρθρα