Εγχειρίδια για τη γραμμή εντολών

Man » zip Manual online - λεπτομερής διαδικτυακή τεκμηρίωση για τη σελίδα man του zip

🌍
zip - δημιουργία πακέτων και συμπίεση (αρχειοθέτηση) αρχείων

ΣΥΝΟΨΗ

zip [-aABcdDeEfFghjklLmoqrRSTuvVwXyz!@$] [--longoption ...] [-b path] [-n suffixes] [-t date]
[-tt date] [zipfile [file ...]] [-xi list]

zipcloak (δείτε τη ξεχωριστή σελίδα man)

zipnote (δείτε τη ξεχωριστή σελίδα man)

zipsplit (δείτε τη ξεχωριστή σελίδα man)

Σημείωση: Η επεξεργασία γραμμής εντολών στο zip έχει αλλάξει για να υποστηρίζει τις μεγάλες επιλογές και να χειρίζεται όλες τις επιλογές και τα ορίσματα πιο συνεπώς. Ορισμένες παλιές γραμμές εντολών που εξαρτώνται από ασυνέπειες της γραμμής εντολών ενδέχεται να μην λειτουργούν πλέον.

ΠΕΡΙΓΡΑΦΗ

Το zip είναι ένα βοηθητικό πρόγραμμα συμπίεσης και δημιουργίας πακέτων αρχείων για Unix, VMS, MSDOS, OS/2, Windows 9x/NT/XP,

Minix, Atari, Macintosh, Amiga και Acorn RISC OS. Είναι ανάλογο με έναν συνδυασμό των εντολών Unix tar(1) και compress(1) και είναι συμβατό με το PKZIP (το ZIP του Phil Katz για συστήματα MSDOS).

Ένα συνοδευτικό πρόγραμμα (unzip(1)) αποσυμπιέζει αρχεία zip. Τα προγράμματα zip και unzip(1) μπορούν να λειτουργούν με αρχεία που δημιουργούνται από το PKZIP (υποστηρίζοντας τις περισσότερες δυνατότητες PKZIP έως την έκδοση 4.6), και το PKZIP και το PKUNZIP μπορούν να λειτουργούν με αρχεία που δημιουργούνται από το zip (με ορισμένες εξαιρέσεις, κυρίως τα αρχεία ροής, αλλά οι πρόσφατες αλλαγές στο πρότυπο αρχείων zip ενδέχεται να διευκολύνουν τη βελτιωμένη συμβατότητα). Το zip έκδοση 3.0 είναι συμβατή με το PKZIP 2.04 και υποστηρίζει επίσης τις επεκτάσεις Zip64 του PKZIP 4.5 οι οποίες επιτρέπουν στα αρχεία καθώς και στα αρχεία να υπερβαίνουν το προηγούμενο όριο των 2 GB (4 GB σε ορισμένες περιπτώσεις). Το zip υποστηρίζει επίσης τη συμπίεση bzip2 εάν η βιβλιοθήκη bzip2 συμπεριληφθεί κατά τη μεταγλώττιση του zip. Σημειώστε ότι το PKUNZIP 1.10 δεν μπορεί να εξαγάγει αρχεία που δημιουργήθηκαν από το PKZIP 2.04 ή το zip 3.0. Πρέπει να χρησιμοποιήσετε το PKUNZIP 2.04g ή το unzip 5.0p1 (ή νεότερες εκδόσεις) για να τα εξαγάγετε.

Δείτε την ενότητα ΠΑΡΑΔΕΙΓΜΑΤΑ στο κάτω μέρος αυτής της σελίδας για παραδείγματα ορισμένων τυπικών χρήσεων του zip.

Μεγάλα αρχεία και Zip64. Το zip χρησιμοποιεί αυτόματα τις επεκτάσεις Zip64 όταν αρχεία μεγαλύτερα από 4 GB προστίθενται σε ένα αρχείο, ένα αρχείο που περιέχει καταχωρήσεις Zip64 ενημερώνεται (εάν το προκύπτον αρχείο εξακολουθεί να χρειάζεται Zip64), το μέγεθος του αρχείου υπερβαίνει τα 4 GB ή όταν ο αριθμός των καταχωρήσεων στο αρχείο υπερβαίνει περίπου τα 64K. Το Zip64 χρησιμοποιείται επίσης για αρχεία ροής από την τυπική είσοδο, καθώς το μέγεθος αυτών των αρχείων δεν είναι γνωστό εκ των προτέρων, αλλά η επιλογή -fz- μπορεί να χρησιμοποιηθεί για να αναγκάσει το zip να δημιουργήσει αρχεία συμβατά με το PKZIP 2 (εφόσον δεν απαιτούνται επεκτάσεις Zip64). Πρέπει να χρησιμοποιήσετε ένα εργαλείο αποσυμπίεσης zip συμβατό με το PKZIP 4.5, όπως το unzip 6.0 ή νεότερο, για να εξαγάγετε αρχεία που χρησιμοποιούν τις επεκτάσεις Zip64.

Επιπλέον, αρχεία ροής, καταχωρήσεις κρυπτογραφημένες με τυπική κρυπτογράφηση ή αρχεία που έχουν χωριστεί και δημιουργηθεί με την επιλογή παύσης ενδέχεται να μην είναι συμβατά με το PKZIP καθώς χρησιμοποιούνται περιγραφείς δεδομένων και το PKZIP τη στιγμή της συγγραφής αυτού του κειμένου δεν υποστηρίζει περιγραφείς δεδομένων (αλλά οι πρόσφατες αλλαγές στο δημοσιευμένο πρότυπο zip της PKWare περιλαμβάνουν πλέον κάποια υποστήριξη για τη μορφή περιγραφής δεδομένων που χρησιμοποιεί το zip).


Mac OS X. Αν και οι προηγούμενες εκδόσεις του Mac είχαν τη δική τους θύρα zip, η zip υποστηρίζει το Mac OS X ως μέρος της θύρας Unix και οι περισσότερες λειτουργίες Unix ισχύουν. Οι αναφορές στο "MacOS" παρακάτω αναφέρονται γενικά σε εκδόσεις του MacOS παλαιότερες από το OS X. Η υποστήριξη για ορισμένα χαρακτηριστικά του Mac OS στην θύρα Mac OS X του Unix, όπως τα διακλαδωτά αρχεία πόρων, αναμένεται στην επόμενη έκδοση της zip.

Για μια σύντομη βοήθεια σχετικά με τις zip και unzip, εκτελέστε κάθε μία χωρίς να καθορίσετε παραμέτρους στη γραμμή εντολών.

ΧΡΗΣΗ

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

Η εντολή zip τοποθετεί ένα ή περισσότερα συμπιεσμένα αρχεία σε ένα ενιαίο αρχείο zip, μαζί με πληροφορίες σχετικά με τα αρχεία (όνομα, διαδρομή, ημερομηνία, ώρα τελευταίας τροποποίησης, προστασία και πληροφορίες ελέγχου για την επαλήθευση της ακεραιότητας του αρχείου). Μια ολόκληρη δομή καταλόγων μπορεί να συσκευαστεί σε ένα αρχείο zip με μία μόνο εντολή. Οι λόγοι συμπίεσης από 2:1 έως 3:1 είναι συνηθισμένοι για αρχεία κειμένου. Η zip έχει μία μέθοδο συμπίεσης (deflation) και μπορεί επίσης να αποθηκεύει αρχεία χωρίς συμπίεση. (Εάν προστεθεί υποστήριξη για bzip2, η zip μπορεί επίσης να συμπιέσει χρησιμοποιώντας συμπίεση bzip2, αλλά αυτές οι καταχωρήσεις απαιτούν μια σχετικά σύγχρονη unzip για αποσυμπίεση. Όταν επιλεγεί συμπίεση bzip2, αντικαθιστά την deflation ως την προεπιλεγμένη μέθοδο.) Η zip επιλέγει αυτόματα την καλύτερη από τις δύο (deflation ή αποθήκευση ή, εάν επιλεγεί bzip2, bzip2 ή αποθήκευση) για κάθε αρχείο που θα συμπιεστεί.

Μορφή εντολής. Η βασική μορφή εντολής είναι

zip επιλογές αρχείο διαδρομή_εισόδου διαδρομή_εισόδου ...

όπου το αρχείο είναι ένα νέο ή υπάρχον αρχείο zip και η διαδρομή_εισόδου είναι μια διαδρομή καταλόγου ή αρχείου που περιλαμβάνει προαιρετικά σύμβολα χαρακτήρων. Όταν δίνεται το όνομα ενός υπάρχοντος αρχείου zip, η zip θα αντικαταστήσει τις πανομοιότυπες καταχωρήσεις στο αρχείο zip (που ταιριάζουν με τα σχετικά ονόματα όπως είναι αποθηκευμένα στο αρχείο) ή θα προσθέσει καταχωρήσεις για νέα ονόματα. Για παράδειγμα, εάν το foo.zip υπάρχει και περιέχει τα foo/file1 και foo/file2, και ο κατάλογος foo περιέχει τα αρχεία foo/file1 και foo/file3, τότε:

zip -r foo.zip foo

ή πιο συνοπτικά

zip -r foo foo

θα αντικαταστήσει το foo/file1 στο foo.zip και θα προσθέσει το foo/file3 στο foo.zip. Μετά από αυτό, το foo.zip περιέχει τα foo/file1, foo/file2 και foo/file3, με το foo/file2 να παραμένει αμετάβλητο από πριν.

Έτσι, εάν πριν από την εκτέλεση της εντολής zip, το foo.zip έχει:

foo/file1 foo/file2

και ο κατάλογος foo έχει:

file1 file3

τότε το foo.zip θα έχει:

foo/file1 foo/file2 foo/file3

όπου το foo/file1 αντικαθίσταται και το foo/file3 είναι νέο.

-@ λίστα αρχείων. Εάν καθοριστεί μια λίστα αρχείων ως -@ [Δεν είναι διαθέσιμο στο MacOS], η zip παίρνει τη λίστα των αρχείων εισόδου από την τυπική είσοδο αντί από τη γραμμή εντολών. Για παράδειγμα,

zip -@ foo

θα αποθηκεύσει τα αρχεία που αναφέρονται ανά γραμμή στην τυπική είσοδο στο foo.zip.

Σε συστήματα Unix, αυτή η επιλογή μπορεί να χρησιμοποιηθεί με ισχυρό τρόπο σε συνδυασμό με την εντολή find (1). Για παράδειγμα, για να αρχειοθετήσετε όλα τα αρχεία πηγής C στον τρέχοντα κατάλογο και τους υποκαταλόγους του:

find . -name "*.[ch]" -print | zip source -@

(σημειώστε ότι το μοτίβο πρέπει να περικλείεται σε εισαγωγικά για να αποφευχθεί η επέκταση από το shell).

Ροή εισόδου και εξόδου. Το zip θα δεχτεί επίσης μια απλή παύλα ("-") ως όνομα αρχείου zip, οπότε θα γράψει το αρχείο zip στην τυπική έξοδο, επιτρέποντας στην έξοδο να διοχετευθεί σε ένα άλλο πρόγραμμα. Για παράδειγμα:

zip -r - . | dd of=/dev/nrst0 obs=16k

θα γράψει την έξοδο του zip απευθείας σε μια ταινία με το καθορισμένο μέγεθος μπλοκ για τον σκοπό της δημιουργίας αντιγράφου ασφαλείας του τρέχοντος καταλόγου.

Το zip δέχεται επίσης μια απλή παύλα ("-") ως όνομα αρχείου που θα συμπιεστεί, οπότε θα διαβάσει το αρχείο από την τυπική είσοδο, επιτρέποντας στο zip να λαμβάνει είσοδο από ένα άλλο πρόγραμμα. Για παράδειγμα:

tar cf - . | zip backup θα συμπιέσει την έξοδο της εντολής tar για τον σκοπό της δημιουργίας αντιγράφου ασφαλείας του τρέχοντος καταλόγου.

Αυτό συνήθως παράγει καλύτερη συμπίεση από το προηγούμενο παράδειγμα που χρησιμοποιεί την επιλογή -r επειδή το zip μπορεί να αξιοποιήσει την επανάληψη μεταξύ των αρχείων. Το αντίγραφο ασφαλείας μπορεί να επαναφερθεί χρησιμοποιώντας την εντολή

unzip -p backup | tar xfΌταν δεν δίνεται όνομα αρχείου zip και η τυπική έξοδος δεν είναι τερματικό, το zip λειτουργεί ως φίλτρο, συμπιέζοντας την τυπική είσοδο στην τυπική έξοδο. Για παράδειγμα,

tar cf - . | zip | dd of=/dev/nrst0 obs=16k

ισοδυναμεί με

tar cf - . | zip - - | dd of=/dev/nrst0 obs=16k

Τα αρχεία zip που δημιουργούνται με αυτόν τον τρόπο μπορούν να εξαχθούν με το πρόγραμμα funzip, το οποίο παρέχεται στο πακέτο unzip ή με το gunzip, το οποίο παρέχεται στο πακέτο gzip (αλλά ορισμένα gunzip ενδέχεται να μην το υποστηρίζουν εάν το zip χρησιμοποίησε τις επεκτάσεις Zip64). Για παράδειγμα:

dd if=/dev/nrst0  ibs=16k | funzip | tar xvfΗ ροή μπορεί επίσης να αποθηκευτεί σε ένα αρχείο και να χρησιμοποιηθεί το unzip.

Εάν η υποστήριξη Zip64 για μεγάλα αρχεία και αρχεία είναι ενεργοποιημένη και το zip χρησιμοποιείται ως φίλτρο, το zip δημιουργεί ένα αρχείο Zip64 που απαιτεί ένα συμβατό με PKZIP 4.5 ή μεταγενέστερο πρόγραμμα αποσυμπίεσης για να το διαβάσει. Αυτό γίνεται για να αποφευχθούν ασάφειες στη δομή του αρχείου zip, όπως ορίζεται στην τρέχουσα προδιαγραφή zip (PKWARE AppNote), όπου η απόφαση για τη χρήση του Zip64 πρέπει να λαμβάνεται πριν γραφτούν τα δεδομένα για την καταχώρηση, αλλά για μια ροή, το μέγεθος των δεδομένων δεν είναι γνωστό εκείνη τη στιγμή. Εάν είναι γνωστό ότι τα δεδομένα είναι μικρότερα από 4 GB, η επιλογή -fz- μπορεί να χρησιμοποιηθεί για να αποτρέψει τη χρήση του Zip64, αλλά το zip θα εξέλθει με σφάλμα εάν το Zip64 χρειαζόταν στην πραγματικότητα. Το zip 3 και το unzip 6 και νεότερες εκδόσεις μπορούν να διαβάσουν αρχεία με καταχωρήσεις Zip64. Επίσης, το zip αφαιρεί τις επεκτάσεις Zip64 εάν δεν είναι απαραίτητες κατά την αντιγραφή καταχωρήσεων αρχείου (δείτε την επιλογή -U (--copy)).

Όταν η έξοδος κατευθύνεται σε ένα άλλο αρχείο, σημειώστε ότι όλες οι επιλογές θα πρέπει να βρίσκονται πριν από την ανακατεύθυνση, συμπεριλαμβανομένου του -x. Για παράδειγμα:

zip archive "*.h" "*.c" -x donotinclude.h orthis.h > tofile

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

Εάν το όνομα του αρχείου zip δεν περιέχει επέκταση, η επέκταση .zip προστίθεται. Εάν το όνομα περιέχει ήδη μια επέκταση διαφορετική από το .zip, η υπάρχουσα επέκταση παραμένει αμετάβλητη. Ωστόσο, τα αρχεία που έχουν χωριστεί σε πολλά μέρη (split archives) απαιτούν την επέκταση .zip στο τελευταίο μέρος.

Σάρωση και ανάγνωση αρχείων. Όταν ξεκινά το zip, σαρώνει για αρχεία που πρέπει να επεξεργαστεί (εάν χρειάζεται). Εάν αυτή η σάρωση διαρκέσει περισσότερο από 5 δευτερόλεπτα, το zip θα εμφανίσει ένα μήνυμα "Σάρωση αρχείων" και θα αρχίσει να εμφανίζει τελείες προόδου κάθε 2 δευτερόλεπτα ή κάθε λίγες εγγραφές που έχουν επεξεργαστεί, ανάλογα με το ποιο συμβαίνει νωρίτερα. Εάν υπάρχει περισσότερο από 2 δευτερόλεπτα μεταξύ των τελειών, αυτό μπορεί να υποδεικνύει ότι η εύρεση κάθε αρχείου διαρκεί χρόνο και μπορεί να σημαίνει μια αργή σύνδεση δικτύου, για παράδειγμα. (Στην πραγματικότητα, η αρχική σάρωση αρχείων είναι μια διαδικασία δύο βημάτων, όπου η σάρωση καταλόγων ακολουθείται από μια ταξινόμηση και αυτά τα δύο βήματα διαχωρίζονται με ένα κενό στις τελείες. Εάν ενημερώνεται ένα υπάρχον αρχείο, ένα κενό εμφανίζεται επίσης μεταξύ της σάρωσης των υπαρχόντων αρχείων και της σάρωσης των νέων αρχείων.) Οι τελείες σάρωσης αρχείων δεν ελέγχονται από την επιλογή -ds dot size, αλλά οι τελείες απενεργοποιούνται από την επιλογή -q quiet. Η επιλογή -sf show files μπορεί να χρησιμοποιηθεί για να σαρωθούν τα αρχεία και να ληφθεί η λίστα των αρχείων που σαρώθηκαν χωρίς να τα επεξεργαστεί.

Εάν το zip δεν μπορεί να διαβάσει ένα αρχείο, εκδίδει μια προειδοποίηση αλλά συνεχίζει. Δείτε την επιλογή -MM παρακάτω για περισσότερες πληροφορίες σχετικά με τον τρόπο με τον οποίο το zip χειρίζεται μοτίβα που δεν ταιριάζουν και αρχεία που δεν είναι αναγνώσιμα. Εάν κάποια αρχεία παραλείφθηκαν, εκδίδεται μια προειδοποίηση στο τέλος της λειτουργίας του zip, υποδεικνύοντας πόσα αρχεία διαβάστηκαν και πόσα παραλείφθηκαν.

Λειτουργίες. Το zip υποστηρίζει πλέον δύο διακριτούς τύπους λειτουργιών, εξωτερικές και εσωτερικές. Οι εξωτερικές λειτουργίες (add, update και freshen) διαβάζουν αρχεία από το σύστημα αρχείων (καθώς και από ένα υπάρχον αρχείο), ενώ οι εσωτερικές λειτουργίες (delete και copy) λειτουργούν αποκλειστικά στις εγγραφές ενός υπάρχοντος αρχείου.

add

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

update (-u)

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

freshen (-f)

Ενημερώνει τις υπάρχουσες εγγραφές ενός αρχείου εάν είναι νεότερες στο σύστημα αρχείων. Δεν προσθέτει νέα αρχεία στο αρχείο.

delete (-d)

Επιλέγει εγγραφές σε ένα υπάρχον αρχείο και τις διαγράφει.

copy (-U)

Επιλέγει εγγραφές σε ένα υπάρχον αρχείο και τις αντιγράφει σε ένα νέο αρχείο. Αυτή η νέα λειτουργία είναι παρόμοια με την ενημέρωση, αλλά τα μοτίβα της γραμμής εντολών επιλέγουν εγγραφές στο υπάρχον αρχείο αντί για αρχεία από το σύστημα αρχείων και χρησιμοποιεί την επιλογή --out για να γράψει το προκύπτον αρχείο σε ένα νέο αρχείο αντί να ενημερώσει το υπάρχον αρχείο, αφήνοντας το αρχικό αρχείο αμετάβλητο.


Η νέα επιλογή Συγχρονισμού Αρχείων (-FS) θεωρείται επίσης μια νέα λειτουργία, αν και είναι παρόμοια με την ενημέρωση. Αυτή η λειτουργία συγχρονίζει το αρχείο με τα αρχεία στο λειτουργικό σύστημα, αντικαθιστώντας μόνο τα αρχεία στο αρχείο αν η ώρα ή το μέγεθος του αρχείου στο λειτουργικό σύστημα είναι διαφορετικά, προσθέτοντας νέα αρχεία και διαγράφοντας εγγραφές από το αρχείο όπου δεν υπάρχει αντίστοιχο αρχείο. Δεδομένου ότι αυτή η λειτουργία μπορεί να διαγράψει εγγραφές από το αρχείο, σκεφτείτε να δημιουργήσετε ένα αντίγραφο ασφαλείας του αρχείου.

Δείτε επίσης την επιλογή -DF για τη δημιουργία αρχείων διαφορών.

Δείτε την περιγραφή κάθε επιλογής παρακάτω για λεπτομέρειες και την ενότητα ΠΑΡΑΔΕΙΓΜΑΤΑ παρακάτω για παραδείγματα.

Διαχωρισμένα αρχεία. Η έκδοση 3.0 και νεότερη του zip μπορεί να δημιουργήσει διαχωρισμένα αρχεία. Ένα διαχωρισμένο αρχείο είναι ένα τυπικό αρχείο zip που έχει χωριστεί σε πολλά αρχεία. (Σημειώστε ότι τα διαχωρισμένα αρχεία δεν είναι απλώς αρχεία που έχουν χωριστεί σε κομμάτια, καθώς οι μετατοπίσεις των εγγραφών βασίζονται πλέον στην αρχή κάθε διαχωρισμένου τμήματος. Η συνένωση των τμημάτων θα ακυρώσει αυτές τις μετατοπίσεις, αλλά το unzip μπορεί συνήθως να το διαχειριστεί. Το zip συνήθως αρνείται να επεξεργαστεί ένα τέτοιο αρχείο που έχει συνενωθεί, εκτός εάν χρησιμοποιηθεί η επιλογή διόρθωσης -FF για να διορθωθούν οι μετατοπίσεις.)

Μια χρήση των διαχωρισμένων αρχείων είναι η αποθήκευση ενός μεγάλου αρχείου σε πολλαπλά αφαιρούμενα μέσα. Για ένα διαχωρισμένο αρχείο με 20 διαχωρισμένα αρχεία, τα αρχεία συνήθως έχουν την ονομασία (αντικαταστήστε το ARCHIVE με το όνομα του αρχείου σας) ARCHIVE.z01, ARCHIVE.z02, ..., ARCHIVE.z19, ARCHIVE.zip. Σημειώστε ότι το τελευταίο αρχείο είναι το αρχείο .zip. Αντίθετα, τα αρχεία πολλαπλών δίσκων είναι τα αρχικά αρχεία πολλαπλών δίσκων που χρησιμοποιούν ετικέτες τόμου για την αποθήκευση των αριθμών δίσκων. Το zip υποστηρίζει διαχωρισμένα αρχεία, αλλά όχι αρχεία πολλαπλών δίσκων, αν και υπάρχει μια διαδικασία για τη μετατροπή διαχωρισμένων αρχείων του σωστού μεγέθους σε αρχεία πολλαπλών δίσκων. Το αντίστροφο ισχύει επίσης, όπου κάθε αρχείο ενός αρχείου πολλαπλών δίσκων μπορεί να αντιγραφεί με τη σειρά σε αρχεία με τις παραπάνω ονομασίες για να δημιουργηθεί ένα διαχωρισμένο αρχείο.

Χρησιμοποιήστε την επιλογή -s για να ορίσετε το μέγεθος διαχωρισμού και να δημιουργήσετε ένα διαχωρισμένο αρχείο. Το μέγεθος δίνεται ως αριθμός ακολουθούμενος προαιρετικά από ένα από τα k (KB), m (MB), g (GB) ή t (TB) (η προεπιλογή είναι m). Η επιλογή -sp μπορεί να χρησιμοποιηθεί για να κάνει παύση το zip μεταξύ των διαχωρισμών, ώστε να μπορείτε να αλλάξετε αφαιρούμενα μέσα, για παράδειγμα, αλλά διαβάστε τις περιγραφές και τις προειδοποιήσεις για τις επιλογές -s και -sp παρακάτω.

Αν και το zip δεν ενημερώνει διαχωρισμένα αρχεία, το zip παρέχει τη νέα επιλογή -O (--output-file ή --out) για να επιτρέψει στα διαχωρισμένα αρχεία να ενημερώνονται και να αποθηκεύονται σε ένα νέο αρχείο. Για παράδειγμα,

zip inarchive.zip foo.c bar.c --out outarchive.zip

διαβάζει το αρχείο inarchive.zip, ακόμη και αν είναι διαχωρισμένο, προσθέτει τα αρχεία foo.c και bar.c και γράφει το προκύπτον αρχείο στο outarchive.zip. Εάν το inarchive.zip είναι διαχωρισμένο, τότε το outarchive.zip έχει προεπιλογή το

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

Unicode. Αν και το πρότυπο zip απαιτεί την αποθήκευση διαδρομών σε ένα αρχείο χρησιμοποιώντας ένα συγκεκριμένο σύνολο χαρακτήρων, στην πράξη τα zip έχουν αποθηκεύσει διαδρομές σε αρχεία χρησιμοποιώντας το τοπικό σύνολο χαρακτήρων. Αυτό δημιουργεί προβλήματα όταν ένα αρχείο δημιουργείται ή ενημερώνεται σε ένα σύστημα που χρησιμοποιεί ένα σύνολο χαρακτήρων και στη συνέχεια εξάγεται σε ένα άλλο σύστημα που χρησιμοποιεί ένα διαφορετικό σύνολο χαρακτήρων. Όταν έχει μεταγλωττιστεί με υποστήριξη Unicode σε πλατφόρμες που υποστηρίζουν ευρείς χαρακτήρες, το zip αποθηκεύει πλέον, επιπλέον της τυπικής τοπικής διαδρομής για συμβατότητα με παλαιότερες εκδόσεις, τη μετάφραση UTF-8 της διαδρομής. Αυτό παρέχει ένα κοινό, καθολικό σύνολο χαρακτήρων για την αποθήκευση διαδρομών που επιτρέπει σε αυτές τις διαδρομές να εξάγονται πλήρως σε άλλα συστήματα που υποστηρίζουν το Unicode και να ταιριάζουν όσο το δυνατόν καλύτερα σε συστήματα που δεν το υποστηρίζουν.


Στα συστήματα Win32, όπου οι διαδρομές αποθηκεύονται εσωτερικά ως Unicode αλλά αναπαρίστανται στην τοπική σελίδα χαρακτήρων, είναι πιθανό ορισμένες διαδρομές να παραλειφθούν κατά τη διάρκεια μιας σάρωσης καταλόγου με τοπική σελίδα χαρακτήρων. Το zip με υποστήριξη Unicode μπορεί πλέον να διαβάσει και να αποθηκεύσει αυτές τις διαδρομές. Σημειώστε ότι τα συστήματα Win 9x και τα συστήματα αρχείων FAT δεν υποστηρίζουν πλήρως το Unicode.

Να γνωρίζετε ότι τα παράθυρα κονσόλας στα Win32 και τα Unix, για παράδειγμα, μερικές φορές δεν εμφανίζουν σωστά όλους τους χαρακτήρες λόγω του τρόπου με τον οποίο κάθε λειτουργικό σύστημα αλλάζει τις σελίδες χαρακτήρων για την εμφάνιση. Ωστόσο, τα εργαλεία πλοήγησης καταλόγων θα πρέπει να εμφανίζουν τις σωστές διαδρομές εάν έχουν φορτωθεί οι απαραίτητες γραμματοσειρές.

Μορφή γραμμής εντολών. Αυτή η έκδοση του zip διαθέτει ενημερωμένη επεξεργασία γραμμής εντολών και υποστήριξη για μεγάλες επιλογές.

Οι σύντομες επιλογές έχουν τη μορφή

-s[-][s[-]...][τιμή][=τιμή][ τιμή]

όπου το s είναι μια σύντομη επιλογή ενός ή δύο χαρακτήρων. Μια σύντομη επιλογή που δέχεται μια τιμή είναι η τελευταία σε ένα όρισμα και οτιδήποτε ακολουθεί θεωρείται η τιμή. Εάν η επιλογή μπορεί να αρνηθεί και ακολουθεί αμέσως το "-", η επιλογή αρνείται. Οι σύντομες επιλογές μπορούν επίσης να δοθούν ως ξεχωριστά ορίσματα

-s[-][τιμή][=τιμή][ τιμή] -s[-][τιμή][=τιμή][ τιμή] ...

Οι σύντομες επιλογές γενικά δέχονται τιμές είτε ως μέρος του ίδιου του ορίσματος είτε ως το επόμενο όρισμα. Υποστηρίζεται επίσης ένα προαιρετικό "=". Έτσι

-ttmmddyyyy

και

-tt=mmddyyyy

και

-tt mmddyyyy

όλα λειτουργούν. Οι επιλογές -x και -i δέχονται λίστες τιμών και χρησιμοποιούν μια ελαφρώς διαφορετική μορφή που περιγράφεται παρακάτω. Δείτε τις επιλογές -x και -i.

Οι μεγάλες επιλογές έχουν τη μορφή

--μεγάληεπιλογή[-][=τιμή][ τιμή]

όπου η επιλογή ξεκινά με --, έχει ένα όνομα πολλαπλών χαρακτήρων, μπορεί να περιλαμβάνει μια τελική παύλα για να αρνηθεί την επιλογή (εάν η επιλογή το υποστηρίζει) και μπορεί να έχει μια τιμή (όρισμα επιλογής) που καθορίζεται τοποθετώντας το "=" μπροστά από αυτήν (χωρίς κενά). Οι τιμές μπορούν επίσης να ακολουθούν το όρισμα. Έτσι

--ημερομηνία-πριν=mmddyyyy

και

--ημερομηνία-πριν mmddyyyy

και τα δύο λειτουργούν.

Τα ονόματα μεγάλων επιλογών μπορούν να συντομευτούν στη συντομότερη μοναδική συντομογραφία. Δείτε τις περιγραφές επιλογών παρακάτω για το ποιες υποστηρίζουν μεγάλες επιλογές. Για να αποφύγετε τη σύγχυση, αποφύγετε τη συντομογραφία μιας επιλογής που μπορεί να αρνηθεί και περιέχει μια ενσωματωμένη παύλα ("-") στην παύλα εάν σκοπεύετε να την αρνηθείτε (ο αναλυτής θα θεωρήσει την τελική παύλα, όπως για την επιλογή --κάποια-επιλογή που χρησιμοποιεί --κάποια- ως την επιλογή, ως μέρος του ονόματος αντί μιας παύλας που αρνείται). Αυτό μπορεί να αλλάξει ώστε να αναγκάζει την τελευταία παύλα στο --κάποια να είναι η παύλα που αρνείται στο μέλλον.


ΕΠΙΛΟΓΕΣ

-a
--ascii
[Συστήματα που χρησιμοποιούν EBCDIC] Μετατρέψτε το αρχείο σε μορφή ASCII.

-A
--adjust-sfx
Προσαρμόστε το εκτελέσιμο αρχείο αυτο-αποσυμπίεσης. Ένα εκτελέσιμο αρχείο αυτο-αποσυμπίεσης δημιουργείται προσθέτοντας την ενότητα SFX σε ένα υπάρχον αρχείο. Η επιλογή -A λέει στο zip να προσαρμόσει τις θέσεις καταχωρήσεων που είναι αποθηκευμένες στο αρχείο, ώστε να λαμβάνει υπόψη αυτά τα δεδομένα "προλόγου".

Σημείωση: Τα εκτελέσιμα αρχεία αυτο-αποσυμπίεσης για το Amiga είναι μια ειδική περίπτωση. Προς το παρόν, μόνο η έκδοση του zip για το Amiga είναι ικανή να προσαρμόσει ή να ενημερώσει αυτά χωρίς να τα καταστρέψει. Η επιλογή -J μπορεί να χρησιμοποιηθεί για την αφαίρεση της ενότητας SFX εάν χρειαστεί να γίνουν άλλες ενημερώσεις.

-AC
--archive-clear
[WIN32] Αφού δημιουργηθεί το αρχείο (και ελεγχθεί εάν χρησιμοποιείται η επιλογή -T, η οποία συνιστάται), διαγράψτε τα bit αρχείου των αρχείων που έχουν υποστεί επεξεργασία. ΠΡΟΣΟΧΗ: Μόλις διαγραφούν τα bit, διαγράφονται οριστικά.

Μπορεί να θέλετε να χρησιμοποιήσετε την επιλογή -sf show files για να αποθηκεύσετε τη λίστα των αρχείων που έχουν υποστεί επεξεργασία, σε περίπτωση που η λειτουργία αρχειοθέτησης πρέπει να επαναληφθεί. Επίσης, εξετάστε το ενδεχόμενο να χρησιμοποιήσετε την επιλογή -MM must match. Βεβαιωθείτε ότι έχετε ελέγξει την επιλογή -DF ως μια πιθανώς καλύτερη μέθοδο για τη δημιουργία αυξητικών αντιγράφων ασφαλείας.

-AS
--archive-set
[WIN32] Συμπεριλάβετε μόνο τα αρχεία που έχουν το bit αρχείου ενεργοποιημένο. Οι κατάλογοι δεν αποθηκεύονται όταν χρησιμοποιείται η επιλογή -AS, αν και από προεπιλογή, οι διαδρομές των καταχωρήσεων, συμπεριλαμβανομένων των καταλόγων, αποθηκεύονται κανονικά και μπορούν να χρησιμοποιηθούν από τα περισσότερα προγράμματα αποσυμπίεσης για την αναδημιουργία των καταλόγων.

Το bit αρχείου ορίζεται από το λειτουργικό σύστημα όταν ένα αρχείο τροποποιείται και, όταν χρησιμοποιείται με την επιλογή -AC, η επιλογή -AS μπορεί να παρέχει μια λειτουργία αυξητικού αντιγράφου ασφαλείας. Ωστόσο, άλλες εφαρμογές μπορούν να τροποποιήσουν το bit αρχείου και μπορεί να μην είναι ένας αξιόπιστος δείκτης για το ποια αρχεία έχουν αλλάξει από την τελευταία λειτουργία αρχειοθέτησης. Εναλλακτικοί τρόποι για τη δημιουργία αυξητικών αντιγράφων ασφαλείας είναι η χρήση της επιλογής -t για τη χρήση των ημερομηνιών αρχείων, αν και αυτό δεν θα εντοπίσει παλιά αρχεία που έχουν αντιγραφεί σε καταλόγους που αρχειοθετούνται και η επιλογή -DF για τη δημιουργία ενός διαφορικού αρχείου.

-B
--binary
[VM/CMS και MVS] αναγκάστε το αρχείο να διαβαστεί ως δυαδικό (η προεπιλογή είναι κείμενο).

-Bn    [TANDEM] ορίστε τις επιλογές μορφοποίησης Edit/Enscribe με το n να ορίζεται ως
bit 0: Μην προσθέσετε τον οριοθέτη (Edit/Enscribe)
bit 1: Χρησιμοποιήστε το LF αντί του CR/LF ως οριοθέτη (Edit/Enscribe)
bit 2: Γεμίστε με διαστήματα την εγγραφή έως το μέγιστο μήκος εγγραφής (Enscribe)
bit 3: Αφαιρέστε τα τερματικά διαστήματα (Enscribe)
bit 8: Αναγκάστε τη μεγάλη ανάγνωση 30K (Expand) για μη δομημένα αρχεία

-b path
--temp-path path
Χρησιμοποιήστε την καθορισμένη διαδρομή για το προσωρινό αρχείο zip. Για παράδειγμα:

zip -b /tmp stuff *

θα τοποθετήσει το προσωρινό αρχείο zip στον κατάλογο /tmp, αντιγράφοντας το stuff.zip στον τρέχοντα κατάλογο όταν ολοκληρωθεί. Αυτή η επιλογή είναι χρήσιμη κατά την ενημέρωση ενός υπάρχοντος αρχείου και το σύστημα αρχείων που περιέχει αυτό το παλιό αρχείο δεν διαθέτει αρκετό χώρο για να περιέχει τόσο το παλιό όσο και το νέο αρχείο ταυτόχρονα. Μπορεί επίσης να είναι χρήσιμο κατά την ροή δεδομένων σε ορισμένες περιπτώσεις, για να αποφευχθεί η ανάγκη για περιγραφείς δεδομένων. Σημειώστε ότι η χρήση αυτής της επιλογής μπορεί να απαιτήσει από το zip να αφιερώσει επιπλέον χρόνο για να αντιγράψει το αρχείο όταν ολοκληρωθεί στην τελική τοποθεσία.


-c
--entry-comments
Προσθέτει σχόλια μιας γραμμής για κάθε αρχείο. Οι λειτουργίες αρχείων (προσθήκη, ενημέρωση) εκτελούνται πρώτα και στη συνέχεια ο χρήστης καλείται να εισαγάγει ένα σχόλιο μιας γραμμής για κάθε αρχείο. Εισαγάγετε το σχόλιο και πατήστε Enter ή απλώς πατήστε Enter για να μην εισαχθεί σχόλιο.

-C
--preserve-case
[VMS] Διατηρεί τα κεφαλαία σε όλα τα VMS. Η ακύρωση αυτής της επιλογής (-C-) μετατρέπει τα πάντα σε πεζά.

-C2
--preserve-case-2
[VMS] Διατηρεί τα κεφαλαία ODS2 στα VMS. Η ακύρωση αυτής της επιλογής (-C2-) μετατρέπει τα πάντα σε πεζά.

-C5
--preserve-case-5
[VMS] Διατηρεί τα κεφαλαία ODS5 στα VMS. Η ακύρωση αυτής της επιλογής (-C5-) μετατρέπει τα πάντα σε πεζά.

-d
--delete
Αφαιρεί (διαγράφει) καταχωρήσεις από ένα αρχείο zip. Για παράδειγμα:

zip -d foo foo/tom/junk foo/harry/\* \*.o

θα αφαιρέσει την καταχώρηση foo/tom/junk, όλα τα αρχεία που ξεκινούν με foo/harry/ και όλα τα αρχεία που τελειώνουν με .o (σε οποιαδήποτε διαδρομή). Σημειώστε ότι η επέκταση των ονομάτων αρχείων στο κέλυφος έχει κατασταλεί με κάθετες γραμμές, ώστε το zip να μπορεί να δει τους αστερίσκους, επιτρέποντας στο zip να αντιστοιχεί στο περιεχόμενο του αρχείου zip αντί για το περιεχόμενο του τρέχοντος καταλόγου. (Οι κάθετες γραμμές δεν χρησιμοποιούνται σε πλατφόρμες που βασίζονται στα MSDOS.) Μπορεί επίσης να χρησιμοποιήσει εισαγωγικά για να διαφύγει τους αστερίσκους, όπως στο

zip -d foo foo/tom/junk "foo/harry/*" "*.o"

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

Στα MSDOS, η επιλογή -d είναι ευαίσθητη στα κεφαλαία όταν αντιστοιχεί ονόματα στο αρχείο zip. Αυτό απαιτεί τα ονόματα αρχείων να εισάγονται με κεφαλαία εάν είχαν αρχειοθετηθεί από το PKZIP σε ένα σύστημα MSDOS. (Σκεφτήκαμε να το κάνουμε μη ευαίσθητο στα κεφαλαία στα συστήματα όπου οι διαδρομές δεν διακρίνουν τα κεφαλαία, αλλά είναι πιθανό το αρχείο να προέρχεται από ένα σύστημα όπου τα κεφαλαία έχουν σημασία και το αρχείο θα μπορούσε να περιλαμβάνει τόσο το Bar όσο και το bar ως ξεχωριστά αρχεία στο αρχείο.) Δείτε όμως τη νέα επιλογή -ic για να αγνοήσετε τα κεφαλαία στο αρχείο.

-db
--display-bytes
Εμφανίζει τις τρέχουσες τιμές των byte, δείχνοντας τα byte που συμπιέστηκαν και τα byte που απομένουν.

-dc
--display-counts
Εμφανίζει την τρέχουσα μέτρηση των καταχωρήσεων που συμπιέστηκαν και των καταχωρήσεων που απομένουν.

-dd
--display-dots
Εμφανίζει κουκκίδες κατά τη συμπίεση κάθε καταχώρησης (εκτός από τις θύρες που έχουν τη δική τους ένδειξη προόδου). Δείτε την επιλογή -ds παρακάτω για τον καθορισμό του μεγέθους της κουκκίδας. Η προεπιλογή είναι μια κουκκίδα για κάθε 10 MB εισόδου αρχείου που υποβάλλεται σε επεξεργασία. Η επιλογή -v εμφανίζει επίσης κουκκίδες (προηγουμένως με πολύ μεγαλύτερο ρυθμό από αυτό, αλλά τώρα η επιλογή -v έχει επίσης προεπιλογή 10 MB) και αυτός ο ρυθμός ελέγχεται επίσης από την επιλογή -ds.

-df
--datafork
[MacOS] Συμπεριλάβετε μόνο το τμήμα δεδομένων των αρχείων που συμπιέζονται στο αρχείο. Καλό για εξαγωγή αρχείων σε ξένα λειτουργικά συστήματα. Τα τμήματα πόρων θα αγνοηθούν πλήρως.

-dg
--display-globaldots
Εμφανίζει κουκκίδες προόδου για το αρχείο αντί για κάθε αρχείο. Η εντολή

zip -qdgds 10m

θα απενεργοποιήσει τις περισσότερες εξόδους εκτός από τελείες κάθε 10 MB.

-ds μέγεθος
--dot-size μέγεθος

Ορίζει την ποσότητα του αρχείου εισόδου που θα υποβληθεί σε επεξεργασία για κάθε τελεία που θα εμφανίζεται. Δείτε την επιλογή -dd για να ενεργοποιήσετε την εμφάνιση τελειών. Η ρύθμιση αυτής της επιλογής συνεπάγεται την ενεργοποίηση της -dd. Το μέγεθος είναι στη μορφή nm, όπου το n είναι ένας αριθμός και το m είναι ένας πολλαπλασιαστής. Επί του παρόντος, το m μπορεί να είναι k (KB), m (MB), g (GB) ή t (TB), οπότε εάν το n είναι 100 και το m είναι k, το μέγεθος θα είναι 100k, το οποίο είναι 100 KB. Η προεπιλογή είναι 10 MB.

Η επιλογή -v εμφανίζει επίσης τελείες και πλέον έχει προεπιλογή 10 MB. Αυτός ο ρυθμός ελέγχεται επίσης από αυτήν την επιλογή. Ένα μέγεθος 0 απενεργοποιεί τις τελείες.

-du
--display-usize

Εμφανίζει το μέγεθος του μη συμπιεσμένου κάθε στοιχείου.

-dv
--display-volume

Εμφανίζει τον αριθμό δίσκου (volume) από τον οποίο διαβάζεται κάθε στοιχείο, εάν διαβάζεται από ένα υπάρχον αρχείο, και στον οποίο γράφεται.

-D
--no-dir-entries

Μην δημιουργείτε εγγραφές για καταλόγους στο αρχείο zip. Οι εγγραφές καταλόγων δημιουργούνται από προεπιλογή, ώστε τα χαρακτηριστικά τους να μπορούν να αποθηκευτούν στο αρχείο zip. Η μεταβλητή περιβάλλοντος ZIPOPT μπορεί να χρησιμοποιηθεί για να αλλάξει τις προεπιλεγμένες επιλογές. Για παράδειγμα, σε ένα σύστημα Unix με το sh:

ZIPOPT="-D"; export ZIPOPT

(Η μεταβλητή ZIPOPT μπορεί να χρησιμοποιηθεί για οποιαδήποτε επιλογή, συμπεριλαμβανομένων των -i και -x, χρησιμοποιώντας μια νέα μορφή επιλογής, όπως περιγράφεται παρακάτω, και μπορεί να περιλαμβάνει πολλές επιλογές.) Η επιλογή -D είναι μια συντομογραφία για την επιλογή -x "*/", αλλά η τελευταία δεν μπορούσε προηγουμένως να οριστεί ως προεπιλογή στη μεταβλητή περιβάλλοντος ZIPOPT, καθώς το περιεχόμενο του ZIPOPT εισάγεται κοντά στην αρχή της γραμμής εντολών και η λίστα αρχείων έπρεπε να τελειώνει στο τέλος της γραμμής.

Αυτή η έκδοση του zip επιτρέπει τις επιλογές -x και -i στο ZIPOPT, εάν χρησιμοποιείται η μορφή

-x αρχείο αρχείο ... @

όπου το @ (ένα όρισμα που είναι απλώς @) τερματίζει τη λίστα.

-DF
--difference-archive

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

Για παράδειγμα, εάν το υπάρχον αρχείο δημιουργήθηκε χρησιμοποιώντας

zip -r foofull .

από τον κατάλογο bar, τότε η εντολή

zip -r foofull . -DF --out foonew

επίσης από τον κατάλογο bar, δημιουργεί το αρχείο foonew με μόνο τα αρχεία που δεν υπάρχουν στο foofull και τα αρχεία όπου το μέγεθος ή η ώρα των αρχείων δεν ταιριάζουν με αυτά στο foofull.

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

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

-e
--encrypt

Κρυπτογραφήστε τα περιεχόμενα του αρχείου zip χρησιμοποιώντας έναν κωδικό πρόσβασης που εισάγεται στην κονσόλα σε απάντηση σε μια προτροπή (αυτός δεν θα εμφανίζεται στην οθόνη· εάν η τυπική έξοδος δεν είναι ένα τερματικό, το zip θα τερματιστεί με σφάλμα). Η προτροπή για τον κωδικό πρόσβασης επαναλαμβάνεται για να αποφευχθούν τυπογραφικά λάθη.


-E
--longnames
[OS/2] Χρησιμοποιήστε το Επεκτεταμένο Χαρακτηριστικό .LONGNAME (εάν βρεθεί) ως όνομα αρχείου.

-f
--freshen

Αντικαταστήστε (ανανεώστε) μια υπάρχουσα εγγραφή στο αρχείο zip μόνο εάν έχει τροποποιηθεί πιο πρόσφατα από την έκδοση που υπάρχει ήδη στο αρχείο zip. σε αντίθεση με την επιλογή ενημέρωσης (-u), αυτό δεν θα προσθέσει αρχεία που δεν υπάρχουν ήδη στο αρχείο zip. Για παράδειγμα:

zip -f foo

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

Σημειώστε ότι η μεταβλητή περιβάλλοντος TZ θα πρέπει να είναι ρυθμισμένη στην τοπική ζώνη ώρας, προκειμένου οι επιλογές -f, -u και -o να λειτουργούν σωστά.

Οι λόγοι πίσω από αυτό είναι κάπως λεπτοί, αλλά σχετίζονται με τις διαφορές μεταξύ των ωρών αρχείου μορφής Unix (πάντα σε GMT) και των περισσότερων άλλων λειτουργικών συστημάτων (πάντα τοπική ώρα) και την ανάγκη σύγκρισης των δύο. Μια τυπική τιμή TZ είναι ``MET-1MEST'' (Κεντρική Ευρωπαϊκή Ώρα με αυτόματη προσαρμογή για «θερινή ώρα» ή θερινή ώρα).

Η μορφή είναι TTThhDDD, όπου το TTT είναι η ζώνη ώρας, όπως το MET, το hh είναι η διαφορά μεταξύ GMT και της τοπικής ώρας, όπως το -1 παραπάνω, και το DDD είναι η ζώνη ώρας κατά την οποία ισχύει η θερινή ώρα. Αφήστε εκτός το DDD εάν δεν υπάρχει θερινή ώρα. Για την ανατολική ζώνη ώρας των ΗΠΑ EST5EDT.

-F
--fix
-FF
--fixfix

Διορθώστε το αρχείο zip. Η επιλογή -F μπορεί να χρησιμοποιηθεί εάν ορισμένα τμήματα του αρχείου είναι ελλιπή, αλλά απαιτεί ένα εύλογα άθικτο κεντρικό ευρετήριο. Το αρχείο εισόδου σαρώται κανονικά, αλλά το zip θα αγνοήσει ορισμένα προβλήματα. Το προκύπτον αρχείο θα πρέπει να είναι έγκυρο, αλλά τυχόν ασυνεπείς εγγραφές θα παραλειφθούν.

Όταν διπλασιάζεται ως -FF, το αρχείο σαρώζεται από την αρχή και το zip σαρώνει για ειδικές υπογραφές για να προσδιορίσει τα όρια μεταξύ των μελών του αρχείου. Η απλή επιλογή -F είναι πιο αξιόπιστη εάν το αρχείο δεν είναι πολύ κατεστραμμένο, οπότε δοκιμάστε πρώτα αυτήν την επιλογή.

Εάν το αρχείο είναι πολύ κατεστραμμένο ή το τέλος έχει περικοπεί, πρέπει να χρησιμοποιήσετε το -FF. Αυτή είναι μια αλλαγή από το zip 2.32, όπου η επιλογή -F είναι σε θέση να διαβάσει ένα περικομμένο αρχείο. Η επιλογή -F διορθώνει πλέον πιο αξιόπιστα αρχεία με μικρές ζημιές και η επιλογή -FF είναι απαραίτητη για τη διόρθωση αρχείων όπου το -F θα μπορούσε να ήταν αρκετό στο παρελθόν.

Καμία από αυτές τις επιλογές δεν θα ανακτήσει αρχεία που έχουν μεταφερθεί εσφαλμένα σε μορφή ascii αντί για δυαδική. Μετά την επιδιόρθωση, η επιλογή -t του unzip ενδέχεται να δείξει ότι ορισμένα αρχεία έχουν κακό CRC. Τέτοια αρχεία δεν μπορούν να ανακτηθούν. μπορείτε να τα αφαιρέσετε από το αρχείο χρησιμοποιώντας την επιλογή -d του zip.

Σημειώστε ότι το -FF ενδέχεται να αντιμετωπίσει δυσκολίες κατά την επιδιόρθωση αρχείων που περιλαμβάνουν ένα ενσωματωμένο αρχείο zip που έχει αποθηκευτεί (χωρίς συμπίεση) στο αρχείο και, ανάλογα με τις ζημιές, ενδέχεται να βρει τις εγγραφές στο ενσωματωμένο αρχείο και όχι στο ίδιο το αρχείο. Δοκιμάστε πρώτα το -F, καθώς δεν έχει αυτό το πρόβλημα.


Η μορφή των εντολών επιδιόρθωσης έχει αλλάξει. Για παράδειγμα, για να επιδιορθώσετε το κατεστραμμένο αρχείο foo.zip,

zip -F foo --out foofix

προσπαθεί να διαβάσει τις καταχωρήσεις κανονικά, αντιγράφοντας τις καλές καταχωρήσεις στο νέο αρχείο foofix.zip. Εάν αυτό δεν λειτουργήσει, όπως όταν το αρχείο είναι περικομμένο ή εάν ορισμένες καταχωρήσεις που γνωρίζετε ότι υπάρχουν στο αρχείο λείπουν, δοκιμάστε

zip -FF foo --out foofixfix

και συγκρίνετε το προκύπτον αρχείο με το αρχείο που δημιουργήθηκε με την επιλογή -F. Η επιλογή -FF ενδέχεται να δημιουργήσει ένα ασυνεπές αρχείο. Ανάλογα με το τι έχει υποστεί ζημιά, μπορείτε στη συνέχεια να χρησιμοποιήσετε την επιλογή -F για να επιδιορθώσετε αυτό το αρχείο.

Ένα χωρισμένο αρχείο με ελλιπείς αρχεία μπορεί να επιδιορθωθεί χρησιμοποιώντας την επιλογή -F εάν έχετε το τελευταίο τμήμα του αρχείου (το αρχείο .zip). Εάν αυτό το αρχείο λείπει, πρέπει να χρησιμοποιήσετε την επιλογή -FF για να επιδιορθώσετε το αρχείο, η οποία θα σας ζητήσει τα τμήματα που έχετε.

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

-FI
--fifo [Unix] Συνήθως, το zip παραλείπει την ανάγνωση οποιωνδήποτε FIFOs (ονομαστικών σωλήνων) που συναντά, καθώς το zip μπορεί να κολλήσει εάν το FIFO δεν τροφοδοτείται. Αυτή η επιλογή λέει στο zip να διαβάσει το περιεχόμενο οποιουδήποτε FIFO που βρίσκει.

-FS
--filesync

Συγχρονίστε το περιεχόμενο ενός αρχείου με τα αρχεία στο λειτουργικό σύστημα. Συνήθως, όταν ενημερώνεται ένα αρχείο, προστίθενται νέα αρχεία και ενημερώνονται τα τροποποιημένα αρχεία, αλλά τα αρχεία που δεν υπάρχουν πλέον στο λειτουργικό σύστημα δεν διαγράφονται από το αρχείο. Αυτή η επιλογή ενεργοποιεί μια νέα λειτουργία που ελέγχει τις καταχωρήσεις στο αρχείο έναντι του συστήματος αρχείων. Εάν η ώρα και το μέγεθος του αρχείου της καταχώρησης ταιριάζουν με αυτά του αρχείου του λειτουργικού συστήματος, η καταχώρηση αντιγράφεται από το παλιό αρχείο αντί να διαβαστεί από το σύστημα αρχείων και να συμπιεστεί. Εάν το αρχείο του λειτουργικού συστήματος έχει αλλάξει, η καταχώρηση διαβάζεται και συμπιέζεται όπως συνήθως. Εάν η καταχώρηση στο αρχείο δεν ταιριάζει με ένα αρχείο στο λειτουργικό σύστημα, η καταχώρηση διαγράφεται. Η ενεργοποίηση αυτής της επιλογής θα πρέπει να δημιουργήσει αρχεία που είναι ίδια με τα νέα αρχεία, αλλά επειδή οι υπάρχουσες καταχωρήσεις αντιγράφονται αντί να συμπιέζονται, η ενημέρωση ενός υπάρχοντος αρχείου με την επιλογή -FS μπορεί να είναι πολύ πιο γρήγορη από τη δημιουργία ενός νέου αρχείου. Επίσης, εξετάστε το ενδεχόμενο να χρησιμοποιήσετε την επιλογή -u για την ενημέρωση ενός αρχείου.

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

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

Αυτή η επιλογή διαγράφει αρχεία από το αρχείο. Εάν πρέπει να διατηρήσετε το αρχικό αρχείο, δημιουργήστε πρώτα ένα αντίγραφο του αρχείου ή χρησιμοποιήστε την επιλογή --out για να εξάγετε το ενημερωμένο αρχείο σε ένα νέο αρχείο. Ακόμα και αν μπορεί να είναι πιο αργό, η δημιουργία ενός νέου αρχείου με ένα νέο όνομα αρχείου είναι ασφαλέστερη, αποφεύγει ασυμφωνίες μεταξύ των διαδρομών του αρχείου και του λειτουργικού συστήματος και είναι προτιμότερη.


-g
--grow
Αυξάνει (προσθέτει) το καθορισμένο αρχείο zip, αντί να δημιουργεί ένα νέο. Εάν αυτή η λειτουργία αποτύχει, το zip προσπαθεί να επαναφέρει το αρχείο στην αρχική του κατάσταση. Εάν η επαναφορά αποτύχει, το αρχείο ενδέχεται να καταστραφεί. Αυτή η επιλογή αγνοείται εάν δεν υπάρχει υπάρχον αρχείο ή εάν τουλάχιστον ένα μέλος του αρχείου πρέπει να ενημερωθεί ή να διαγραφεί.

-h
-?
--help
Εμφανίζει τις πληροφορίες βοήθειας του zip (εμφανίζεται επίσης εάν το zip εκτελεστεί χωρίς ορίσματα).

-h2
--more-help
Εμφανίζει εκτεταμένη βοήθεια, συμπεριλαμβανομένων περισσότερων πληροφοριών σχετικά με τη μορφή της γραμμής εντολών, την αντιστοίχιση προτύπων και άλλες λιγότερο γνωστές επιλογές.

-i files
--include files
Συμπεριλαμβάνει μόνο τα καθορισμένα αρχεία, όπως:

zip -r foo . -i \*.c

το οποίο θα συμπεριλάβει μόνο τα αρχεία που τελειώνουν σε .c στον τρέχοντα κατάλογο και στους υποκαταλόγους του. (Σημείωση για τους χρήστες του PKZIP: η αντίστοιχη εντολή είναι

pkzip -rP foo *.c

Το PKZIP δεν επιτρέπει την αναδρομή σε καταλόγους διαφορετικούς από τον τρέχοντα.) Η ανάστροφη κάθετος (\) αποτρέπει την αντικατάσταση ονόματος αρχείου από το κέλυφος, ώστε η αντιστοίχιση ονομάτων να εκτελείται από το zip σε όλα τα επίπεδα καταλόγων. [Αυτό ισχύει για το Unix και άλλα συστήματα όπου το \ διαφεύγει τον επόμενο χαρακτήρα. Για άλλα συστήματα όπου το κέλυφος δεν επεξεργάζεται το *, μην χρησιμοποιείτε το \ και το παραπάνω είναι

zip -r foo . -i *.c

Παραδείγματα είναι για το Unix, εκτός εάν ορίζεται διαφορετικά.] Επομένως, για να συμπεριληφθεί ο κατάλογος dir, ένας κατάλογος απευθείας κάτω από τον τρέχοντα κατάλογο, χρησιμοποιήστε

zip -r foo . -i dir/\*

ή

zip -r foo . -i "dir/\*"

για να ταιριάζουν με διαδρομές όπως dir/a και dir/b/file.c [σε θύρες χωρίς επέκταση χαρακτήρων καταχωρησίου στο κέλυφος, όπως το MSDOS και τα Windows

zip -r foo . -i dir/\*

χρησιμοποιείται.] Σημειώστε ότι επί του παρόντος, η τελική κάθετος (/) είναι απαραίτητη για καταλόγους (όπως στο

zip -r foo . -i dir/

για να συμπεριληφθεί ο κατάλογος dir).

Η μακρά μορφή της πρώτης παραπάνω εντολής είναι

zip -r foo . --include \*.c

και κάνει το ίδιο πράγμα με τη σύντομη μορφή.

Αν και η σύνταξη της εντολής που χρησιμοποιούνταν απαιτούσε το -i στο τέλος της γραμμής εντολών, αυτή η έκδοση επιτρέπει στην πραγματικότητα το -i (ή --include) οπουδήποτε. Η λίστα των αρχείων τερματίζεται στην επόμενη παράμετρο που ξεκινά με -, στο τέλος της γραμμής εντολών ή στον τερματιστή λίστας @ (μια παράμετρος που είναι απλώς @). Επομένως, το παραπάνω μπορεί να δοθεί ως

zip -i \*.c @ -r foo .

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

zip -i\*.c -r foo .

(χωρίς κενό μεταξύ της επιλογής και της τιμής) ή

zip --include=\*.c -r foo .

ως επιπλέον παραδείγματα. Οι μορφές μεμονωμένης τιμής δεν συνιστώνται επειδή μπορεί να είναι παραπλανητικές και, ειδικότερα, η μορφή -ifile μπορεί να προκαλέσει προβλήματα εάν ο πρώτος χαρακτήρας του αρχείου συνδυαστεί με το i για να σχηματίσει μια επιλογή δύο χαρακτήρων που ξεκινά με το i. Χρησιμοποιήστε το -sc για να δείτε πώς θα αναλυθεί η γραμμή εντολών σας.

Επίσης, είναι δυνατό:

zip -r foo . -_

η οποία θα συμπεριλάβει μόνο τα αρχεία στον τρέχοντα κατάλογο και στους υποκαταλόγους του που ταιριάζουν με τα πρότυπα στο αρχείο include.lst.

Τα αρχεία που ταιριάζουν στα πρότυπα -i και -x αντιστοιχούν σε εσωτερικές διαδρομές αρχείων. Δείτε το -R για περισσότερες πληροφορίες σχετικά με τα πρότυπα.

-I
--no-image
[Acorn RISC OS] Μην σαρώσετε τα αρχεία Image. Όταν χρησιμοποιείται, το zip δεν θα θεωρεί τα αρχεία Image (π.χ. διαμερίσματα DOS ή αρχεία Spark όταν το SparkFS είναι φορτωμένο) ως καταλόγους, αλλά θα τα αποθηκεύει ως μεμονωμένα αρχεία.

Για παράδειγμα, εάν έχετε φορτωμένο το SparkFS, η δημιουργία zip ενός αρχείου Spark θα έχει ως αποτέλεσμα ένα αρχείο zip που περιέχει έναν κατάλογο (και το περιεχόμενό του), ενώ η χρήση της επιλογής 'I' θα έχει ως αποτέλεσμα ένα αρχείο zip που περιέχει ένα αρχείο Spark. Προφανώς, η δεύτερη περίπτωση θα επιτευχθεί επίσης (χωρίς την επιλογή 'I') εάν δεν είναι φορτωμένο το SparkFS.

-ic
--ignore-case
[VMS, WIN32] Αγνοήστε την διάκριση πεζών-κεφαλαίων κατά την αντιστοίχιση των στοιχείων του αρχείου. Αυτή η επιλογή είναι διαθέσιμη μόνο σε συστήματα όπου η διάκριση πεζών-κεφαλαίων των αρχείων αγνοείται. Σε συστήματα με συστήματα αρχείων χωρίς διάκριση πεζών-κεφαλαίων, η διάκριση πεζών-κεφαλαίων αγνοείται συνήθως κατά την αντιστοίχιση αρχείων στο σύστημα αρχείων, αλλά δεν αγνοείται για τις -f (freshen), -d (delete), -U (copy) και παρόμοιες λειτουργίες κατά την αντιστοίχιση με στοιχεία του αρχείου (προς το παρόν, το -f αγνοεί τη διάκριση πεζών-κεφαλαίων στο VMS), επειδή τα στοιχεία του αρχείου μπορεί να προέρχονται από συστήματα όπου η διάκριση πεζών-κεφαλαίων έχει σημασία και μπορούν να υπάρχουν ονόματα που είναι ίδια εκτός από τη διάκριση πεζών-κεφαλαίων σε ένα αρχείο. Η επιλογή -ic καθιστά όλες τις αντιστοιχίσεις χωρίς διάκριση πεζών-κεφαλαίων. Αυτό μπορεί να οδηγήσει σε πολλαπλά στοιχεία του αρχείου που να ταιριάζουν με ένα μοτίβο της γραμμής εντολών.

-j
--junk-paths
Αποθηκεύστε μόνο το όνομα του αποθηκευμένου αρχείου (αφαιρέστε τη διαδρομή) και μην αποθηκεύετε τα ονόματα των καταλόγων. Από προεπιλογή, το zip αποθηκεύει την πλήρη διαδρομή (σχετικά με τον τρέχοντα κατάλογο).

-jj
--absolute-path
[MacOS] Καταγράψτε το Fullpath (+ Volname). Η πλήρης διαδρομή, συμπεριλαμβανομένου του τόμου, θα αποθηκευτεί. Από προεπιλογή, θα αποθηκευτεί η σχετική διαδρομή.

-J
--junk-sfx
Αφαιρέστε τυχόν προστεθέντα δεδομένα (π.χ. ένα SFX stub) από το αρχείο.

-k
--DOS-names
Προσπαθήστε να μετατρέψετε τα ονόματα και τις διαδρομές ώστε να συμμορφώνονται με το MSDOS, αποθηκεύστε μόνο το χαρακτηριστικό MSDOS (μόνο το χαρακτηριστικό εγγραφής χρήστη από το Unix) και επισημάνετε την καταχώρηση ως δημιουργημένη στο MSDOS (ακόμα και αν δεν ήταν). Για συμβατότητα με το PKUNZIP στο MSDOS, το οποίο δεν μπορεί να χειριστεί ορισμένα ονόματα, όπως αυτά που έχουν δύο τελείες.

-l
--to-crlf
Μετατρέψτε τον χαρακτήρα τέλους γραμμής Unix LF στην σύμβαση MSDOS CR LF. Αυτή η επιλογή δεν πρέπει να χρησιμοποιείται σε δυαδικά αρχεία. Αυτή η επιλογή μπορεί να χρησιμοποιηθεί στο Unix εάν το αρχείο zip προορίζεται για το PKUNZIP στο MSDOS. Εάν τα αρχεία εισόδου περιέχουν ήδη CR LF, αυτή η επιλογή προσθέτει ένα επιπλέον CR. Αυτό γίνεται για να διασφαλιστεί ότι η εντολή unzip -a στο Unix θα λάβει μια ακριβή αντίγραφο του αρχικού αρχείου, για να αναιρέσει την επίδραση της εντολής zip -l. Δείτε το -ll για τον τρόπο χειρισμού των δυαδικών αρχείων.

-la
--log-append
Προσθέστε στο υπάρχον αρχείο καταγραφής. Από προεπιλογή, το αρχείο αντικαθίσταται.

-lf logfilepath
--logfile-path logfilepath
Ανοίξτε ένα αρχείο καταγραφής στην δεδομένη διαδρομή. Από προεπιλογή, τυχόν υπάρχον αρχείο σε αυτήν την τοποθεσία αντικαθίσταται, αλλά η επιλογή -la θα έχει ως αποτέλεσμα ένα υπάρχον αρχείο να ανοίξει και οι νέες πληροφορίες καταγραφής να προστεθούν σε τυχόν υπάρχουσες πληροφορίες. Μόνο οι προειδοποιήσεις και τα σφάλματα γράφονται στο αρχείο καταγραφής, εκτός εάν δοθεί επίσης η επιλογή -li, οπότε όλες οι πληροφορίες γράφονται επίσης στο αρχείο καταγραφής.

-li
--log-info

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

-ll
--from-crlf

Μετατρέψτε την κατάληξη γραμμής MSDOS CR LF σε Unix LF. Αυτή η επιλογή δεν πρέπει να χρησιμοποιείται σε δυαδικά αρχεία. Αυτή η επιλογή μπορεί να χρησιμοποιηθεί σε MSDOS εάν το αρχείο zip προορίζεται για αποσυμπίεση σε Unix. Εάν το αρχείο μετατραπεί και αργότερα διαπιστωθεί ότι είναι δυαδικό, εκδίδεται μια προειδοποίηση και το αρχείο είναι πιθανότατα κατεστραμμένο. Σε αυτήν την έκδοση, εάν το -ll ανιχνεύσει ένα δυαδικό αρχείο στην πρώτη ανάγνωση buffer ενός αρχείου, το zip εκδίδει πλέον μια προειδοποίηση και παραλείπει τη μετατροπή της κατάληξης γραμμής στο αρχείο. Αυτός ο έλεγχος φαίνεται να εντοπίζει όλα τα δυαδικά αρχεία που δοκιμάστηκαν, αλλά ο αρχικός έλεγχος παραμένει και εάν ένα μετατραπέν αρχείο αργότερα διαπιστωθεί ότι είναι δυαδικό, εξακολουθεί να εκδίδεται αυτή η προειδοποίηση. Ένας νέος αλγόριθμος χρησιμοποιείται πλέον για την ανίχνευση δυαδικών αρχείων, ο οποίος θα πρέπει να επιτρέπει τη μετατροπή της κατάληξης γραμμής σε αρχεία κειμένου σε UTF-8 και παρόμοιες κωδικοποιήσεις.

-L
--license

Εμφανίστε την άδεια χρήσης του zip.

-m
--move

Μετακινήστε τα καθορισμένα αρχεία στο αρχείο zip. Στην πραγματικότητα, αυτό διαγράφει τους καθορισμένους καταλόγους/αρχεία αφού δημιουργήσει το καθορισμένο αρχείο zip. Εάν ένας κατάλογος γίνει κενός μετά την αφαίρεση των αρχείων, ο κατάλογος επίσης αφαιρείται. Δεν πραγματοποιούνται διαγραφές έως ότου το zip δημιουργήσει το αρχείο χωρίς σφάλματα. Αυτό είναι χρήσιμο για την εξοικονόμηση χώρου στο δίσκο, αλλά είναι δυνητικά επικίνδυνο, επομένως συνιστάται να χρησιμοποιείται σε συνδυασμό με το -T για να ελέγξετε το αρχείο πριν αφαιρέσετε όλα τα αρχεία εισόδου.

-MM
--must-match

Όλα τα μοτίβα εισόδου πρέπει να ταιριάζουν τουλάχιστον με ένα αρχείο και όλα τα αρχεία εισόδου που βρέθηκαν πρέπει να είναι αναγνώσιμα. Συνήθως, όταν ένα μοτίβο εισόδου δεν ταιριάζει με ένα αρχείο, εκδίδεται η προειδοποίηση "όνομα δεν ταιριάζει" και όταν ένα αρχείο εισόδου έχει βρεθεί αλλά αργότερα λείπει ή δεν είναι αναγνώσιμο, εκδίδεται μια προειδοποίηση "λείπει ή δεν είναι αναγνώσιμο". Σε οποιαδήποτε περίπτωση, το zip συνεχίζει να δημιουργεί το αρχείο, με τα νέα αρχεία που λείπουν ή δεν είναι αναγνώσιμα να παραλείπονται και τα αρχεία που υπάρχουν ήδη στο αρχείο να παραμένουν αμετάβλητα. Αφού δημιουργηθεί το αρχείο, εάν κάποια αρχεία δεν ήταν αναγνώσιμα, το zip επιστρέφει τον κώδικα σφάλματος OPEN (18 στα περισσότερα συστήματα) αντί για την κανονική επιτυχή επιστροφή (0 στα περισσότερα συστήματα). Με το -MM ενεργοποιημένο, το zip τερματίζεται μόλις ένα μοτίβο εισόδου δεν ταιριάζει (όποτε θα εκδιδόταν η προειδοποίηση "όνομα δεν ταιριάζει") ή όταν ένα αρχείο εισόδου δεν είναι αναγνώσιμο. Σε οποιαδήποτε περίπτωση, το zip τερματίζεται με ένα σφάλμα OPEN και δεν δημιουργείται αρχείο.

Αυτή η επιλογή είναι χρήσιμη όταν μια γνωστή λίστα αρχείων πρόκειται να συμπιεστεί, έτσι ώστε τυχόν αρχεία που λείπουν ή δεν είναι αναγνώσιμα να προκαλέσουν ένα σφάλμα. Είναι λιγότερο χρήσιμο όταν χρησιμοποιείται με σύμβολα χαρακτήρων, αλλά το zip θα τερματιστεί με ένα σφάλμα εάν οποιοδήποτε μοτίβο εισόδου δεν ταιριάζει τουλάχιστον με ένα αρχείο και εάν οποιαδήποτε από τα αντίστοιχα αρχεία δεν είναι αναγνώσιμα. Εάν θέλετε να δημιουργήσετε το αρχείο ούτως ή άλλως και απλώς χρειάζεστε να γνωρίζετε εάν κάποια αρχεία παραλείφθηκαν, μην χρησιμοποιήσετε το -MM και απλώς ελέγξτε τον κώδικα επιστροφής. Επίσης, το -lf θα μπορούσε να είναι χρήσιμο.


-n επιθήματα
--suffixes επιθήματα

Μην επιχειρήσετε να συμπιέσετε αρχεία με τα δεδομένα επιθήματα. Αυτά τα αρχεία απλώς αποθηκεύονται (συμπίεση 0%) στο αρχείο zip εξόδου, έτσι ώστε το zip να μην σπαταλά χρόνο προσπαθώντας να τα συμπιέσει. Τα επιθήματα διαχωρίζονται είτε με άνω τελείες είτε με ερωτηματικά. Για παράδειγμα:

zip -rn .Z:.zip:.tiff:.gif:.snd foo foo

θα αντιγράψει τα πάντα από το foo στο foo.zip, αλλά θα αποθηκεύσει οποιαδήποτε αρχεία που τελειώνουν σε .Z, .zip, .tiff, .gif ή .snd χωρίς να προσπαθήσει να τα συμπιέσει (τα αρχεία εικόνας και ήχου έχουν συχνά τις δικές τους εξειδικευμένες μεθόδους συμπίεσης). Από προεπιλογή, το zip δεν συμπιέζει αρχεία με επεκτάσεις στη λίστα .Z:.zip:.zoo:.arc:.lzh:.arj. Αυτά τα αρχεία αποθηκεύονται απευθείας στο αρχείο εξόδου. Η μεταβλητή περιβάλλοντος ZIPOPT μπορεί να χρησιμοποιηθεί για να αλλάξει τις προεπιλεγμένες επιλογές. Για παράδειγμα, σε ένα σύστημα Unix με csh:

setenv ZIPOPT "-n .gif:.zip"

Για να επιχειρήσετε συμπίεση σε όλα τα αρχεία, χρησιμοποιήστε:

zip -n : foo

Η επιλογή μέγιστης συμπίεσης -9 προσπαθεί επίσης να συμπιέσει όλα τα αρχεία, ανεξάρτητα από την επέκταση.

Στα συστήματα Acorn RISC OS, τα επιθήματα είναι στην πραγματικότητα τύποι αρχείων (μορφή 3 δεκαεξαδικών ψηφίων). Από προεπιλογή, το zip δεν συμπιέζει αρχεία με τύπους αρχείων στη λίστα DDC:D96:68E (δηλαδή Αρχεία, αρχεία CFS και αρχεία PackDir).

-nw
--no-wild

Μην εκτελέσετε εσωτερική επεξεργασία χαρακτήρων καταχωρημένων (η επεξεργασία χαρακτήρων καταχωρημένων από το κέλυφος εξακολουθεί να γίνεται από το κέλυφος εκτός εάν τα ορίσματα είναι κωδικοποιημένα). Χρήσιμο εάν διαβάζεται μια λίστα διαδρομών και δεν απαιτείται υποκατάσταση χαρακτήρων καταχωρημένων.

-N
--notes
[Amiga, MacOS] Αποθηκεύστε τις σημειώσεις αρχείων Amiga ή MacOS ως σχόλια αρχείου zip. Μπορούν να επαναφερθούν χρησιμοποιώντας την επιλογή -N του unzip. Εάν χρησιμοποιείται επίσης η -c, θα σας ζητηθεί να εισαγάγετε σχόλια μόνο για τα αρχεία που δεν έχουν σημειώσεις.

-o
--latest-time

Ορίστε την ώρα "τελευταίας τροποποίησης" του αρχείου zip στην πιο πρόσφατη (πρώτη) ώρα "τελευταίας τροποποίησης" που βρέθηκε μεταξύ των στοιχείων στο αρχείο zip. Αυτό μπορεί να χρησιμοποιηθεί χωρίς άλλες λειτουργίες, εάν το επιθυμείτε. Για παράδειγμα:

zip -o foo

θα αλλάξει την ώρα "τελευταίας τροποποίησης" του foo.zip στην πιο πρόσφατη ώρα των στοιχείων στο foo.zip.

-O αρχείο-εξόδου
--output-file αρχείο-εξόδου

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

Αυτή η επιλογή μπορεί να χρησιμοποιηθεί για τη δημιουργία ενημερωμένων αρχείων που έχουν χωριστεί σε τμήματα. Μπορεί επίσης να χρησιμοποιηθεί με την -U για να αντιγράψετε στοιχεία από ένα υπάρχον αρχείο σε ένα νέο αρχείο. Δείτε την ενότητα ΠΑΡΑΔΕΙΓΜΑΤΑ παρακάτω.

Μια άλλη χρήση είναι η μετατροπή αρχείων zip από ένα μέγεθος διαμερισμού σε ένα άλλο. Για παράδειγμα, για να μετατρέψετε ένα αρχείο με διαμερίσματα CD 700 MB σε ένα με διαμερίσματα DVD 2 GB, μπορείτε να χρησιμοποιήσετε:

zip -s 2g cd-split.zip --out dvd-split.zip

το οποίο χρησιμοποιεί τη λειτουργία αντιγραφής. Δείτε το -U παρακάτω. Επίσης:

zip -s 0 split.zip --out unsplit.zip

θα μετατρέψει ένα διαμερισμένο αρχείο σε ένα αρχείο.

Η λειτουργία αντιγραφής θα μετατρέψει τις εγγραφές ροής (χρησιμοποιώντας περιγραφείς δεδομένων και οι οποίες θα πρέπει να είναι συμβατές με τα περισσότερα προγράμματα αποσυμπίεσης) σε κανονικές εγγραφές (οι οποίες θα πρέπει να είναι συμβατές με όλα τα προγράμματα αποσυμπίεσης), εκτός εάν χρησιμοποιήθηκε η τυπική κρυπτογράφηση. Για αρχεία με κρυπτογραφημένες εγγραφές, το zipcloak θα αποκρυπτογραφήσει τις εγγραφές και θα τις μετατρέψει σε κανονικές εγγραφές.

-p
--paths

Συμπεριλάβετε τις σχετικές διαδρομές αρχείων ως μέρος των ονομάτων των αρχείων που είναι αποθηκευμένα στο αρχείο. Αυτή είναι η προεπιλογή. Η επιλογή -j καταργεί τις διαδρομές και αποθηκεύει μόνο τα ονόματα των αρχείων.

-P password
--password password

Χρησιμοποιήστε τον κωδικό πρόσβασης για να κρυπτογραφήσετε τις εγγραφές του αρχείου zip (εάν υπάρχουν). ΑΥΤΟ ΕΙΝΑΙ ΜΗ ΑΣΦΑΛΕΣ! Πολλά λειτουργικά συστήματα πολλαπλών χρηστών παρέχουν τρόπους για οποιονδήποτε χρήστη να δει την τρέχουσα γραμμή εντολών οποιουδήποτε άλλου χρήστη. ακόμη και σε αυτόνομα συστήματα υπάρχει πάντα η απειλή της παρατήρησης. Η αποθήκευση του κωδικού πρόσβασης σε απλό κείμενο ως μέρος μιας γραμμής εντολών σε ένα αυτοματοποιημένο σενάριο είναι ακόμα χειρότερη. Όποτε είναι δυνατόν, χρησιμοποιήστε την μη-αντιφατική, διαδραστική προτροπή για να εισαγάγετε κωδικούς πρόσβασης. (Και όπου η ασφάλεια είναι πραγματικά σημαντική, χρησιμοποιήστε ισχυρή κρυπτογράφηση, όπως το Pretty Good Privacy, αντί για την σχετικά αδύναμη τυπική κρυπτογράφηση που παρέχεται από τα βοηθητικά προγράμματα αρχείων zip).

-q
--quiet

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

-Qn
--Q-flag n
[QDOS] αποθηκεύστε πληροφορίες σχετικά με το αρχείο στην κεφαλίδα του αρχείου με το n να ορίζεται ως
bit 0: Μην προσθέτετε κεφαλίδες για κανένα αρχείο
bit 1: Προσθέστε κεφαλίδες για όλα τα αρχεία
bit 2: Μην περιμένετε για διαδραστική πληκτρολόγηση κατά την έξοδο

-r
--recurse-paths

Περιηγηθείτε στην ιεραρχία καταλόγων αναδρομικά. για παράδειγμα:

zip -r foo.zip foo

ή πιο συνοπτικά

zip -r foo foo

Σε αυτήν την περίπτωση, όλα τα αρχεία και οι κατάλογοι στο foo αποθηκεύονται σε ένα αρχείο zip με όνομα foo.zip, συμπεριλαμβανομένων των αρχείων με ονόματα που ξεκινούν με ".", επειδή η αναδρομή δεν χρησιμοποιεί τον μηχανισμό υποκατάστασης ονομάτων αρχείων του κελύφους. Εάν θέλετε να συμπεριλάβετε μόνο ένα συγκεκριμένο υποσύνολο των αρχείων στον κατάλογο foo και στους υποκαταλόγους του, χρησιμοποιήστε την επιλογή -i για να καθορίσετε το μοτίβο των αρχείων που θα συμπεριληφθούν. Δεν θα πρέπει να χρησιμοποιείτε το -r με το όνομα ".*", καθώς αυτό θα ταιριάξει με το ".." το οποίο θα προσπαθήσει να συμπιέσει τον γονικό κατάλογο (πιθανότατα όχι αυτό που προοριζόταν).

Επιτρέπονται πολλοί κατάλογοι πηγής, όπως στο

zip -r foo foo1 foo2

το οποίο πρώτα συμπιέζει το foo1 και στη συνέχεια το foo2, μεταβαίνοντας σε κάθε κατάλογο.

Σημειώστε ότι, ενώ οι χαρακτήρες μπαλαντέρ στην επιλογή -r συνήθως επιλύονται κατά την αναδρομή στους καταλόγους του συστήματος αρχείων, τυχόν χαρακτήρες μπαλαντέρ -R, -x και -i εφαρμόζονται στα εσωτερικά ονόματα αρχείων μόλις σαρωθούν οι κατάλογοι. Για να κάνετε τους χαρακτήρες μπαλαντέρ να εφαρμόζονται σε αρχεία σε υποκαταλόγους κατά την αναδρομή σε Unix και παρόμοια συστήματα όπου το κέλυφος κάνει αντικατάσταση χαρακτήρων μπαλαντέρ, είτε διαφύγετε όλους τους χαρακτήρες μπαλαντέρ είτε τοποθετήστε όλες τις παραμέτρους με χαρακτήρες μπαλαντέρ σε εισαγωγικά. Αυτό επιτρέπει στο zip να δει τους χαρακτήρες μπαλαντέρ και να ταιριάξει αρχεία σε υποκαταλόγους χρησιμοποιώντας τους καθώς αναδρομεί.


-R
--recurse-patterns

Διατρέξτε την δομή καταλόγων αναδρομικά, ξεκινώντας από τον τρέχοντα κατάλογο· για παράδειγμα:

zip -R foo "*.c"

Σε αυτή την περίπτωση, όλα τα αρχεία που ταιριάζουν με το *.c στο δέντρο που ξεκινά από τον τρέχοντα κατάλογο αποθηκεύονται σε ένα αρχείο zip με όνομα foo.zip. Σημειώστε ότι το *.c θα ταιριάζει με το file.c, το a/file.c και το a/b/.c. Μπορούν να δοθούν περισσότερα από ένα πρότυπα ως ξεχωριστά ορίσματα. Σημείωση για χρήστες PKZIP: η αντίστοιχη εντολή είναι

pkzip -rP foo *.c

Τα πρότυπα είναι σχετικές διαδρομές αρχείων, όπως εμφανίζονται στο αρχείο ή όπως θα είναι μετά τη συμπίεση και μπορούν να περιέχουν προαιρετικά σύμβολα χαρακτήρων. Για παράδειγμα, δεδομένου ότι ο τρέχων κατάλογος είναι foo και κάτω από αυτόν υπάρχουν οι κατάλογοι foo1 και foo2 και στο foo1 υπάρχει το αρχείο bar.c,

zip -R foo/*

θα συμπιέσει το foo, το foo/foo1, το foo/foo1/bar.c και το foo/foo2.

zip -R */bar.c

θα συμπιέσει το foo/foo1/bar.c. Δείτε τη σημείωση για το -r σχετικά με την διαφυγή των χαρακτήρων.

-RE
--regex
[WIN32] Πριν από την έκδοση 3.0 του zip, η αντιστοίχιση λίστας κανονικών εκφράσεων ήταν ενεργοποιημένη από προεπιλογή στις πλατφόρμες Windows. Λόγω της σύγχυσης που προκαλεί η ανάγκη διαφυγής των "[" και "]" στα ονόματα, είναι πλέον απενεργοποιημένη από προεπιλογή για τα Windows, έτσι ώστε τα "[" και "]" να είναι απλώς κανονικοί χαρακτήρες στα ονόματα. Αυτή η επιλογή ενεργοποιεί ξανά την αντιστοίχιση [].

-s splitsize
--split-size splitsize

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

Τα αρχεία που έχουν χωριστεί αποθηκεύονται σε αριθμημένα αρχεία. Για παράδειγμα, εάν το αρχείο εξόδου ονομάζεται archive και απαιτούνται τρία τμήματα, το αρχείο θα είναι στα τρία αρχεία archive.z01, archive.z02 και archive.zip. Μην αλλάζετε την αρίθμηση αυτών των αρχείων, διαφορετικά το αρχείο δεν θα είναι αναγνώσιμο, καθώς αυτά χρησιμοποιούνται για τον προσδιορισμό της σειράς με την οποία διαβάζονται τα τμήματα.

Το μέγεθος διαχωρισμού είναι ένας αριθμός, ακολουθούμενος προαιρετικά από έναν πολλαπλασιαστή. Αυτή τη στιγμή, ο αριθμός πρέπει να είναι ένας ακέραιος αριθμός. Ο πολλαπλασιαστής μπορεί να είναι ένας από τους k (κιλομπάιτ), m (μεγαμπάιτ), g (γιγαμπάιτ) ή t (τεράμπαιτ). Καθώς τα 64k είναι το ελάχιστο μέγεθος διαχωρισμού, οι αριθμοί χωρίς πολλαπλασιαστές έχουν προεπιλογή σε μεγαμπάιτ. Για παράδειγμα, για να δημιουργηθεί ένα αρχείο που έχει χωριστεί σε πολλά μέρη με όνομα foo με τα περιεχόμενα του καταλόγου bar και με διαχωρίσεις των 670 MB, τα οποία θα μπορούσαν να είναι χρήσιμα για την εγγραφή σε CD, η εντολή:

zip -s 670m -r foo bar

θα μπορούσε να χρησιμοποιηθεί.

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

Η επιλογή -sv μπορεί να χρησιμοποιηθεί για την ενεργοποίηση της λεπτομερούς λειτουργίας διαχωρισμού και την παροχή λεπτομερειών σχετικά με τον τρόπο με τον οποίο γίνεται ο διαχωρισμός. Η επιλογή -sb μπορεί να χρησιμοποιηθεί για να ηχεί ένα σήμα όταν το zip κάνει παύση για τον επόμενο προορισμό διαχωρισμού.

Τα αρχεία διαχωρισμού δεν μπορούν να ενημερωθούν, αλλά δείτε την επιλογή -O (--out) για τον τρόπο με τον οποίο ένα αρχείο διαχωρισμού μπορεί να ενημερωθεί καθώς αντιγράφεται σε ένα νέο αρχείο. Ένα αρχείο διαχωρισμού μπορεί επίσης να μετατραπεί σε ένα αρχείο μίας μορφής χρησιμοποιώντας ένα μέγεθος διαχωρισμού 0 ή αρνητικοποιώντας την επιλογή -s:

zip -s 0 split.zip --out single.zip

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

-sb
--split-bell

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

-sc
--show-command

Εμφανίζει τη γραμμή εντολών καθώς ξεκινά η εκτέλεση του zip και τερματίζει. Ο νέος αναλυτής εντολών αναδιατάσσει τα ορίσματα, τοποθετώντας όλες τις επιλογές και τις σχετικές τιμές πριν από οποιαδήποτε μη-επιλογή ορίσματα. Αυτό επιτρέπει σε μια επιλογή να εμφανίζεται οπουδήποτε στη γραμμή εντολών, εφόσον οι τιμές που σχετίζονται με την επιλογή εμφανίζονται μαζί της. Αυτή η επιλογή εμφανίζει τη γραμμή εντολών όπως τη βλέπει το zip, συμπεριλαμβανομένων τυχόν ορισμάτων από το περιβάλλον, όπως από τη μεταβλητή ZIPOPT. Όπου επιτρέπεται, οι επιλογές που εμφανίζονται αργότερα στη γραμμή εντολών μπορούν να αντικαταστήσουν τις επιλογές που εμφανίζονται νωρίτερα στη γραμμή εντολών.

-sf
--show-files

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

-so
--show-options

Εμφανίζει όλες τις διαθέσιμες επιλογές που υποστηρίζονται από το zip όπως έχουν μεταγλωττιστεί στο τρέχον σύστημα. Καθώς αυτή η εντολή διαβάζει τον πίνακα επιλογών, θα πρέπει να περιλαμβάνει όλες τις επιλογές. Κάθε γραμμή περιλαμβάνει την σύντομη επιλογή (εάν ορίζεται), τη μακρά επιλογή (εάν ορίζεται), τη μορφή τυχόν τιμής που σχετίζεται με την επιλογή, εάν η επιλογή μπορεί να αρνηθεί και μια σύντομη περιγραφή. Η μορφή τιμής μπορεί να είναι χωρίς τιμή, απαιτούμενη τιμή, προαιρετική τιμή, τιμή ενός χαρακτήρα, αριθμητική τιμή ή μια λίστα τιμών. Η έξοδος αυτής της επιλογής δεν προορίζεται να δείξει πώς να χρησιμοποιήσετε μια επιλογή, αλλά μόνο να δείξει ποιες επιλογές είναι διαθέσιμες.

-sp
--split-pause

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

-sp
--split-size size
Χωρίστε το αρχείο σε τόμους μεγέθους size (σε bytes). Αυτή η επιλογή είναι χρήσιμη για τη δημιουργία αρχείων που μπορούν να χωρέσουν σε δίσκες ή να μεταφερθούν μέσω δικτύου.
Αντικαταστήστε το size με έναν αριθμό, ή χρησιμοποιήστε ένα από τα ακόλουθα επιθήματα:
k (kilobytes)
m (megabytes)
g (gigabytes)
t (terabytes)
Εάν δεν καθοριστεί το size, χρησιμοποιείται η προεπιλεγμένη τιμή, η οποία είναι 1024 * 1024 (1MB).

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

Για να μετατρέψετε ένα αρχείο ροής διαίρεσης (που δημιουργήθηκε με την επιλογή -sp) σε ένα τυπικό αρχείο, δείτε την επιλογή --out.

-su
--show-unicode
Όπως η επιλογή -sf, αλλά εμφανίζει επίσης την έκδοση Unicode της διαδρομής, εάν υπάρχει.

-sU
--show-just-unicode
Όπως η επιλογή -sf, αλλά εμφανίζει μόνο την έκδοση Unicode της διαδρομής, εάν υπάρχει, διαφορετικά εμφανίζει την τυπική έκδοση της διαδρομής.

-sv
--split-verbose
Ενεργοποιήστε διάφορα αναλυτικά μηνύματα κατά τη διαίρεση, δείχνοντας πώς γίνεται η διαίρεση.

-S
--system-hidden
[MSDOS, OS/2, WIN32 και ATARI] Συμπεριλάβετε τα κρυφά και τα αρχεία συστήματος.
[MacOS] Συμπεριλαμβάνει τα αόρατα αρχεία του Finder, τα οποία αγνοούνται διαφορετικά.

-t mmddyyyy
--from-date mmddyyyy
Μην λειτουργείτε σε αρχεία που τροποποιήθηκαν πριν από την καθορισμένη ημερομηνία, όπου mm είναι ο μήνας (00-12), dd είναι η ημέρα του μήνα (01-31) και yyyy είναι το έτος. Η μορφή ημερομηνίας ISO 8601 yyyy-mm-dd γίνεται επίσης δεκτή. Για παράδειγμα:

zip -rt 12071991 infamy foo

zip -rt 1991-12-07 infamy foo

θα προσθέσει όλα τα αρχεία στον κατάλογο foo και τους υποκαταλόγους του, τα οποία τροποποιήθηκαν τελευταία φορά την 7η Δεκεμβρίου 1991 ή μετά, στο αρχείο zip infamy.zip.

-tt mmddyyyy
--before-date mmddyyyy
Μην λειτουργείτε σε αρχεία που τροποποιήθηκαν μετά ή στην καθορισμένη ημερομηνία, όπου mm είναι ο μήνας (00-12), dd είναι η ημέρα του μήνα (01-31) και yyyy είναι το έτος. Η μορφή ημερομηνίας ISO 8601 yyyy-mm-dd γίνεται επίσης δεκτή. Για παράδειγμα:

zip -rtt 11301995 infamy foo

zip -rtt 1995-11-30 infamy foo

θα προσθέσει όλα τα αρχεία στον κατάλογο foo και τους υποκαταλόγους του, τα οποία τροποποιήθηκαν τελευταία φορά πριν από τις 30 Νοεμβρίου 1995, στο αρχείο zip infamy.zip.

-T
--test
Ελέγξτε την ακεραιότητα του νέου αρχείου zip. Εάν ο έλεγχος αποτύχει, το παλιό αρχείο zip παραμένει αμετάβλητο και (με την επιλογή -m) δεν διαγράφονται αρχεία εισόδου.

-TT cmd
--unzip-command cmd
Χρησιμοποιήστε την εντολή cmd αντί για το 'unzip -tqq' για να ελέγξετε ένα αρχείο όταν χρησιμοποιείται η επιλογή -T. Στο Unix, για να χρησιμοποιήσετε ένα αντίγραφο του unzip στον τρέχοντα κατάλογο αντί για το τυπικό σύστημα unzip, θα μπορούσατε να χρησιμοποιήσετε:

zip archive file1 file2 -T -TT "./unzip -tqq"

Στην εντολή cmd, το {} αντικαθίσταται από το όνομα του προσωρινού αρχείου, διαφορετικά το όνομα του αρχείου προστίθεται στο τέλος της εντολής. Ελέγχεται ο κωδικός επιστροφής για επιτυχία (0 στο Unix).

-u
--update
Αντικαταστήστε (ενημερώστε) μια υπάρχουσα εγγραφή στο αρχείο zip μόνο εάν έχει τροποποιηθεί πιο πρόσφατα από την έκδοση που υπάρχει ήδη στο αρχείο zip. Για παράδειγμα:

zip -u stuff *

θα προσθέσει τυχόν νέα αρχεία στον τρέχοντα κατάλογο και θα ενημερώσει τυχόν αρχεία που έχουν τροποποιηθεί από την τελευταία φορά που δημιουργήθηκε/τροποποιήθηκε το αρχείο zip stuff.zip (σημειώστε ότι το zip δεν θα προσπαθήσει να συσκευάσει το stuff.zip μέσα του όταν το κάνετε αυτό).

Σημειώστε ότι η επιλογή -u χωρίς ορίσματα αρχείων εισόδου λειτουργεί όπως η επιλογή -f (freshen).

-U
--copy-entries

Αντιγράψτε καταχωρήσεις από ένα αρχείο σε ένα άλλο. Απαιτείται η επιλογή --out για να καθοριστεί ένα διαφορετικό αρχείο εξόδου από το αρχείο εισόδου. Η λειτουργία αντιγραφής είναι η αντίστροφη της επιλογής -d delete. Όταν χρησιμοποιείται η επιλογή delete με την επιλογή --out, οι επιλεγμένες καταχωρήσεις διαγράφονται από το αρχείο και όλες οι υπόλοιπες καταχωρήσεις αντιγράφονται στο νέο αρχείο, ενώ η λειτουργία αντιγραφής επιλέγει τα αρχεία που θα συμπεριληφθούν στο νέο αρχείο. Σε αντίθεση με την επιλογή -u update, τα πρότυπα εισόδου στη γραμμή εντολών αντιστοιχίζονται μόνο στις καταχωρήσεις του αρχείου και όχι στα αρχεία του συστήματος αρχείων. Για παράδειγμα,

zip inarchive "*.c" --copy --out outarchive

αντιγράφει καταχωρήσεις με ονόματα που τελειώνουν σε .c από το inarchive στο outarchive. Ο χαρακτήρας ερωτηματικού πρέπει να γίνεται escape σε ορισμένα συστήματα για να αποτρέπεται η αντικατάσταση των ονομάτων των αρχείων από το σύστημα αρχείων, τα οποία μπορεί να μην σχετίζονται με τις καταχωρήσεις στο αρχείο.

Εάν δεν υπάρχουν αρχεία εισόδου στη γραμμή εντολών και χρησιμοποιείται η επιλογή --out, θεωρείται ότι χρησιμοποιείται η λειτουργία αντιγραφής:

zip inarchive --out outarchive

Αυτό είναι χρήσιμο, για παράδειγμα, για την αλλαγή του μεγέθους των τμημάτων. Η κρυπτογράφηση και η αποκρυπτογράφηση των καταχωρήσεων δεν υποστηρίζονται ακόμη με τη λειτουργία αντιγραφής. Χρησιμοποιήστε την εντολή zipcloak για αυτό.

-UN v
--unicode v

Καθορίστε τι πρέπει να κάνει το zip με τα ονόματα αρχείων Unicode. Το zip 3.0, εκτός από την τυπική διαδρομή αρχείου, περιλαμβάνει πλέον και τη μετάφραση UTF-8 της διαδρομής, εάν η διαδρομή της καταχώρησης δεν είναι εξ ολοκλήρου 7-bit ASCII. Όταν λείπει η διαδρομή Unicode σε μια καταχώρηση, το zip επιστρέφει στην τυπική διαδρομή αρχείου. Το πρόβλημα με τη χρήση της τυπικής διαδρομής είναι ότι αυτή η διαδρομή βρίσκεται στην τοπική κωδικοποίηση χαρακτήρων του zip που δημιούργησε την καταχώρηση, η οποία μπορεί να περιέχει χαρακτήρες που δεν είναι έγκυροι στην κωδικοποίηση χαρακτήρων που χρησιμοποιεί το unzip. Όταν το zip διαβάζει ένα αρχείο, εάν μια καταχώρηση έχει επίσης μια διαδρομή Unicode, το zip χρησιμοποιεί πλέον την διαδρομή Unicode για να δημιουργήσει την τυπική διαδρομή χρησιμοποιώντας την τρέχουσα τοπική κωδικοποίηση χαρακτήρων.

Αυτή η επιλογή μπορεί να χρησιμοποιηθεί για να καθοριστεί τι πρέπει να κάνει το zip με αυτήν τη διαδρομή εάν υπάρχει ασυμφωνία μεταξύ της αποθηκευμένης τυπικής διαδρομής και της αποθηκευμένης διαδρομής UTF-8 (το οποίο μπορεί να συμβεί εάν η τυπική διαδρομή έχει ενημερωθεί). Σε όλες τις περιπτώσεις, εάν υπάρχει ασυμφωνία, υποτίθεται ότι η τυπική διαδρομή είναι πιο πρόσφατη και το zip χρησιμοποιεί αυτήν. Οι τιμές για το v είναι:

q - τερματισμός εάν οι διαδρομές δεν ταιριάζουν

w - προειδοποίηση, συνέχιση με την τυπική διαδρομή

i - αγνόηση, συνέχιση με την τυπική διαδρομή

n - χωρίς Unicode, μη χρήση διαδρομών Unicode

Η προεπιλογή είναι να προειδοποιεί και να συνεχίζει.

Οι χαρακτήρες που δεν είναι έγκυροι στην τρέχουσα κωδικοποίηση χαρακτήρων διαγράφονται ως #Uxxxx και #Lxxxxxx, όπου το x είναι ένας χαρακτήρας ASCII για ένα δεκαεξαδικό ψηφίο. Το πρώτο χρησιμοποιείται εάν ένας αριθμός χαρακτήρων 16-bit αρκεί για να αναπαραστήσει τον χαρακτήρα Unicode και το δεύτερο εάν ο χαρακτήρας χρειάζεται περισσότερα από 16 bit για να αναπαραστήσει τον κωδικό χαρακτήρα Unicode. Η ρύθμιση της επιλογής -UN σε

e - απόκρυψη

όπως στην εντολή

zip archive -sU -UN=e

αναγκάζει το zip να αποκρύπτει όλους τους χαρακτήρες που δεν είναι εκτυπώσιμοι 7-bit ASCII.

Κανονικά, το zip αποθηκεύει το UTF-8 απευθείας στο πεδίο της τυπικής διαδρομής σε συστήματα όπου το UTF-8 είναι η τρέχουσα κωδικοποίηση χαρακτήρων και αποθηκεύει το UTF-8 στα νέα επιπλέον πεδία διαφορετικά. Η επιλογή


u - UTF-8

όπως σε

αρχείο zip -r -UN=UTF8

αναγκάζει το zip να αποθηκεύσει το UTF-8 ως εγγενές στο αρχείο. Σημειώστε ότι η άμεση αποθήκευση του UTF-8 είναι η προεπιλογή στα συστήματα Unix που το υποστηρίζουν. Αυτή η επιλογή θα μπορούσε να είναι χρήσιμη στα συστήματα Windows όπου η κωδικοποιημένη διαδρομή είναι πολύ μεγάλη για να είναι έγκυρη διαδρομή και η έκδοση UTF-8 της διαδρομής είναι μικρότερη, αλλά το εγγενές UTF-8 δεν είναι συμβατό με παλαιότερες εκδόσεις στα συστήματα Windows.

-v
--verbose

Λειτουργία λεπτομερούς εμφάνισης ή εκτύπωσης διαγνωστικών πληροφοριών έκδοσης.

Κανονικά, όταν εφαρμόζεται σε πραγματικές λειτουργίες, αυτή η επιλογή ενεργοποιεί την εμφάνιση μιας ένδειξης προόδου κατά τη συμπίεση (δείτε -dd για περισσότερες πληροφορίες σχετικά με τις τελείες) και ζητά λεπτομερείς διαγνωστικές πληροφορίες σχετικά με τις ιδιορρυθμίες της δομής του αρχείου zip.

Ωστόσο, όταν το -v είναι το μόνο όρισμα στη γραμμή εντολών, εκτυπώνεται μια διαγνωστική οθόνη. Αυτό θα πρέπει να λειτουργεί ακόμη και αν η τυπική έξοδος ανακατευθύνεται σε ένα αρχείο, επιτρέποντας την εύκολη αποθήκευση των πληροφοριών για την αποστολή τους ως αναφορές σφαλμάτων στο Info-ZIP. Η οθόνη έκδοσης παρέχει την κεφαλίδα της οθόνης βοήθειας με το όνομα του προγράμματος, την έκδοση και την ημερομηνία έκδοσης, ορισμένες συμβουλές για τις τοποθεσίες αρχικής και διανομής του Info-ZIP και εμφανίζει πληροφορίες σχετικά με το περιβάλλον στόχο (τύπος και έκδοση του μεταγλωττιστή, έκδοση του λειτουργικού συστήματος, ημερομηνία μεταγλώττισης και οι ενεργοποιημένες προαιρετικές δυνατότητες που χρησιμοποιούνται για τη δημιουργία του εκτελέσιμου αρχείου zip).

-V
--VMS-portable
[VMS] Αποθηκεύστε τα χαρακτηριστικά αρχείων VMS. (Τα αρχεία περικόπτονται στο EOF). Όταν ένα αρχείο -V αποσυμπιέζεται σε ένα μη VMS σύστημα, ορισμένοι τύποι αρχείων (ιδιαίτερα τα αρχεία κειμένου Stream_LF και τα καθαρά δυαδικά αρχεία όπως το fixed-512) θα πρέπει να εξαχθούν ανέπαφα. Τα αρχεία με ευρετήριο και οι τύποι αρχείων με ενσωματωμένα μεγέθη εγγραφών (ιδιαίτερα οι τύποι αρχείων μεταβλητού μήκους) πιθανότατα θα εμφανίζονται ως κατεστραμμένα αλλού.

-VV
--VMS-specific
[VMS] Αποθηκεύστε τα χαρακτηριστικά αρχείων VMS και όλες τις δεσμευμένες περιοχές σε ένα αρχείο, συμπεριλαμβανομένων τυχόν δεδομένων πέρα από το EOF. Χρήσιμο για τη μεταφορά κακοδιαμορφωμένων αρχείων μεταξύ των συστημάτων VMS. Όταν ένα αρχείο -VV αποσυμπιέζεται σε ένα μη VMS σύστημα, σχεδόν όλα τα αρχεία θα εμφανίζονται κατεστραμμένα.

-w
--VMS-versions
[VMS] Προσθέστε τον αριθμό έκδοσης των αρχείων στο όνομα, συμπεριλαμβάνοντας πολλαπλές εκδόσεις των αρχείων. Από προεπιλογή, χρησιμοποιείται μόνο η πιο πρόσφατη έκδοση ενός καθορισμένου αρχείου.

-ww
--VMS-dot-versions
[VMS] Προσθέστε τον αριθμό έκδοσης των αρχείων στο όνομα, συμπεριλαμβάνοντας πολλαπλές εκδόσεις των αρχείων, χρησιμοποιώντας τη μορφή .nnn. Από προεπιλογή, χρησιμοποιείται μόνο η πιο πρόσφατη έκδοση ενός καθορισμένου αρχείου.

-ws
--wild-stop-dirs

Τα σύμβολα καρδιάς ταιριάζουν μόνο σε επίπεδο καταλόγου. Κανονικά, το zip χειρίζεται τις διαδρομές ως συμβολοσειρές και, δεδομένων των διαδρομών

/foo/bar/dir/file1.c

/foo/bar/file2.c

ένα μοτίβο εισόδου όπως

/foo/bar/*

κανονικά θα ταίριαζε και με τις δύο διαδρομές, το * αντιστοιχώντας το dir/file1.c και το file2.c. Σημειώστε ότι στην πρώτη περίπτωση, ένα όριο καταλόγου (/) διέσχισε την αντιστοίχιση. Με το -ws, κανένα όριο καταλόγου δεν θα συμπεριληφθεί στην αντιστοίχιση, καθιστώντας τα σύμβολα καρδιάς τοπικά σε ένα συγκεκριμένο επίπεδο καταλόγου. Έτσι, με το -ws ενεργοποιημένο, μόνο η δεύτερη διαδρομή θα ταίριαζε.

Όταν χρησιμοποιείτε το -ws, χρησιμοποιήστε ** για να ταιριάζετε σε όρια καταλόγων όπως το * κάνει κανονικά.

-x files
--exclude files

Αποκλείστε ρητά τα καθορισμένα αρχεία, όπως:

zip -r foo foo -x \*.o

το οποίο θα συμπεριλάβει το περιεχόμενο του foo στο foo.zip, αποκλείοντας παράλληλα όλα τα αρχεία που τελειώνουν σε .o. Η ανάστροφη κάθετος αποφεύγει την αντικατάσταση ονομάτων αρχείων από το κέλυφος, έτσι ώστε η αντιστοίχιση ονομάτων να εκτελείται από το zip σε όλα τα επίπεδα καταλόγων.

Επίσης, είναι δυνατή η χρήση:

zip -r foo foo -_

το οποίο θα συμπεριλάβει το περιεχόμενο του foo στο foo.zip, αποκλείοντας παράλληλα όλα τα αρχεία που ταιριάζουν με τα πρότυπα στο αρχείο exclude.lst.

Οι μεγάλες μορφές επιλογών των παραπάνω είναι:

zip -r foo foo --exclude \*.o

και

zip -r foo foo --exclude @exclude.lst

Μπορούν να καθοριστούν πολλαπλά πρότυπα, όπως:

zip -r foo foo -x \*.o \*.c

Εάν δεν υπάρχει κενός χώρος μεταξύ του -x και του προτύπου, υποτίθεται ότι υπάρχει μόνο μία τιμή (δεν είναι λίστα):

zip -r foo foo -x\*.o

Δείτε το -i για περισσότερες πληροφορίες σχετικά με τη συμπερίληψη και τον αποκλεισμό.

-X
--no-extra

Μην αποθηκεύετε επιπλέον χαρακτηριστικά αρχείων (Επεκτεταμένα Χαρακτηριστικά στο OS/2, uid/gid και χρόνοι αρχείων στο Unix). Η μορφή zip χρησιμοποιεί επιπλέον πεδία για να συμπεριλάβει πρόσθετες πληροφορίες για κάθε καταχώρηση. Ορισμένα επιπλέον πεδία είναι συγκεκριμένα για συγκεκριμένα συστήματα, ενώ άλλα είναι εφαρμόσιμα σε όλα τα συστήματα. Συνήθως, όταν το zip διαβάζει καταχωρήσεις από ένα υπάρχον αρχείο, διαβάζει τα επιπλέον πεδία που γνωρίζει, απομακρύνει τα υπόλοιπα και προσθέτει τα επιπλέον πεδία που είναι εφαρμόσιμα για αυτό το σύστημα. Με το -X, το zip απομακρύνει όλα τα παλιά πεδία και συμπεριλαμβάνει μόνο τα επιπλέον πεδία Unicode και Zip64 (αυτά τα δύο επιπλέον πεδία δεν μπορούν να απενεργοποιηθούν).

Αρνούμενοι αυτήν την επιλογή, το -X-, συμπεριλαμβάνει όλα τα προεπιλεγμένα επιπλέον πεδία, αλλά αντιγράφει επίσης οποιαδήποτε μη αναγνωρισμένα επιπλέον πεδία.

-y
--symlinks

Για το UNIX και το VMS (έκδοση 8.3 και μεταγενέστερες), αποθηκεύστε τις συμβολικές συνδέσεις ως έχουν στο αρχείο zip, αντί να συμπιέσετε και να αποθηκεύσετε το αρχείο στο οποίο αναφέρεται η σύνδεση. Αυτό μπορεί να αποφύγει την συμπερίληψη πολλαπλών αντιγράφων αρχείων στο αρχείο, καθώς το zip αναδρομεί στις δενδροδομές καταλόγων και αποκτά πρόσβαση στα αρχεία απευθείας και μέσω συνδέσμων.

-z
--archive-comment

Ζητήστε ένα σχόλιο πολλαπλών γραμμών για ολόκληρο το αρχείο zip. Το σχόλιο τερματίζεται από μια γραμμή που περιέχει μόνο μια τελεία ή από μια κατάσταση τέλους αρχείου (^D στο Unix, ^Z στο MSDOS, OS/2 και VMS). Το σχόλιο μπορεί να ληφθεί από ένα αρχείο:

zip -z foo < foowhat

-Z cm
--compression-method cm

Ορίστε την προεπιλεγμένη μέθοδο συμπίεσης. Αυτήν τη στιγμή, οι κύριες μέθοδοι που υποστηρίζονται από το zip είναι η αποθήκευση και η συμπίεση deflate. Η μέθοδος συμπίεσης μπορεί να οριστεί σε:

store - Η ρύθμιση της μεθόδου συμπίεσης σε αποθήκευση αναγκάζει το zip να αποθηκεύει τις καταχωρήσεις χωρίς συμπίεση. Αυτό είναι γενικά πιο γρήγορο από τη συμπίεση των καταχωρήσεων, αλλά δεν έχει ως αποτέλεσμα εξοικονόμηση χώρου. Αυτό είναι το ίδιο με τη χρήση του -0 (επίπεδο συμπίεσης μηδέν).

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

bzip2 - Εάν η υποστήριξη bzip2 είναι μεταγλωττισμένη, αυτή η μέθοδος συμπίεσης γίνεται επίσης διαθέσιμη. Μόνο ορισμένα σύγχρονα προγράμματα αποσυμπίεσης υποστηρίζουν επί του παρόντος τη μέθοδο συμπίεσης bzip2, επομένως δοκιμάστε το πρόγραμμα αποσυμπίεσης που θα χρησιμοποιήσετε πριν βασιστείτε σε αρχεία που χρησιμοποιούν αυτήν τη μέθοδο (μέθοδος συμπίεσης 12).

Για παράδειγμα, για να προσθέσετε το bar.c στο αρχείο foo χρησιμοποιώντας συμπίεση bzip2:

zip -Z bzip2 foo bar.c

Η μέθοδος συμπίεσης μπορεί να συντομευτεί:

zip -Zb foo bar.c

-#
(-0, -1, -2, -3, -4, -5, -6, -7, -8, -9)

Ρυθμίστε την ταχύτητα της συμπίεσης χρησιμοποιώντας τον καθορισμένο αριθμό #, όπου το -0 υποδεικνύει καμία συμπίεση (αποθηκεύστε όλα τα αρχεία), το -1 υποδεικνύει την ταχύτερη ταχύτητα συμπίεσης (λιγότερη συμπίεση) και το -9 υποδεικνύει την πιο αργή ταχύτητα συμπίεσης (βέλτιστη συμπίεση, αγνοεί την κατάλογο καταλήξεων). Η προεπιλεγμένη ρύθμιση συμπίεσης είναι -6.

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

-!
--use-privileges
[WIN32] Χρησιμοποιήστε δικαιώματα (εάν έχουν παραχωρηθεί) για να αποκτήσετε όλες τις πτυχές της ασφάλειας WinNT.

-@
--names-stdin

Λάβετε τη λίστα των αρχείων εισόδου από την τυπική είσοδο. Μόνο ένα όνομα αρχείου ανά γραμμή.

-$
--volume-label
[MSDOS, OS/2, WIN32] Συμπεριλάβετε την ετικέτα όγκου για τη μονάδα δίσκου που περιέχει το πρώτο αρχείο που θα συμπιεστεί. Εάν θέλετε να συμπεριλάβετε μόνο την ετικέτα όγκου ή να επιβάλλετε μια συγκεκριμένη μονάδα δίσκου,
χρησιμοποιήστε το όνομα της μονάδας δίσκου ως το πρώτο όνομα αρχείου, όπως:

zip -$ foo a: c:bar

ΠΑΡΑΔΕΙΓΜΑΤΑ

Το απλούστερο παράδειγμα:

zip stuff *

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

Λόγω του τρόπου με τον οποίο το shell στο Unix πραγματοποιεί την αντικατάσταση ονομάτων αρχείων, τα αρχεία που ξεκινούν με "." δεν περιλαμβάνονται. για να συμπεριλάβετε και αυτά:

zip stuff .* *

Ακόμη και αυτό δεν θα συμπεριλάβει κανέναν υποκατάλογο από τον τρέχοντα κατάλογο.

Για να συμπιεσθεί ένας ολόκληρος κατάλογος, η εντολή:

zip -r foo foo

δημιουργεί το αρχείο foo.zip, το οποίο περιέχει όλα τα αρχεία και τους καταλόγους στον κατάλογο foo που
βρίσκεται μέσα στον τρέχοντα κατάλογο.

Μπορεί να θέλετε να δημιουργήσετε ένα αρχείο zip που περιέχει τα αρχεία στο foo, χωρίς να καταγράφετε το όνομα του καταλόγου, foo. Μπορείτε να χρησιμοποιήσετε την επιλογή -j για να παραλείψετε τις διαδρομές, όπως:

zip -j foo foo/*

Εάν έχετε λίγο χώρο στο δίσκο, ίσως να μην έχετε αρκετό χώρο για να διατηρήσετε τόσο τον αρχικό κατάλογο όσο και το αντίστοιχο συμπιεσμένο αρχείο zip. Σε αυτήν την περίπτωση, μπορείτε να δημιουργήσετε το αρχείο σε στάδια χρησιμοποιώντας την επιλογή -m. Εάν το foo περιέχει τους υποκαταλόγους tom, dick και harry, μπορείτε:

zip -rm foo foo/tom
zip -rm foo foo/dick
zip -rm foo foo/harry

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

Χρησιμοποιήστε το -s για να ορίσετε το μέγεθος διαίρεσης και να δημιουργήσετε ένα αρχείο διαίρεσης. Το μέγεθος δίνεται ως ένας αριθμός που ακολουθείται προαιρετικά από ένα από τα k (KB), m (MB), g (GB) ή t (TB). Η εντολή


zip -s 2g -r split.zip foo

δημιουργεί ένα αρχείο κατακερματισμού του καταλόγου foo, με τμήματα που δεν υπερβαίνουν τα 2 GB το καθένα. Εάν το foo περιείχε 5 GB δεδομένων και τα δεδομένα αποθηκεύονταν στο αρχείο κατακερματισμού χωρίς συμπίεση (για να απλοποιήσουμε το παράδειγμα), αυτό θα δημιουργούσε τρία τμήματα, το split.z01 στα 2 GB, το split.z02 στα 2 GB και το split.zip λίγο πάνω από 1 GB.

Η επιλογή -sp μπορεί να χρησιμοποιηθεί για να προκαλεί παύση στο zip μεταξύ των τμημάτων, ώστε να μπορείτε να αλλάζετε αφαιρούμενα μέσα, αλλά διαβάστε τις περιγραφές και τις προειδοποιήσεις για τις επιλογές -s και -sp παρακάτω.

Αν και το zip δεν ενημερώνει αρχεία κατακερματισμού, το zip παρέχει τη νέα επιλογή -O (--output-file) για να επιτρέπει την ενημέρωση αρχείων κατακερματισμού και την αποθήκευσή τους σε ένα νέο αρχείο. Για παράδειγμα,

zip inarchive.zip foo.c bar.c --out outarchive.zip

διαβάζει το αρχείο inarchive.zip, ακόμη και αν είναι κατακερματισμένο, προσθέτει τα αρχεία foo.c και bar.c και γράφει το τελικό αρχείο στο outarchive.zip. Εάν το inarchive.zip είναι κατακερματισμένο, τότε το outarchive.zip χρησιμοποιεί από προεπιλογή το ίδιο μέγεθος τμήματος. Προσέξτε ότι το outarchive.zip και τυχόν αρχεία κατακερματισμού που δημιουργούνται μαζί με αυτό αντικαθίστανται πάντα χωρίς προειδοποίηση. Αυτό ενδέχεται να αλλάξει στο μέλλον.

ΑΝΤΙΚΑΤΑΣΤΑΣΗ ΠΡΟΤΥΠΟΥ

Αυτή η ενότητα ισχύει μόνο για το Unix. Παρακολουθήστε αυτόν τον χώρο για λεπτομέρειες σχετικά με τη λειτουργία MSDOS και VMS. Ωστόσο, οι ειδικοί χαρακτήρες μπαλαντέρ * και [] παρακάτω ισχύουν τουλάχιστον και για το MSDOS.

Τα Unix shells (sh, csh, bash και άλλα) συνήθως πραγματοποιούν αντικατάσταση ονομάτων αρχείων (που ονομάζεται επίσης "globbing") στις παραμέτρους της εντολής. Γενικά, οι ειδικοί χαρακτήρες είναι:

?      αντιστοιχεί σε οποιονδήποτε μεμονωμένο χαρακτήρα

*      αντιστοιχεί σε οποιονδήποτε αριθμό χαρακτήρων (συμπεριλαμβανομένου του μηδενός)

[]     αντιστοιχεί σε οποιονδήποτε χαρακτήρα στο εύρος που υποδεικνύεται μέσα στις αγκύλες (παράδειγμα: [a-f], [0-9]).

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

zip archive "*.[hc]"

θα αρχειοθετούσε όλα τα αρχεία στον τρέχοντα κατάλογο που τελειώνουν σε .h ή .c.

Υποστηρίζονται εύρη χαρακτήρων:

zip archive "[a-f]*"

θα πρόσθετε στο αρχείο όλα τα αρχεία που ξεκινούν με "a" έως "f".

Υποστηρίζεται επίσης η άρνηση, όπου οποιοσδήποτε χαρακτήρας σε αυτή τη θέση που δεν βρίσκεται στη λίστα ταιριάζει. Η άρνηση υποστηρίζεται προσθέτοντας το ! ή το ^ στην αρχή της λίστας:

zip archive "*.[!o]"

αντιστοιχεί σε αρχεία που δεν τελειώνουν σε ".o".

Στο WIN32, η αντιστοίχιση [] πρέπει να ενεργοποιηθεί με την επιλογή -RE για να αποφευχθεί η σύγχυση που προκαλούν τα ονόματα με [ ή ].

Όταν αυτοί οι χαρακτήρες συναντώνται (χωρίς να διαφεύγουν με μια ανάστροφη κάθετο ή εισαγωγικά), το shell θα αναζητήσει αρχεία σε σχέση με την τρέχουσα διαδρομή που ταιριάζουν με το μοτίβο και θα αντικαταστήσει την παράμετρο με μια λίστα των ονομάτων που ταιριάζουν.

Το πρόγραμμα zip μπορεί να κάνει την ίδια αντιστοίχιση σε ονόματα που βρίσκονται στο αρχείο zip που τροποποιείται ή,
στην περίπτωση των επιλογών -x (εξαίρεση) ή -i (συμπερίληψη), στη λίστα των αρχείων που θα υποβληθούν σε επεξεργασία,
χρησιμοποιώντας αντεστραμμένες κάθετες ή εισαγωγικά για να υποδείξει στο shell να μην πραγματοποιήσει την επέκταση ονομάτων. Σε γενικές γραμμές, όταν
το zip συναντά ένα όνομα στη λίστα των αρχείων που θα υποβληθούν σε επεξεργασία, πρώτα αναζητά το όνομα στο σύστημα αρχείων.

Εάν το βρει, τότε το προσθέτει στη λίστα των αρχείων που θα υποβληθούν σε επεξεργασία. Εάν δεν το βρει, αναζητά το όνομα στο αρχείο zip που τροποποιείται (εάν υπάρχει), χρησιμοποιώντας τους χαρακτήρες αντιστοίχισης προτύπου που περιγράφονται παραπάνω, εάν υπάρχουν. Για κάθε αντιστοίχιση, θα προσθέσει αυτό το όνομα στη λίστα των αρχείων που θα υποβληθούν σε επεξεργασία, εκτός εάν αυτό το όνομα ταιριάζει με κάποιο όνομα που δίνεται με την επιλογή -x ή δεν ταιριάζει με κανένα όνομα που δίνεται με την επιλογή -i.


Η αντιστοίχιση προτύπων περιλαμβάνει τη διαδρομή, επομένως μοτίβα όπως \\*.o αντιστοιχούν σε ονόματα που τελειώνουν σε ".o", ανεξάρτητα από το πρόθεμα διαδρομής. Σημειώστε ότι η ανάστροφη κάθετος πρέπει να προηγείται κάθε ειδικού χαρακτήρα (π.χ. ?*[]), ή ολόκληρο το όρισμα πρέπει να περικλείεται σε διπλά εισαγωγικά ("").

Σε γενικές γραμμές, χρησιμοποιήστε ανάστροφες κάθετους ή διπλά εισαγωγικά για διαδρομές που περιέχουν χαρακτήρες μπαλαντέρ, ώστε να ενεργοποιήσετε την αντιστοίχιση προτύπων του zip για διαδρομές αρχείων και πάντα για διαδρομές και συμβολοσειρές που περιέχουν κενά ή χαρακτήρες μπαλαντέρ για τις επιλογές -i, -x, -R, -d και -U και όπου αλλού το zip χρειάζεται να επεξεργαστεί τους χαρακτήρες μπαλαντέρ.

ΠΕΡΙΒΑΛΛΟΝ

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

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

ZIP
[Δεν υπάρχει στα RISC OS και VMS] δείτε το ZIPOPT

Zip$Options [RISC OS] δείτε το ZIPOPT

Zip$Exts [RISC OS] περιέχει επεκτάσεις διαχωρισμένες με άνω και κάτω τελεία, η οποία θα έχει ως αποτέλεσμα οι αρχικές ονομασίες αρχείων με μία από τις καθορισμένες επεκτάσεις να προστεθούν στο αρχείο zip με το όνομα αρχείου και την επέκταση να αλλάξουν θέση.

ZIP_OPTS
[VMS] δείτε το ZIPOPT

ΔΕΙΤΕ ΕΠΙΣΗΣ

compress(1), shar(1), tar(1), unzip(1), gzip(1)

ΔΙΑΓΝΩΣΤΙΚΑ

Η κατάσταση εξόδου (ή το επίπεδο σφάλματος) προσεγγίζει τους κωδικούς εξόδου που ορίζονται από την PKWARE και έχει τις ακόλουθες τιμές, εκτός από το VMS:

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

2     απροσδόκητο τέλος του αρχείου zip.

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

4     το zip δεν μπόρεσε να διαθέσει μνήμη για έναν ή περισσότερους ρυθμιστικούς χώρους κατά την αρχικοποίηση του προγράμματος.

5     εντοπίστηκε ένα σοβαρό σφάλμα στη μορφή του αρχείου zip. Η επεξεργασία πιθανότατα απέτυχε αμέσως.

6     η καταχώρηση είναι πολύ μεγάλη για να υποβληθεί σε επεξεργασία (όπως αρχεία εισόδου μεγαλύτερα από 2 GB όταν δεν χρησιμοποιείται το Zip64 ή όταν προσπαθείτε να διαβάσετε ένα υπάρχον αρχείο που είναι πολύ μεγάλο) ή η καταχώρηση είναι πολύ μεγάλη για να διασπαστεί με το zipsplit

7     ακατάλληλη μορφή σχολίου

8     το zip -T απέτυχε ή εξαντλήθηκε η μνήμη

9     ο χρήστης διέκοψε πρόωρα το zip με το Ctrl+C (ή κάτι παρόμοιο)

10    το zip συνάντησε ένα σφάλμα κατά τη χρήση ενός προσωρινού αρχείου

11    σφάλμα ανάγνωσης ή αναζήτησης

12    το zip δεν έχει καμία σχέση

13    λείπει ή είναι άδειο το αρχείο zip

14    σφάλμα κατά την εγγραφή σε ένα αρχείο

15    το zip δεν μπόρεσε να δημιουργήσει ένα αρχείο για εγγραφή

16    λανθασμένες παράμετροι γραμμής εντολών

18    το zip δεν μπόρεσε να ανοίξει ένα καθορισμένο αρχείο για ανάγνωση

19    το zip μεταγλωττίστηκε με επιλογές που δεν υποστηρίζονται σε αυτό το σύστημα

Το VMS ερμηνεύει τις τυπικές τιμές επιστροφής του Unix (ή του PC) ως άλλα, πιο τρομακτικά πράγματα, επομένως το zip αντιστοιχίζει αυτές τις τιμές σε κωδικούς κατάστασης τύπου VMS. Γενικά, το zip ορίζει το VMS Facility = 1955 (0x07A3),
Code = 2* Unix_status και μια κατάλληλη τιμή Severity (όπως καθορίζεται στο ziperr.h). Περισσότερες λεπτομέρειες
περιλαμβάνονται στην τεκμηρίωση ειδική για το VMS. Δείτε τα [.vms]NOTES.TXT και [.vms]vms_msg_gen.c.

ΣΦΑΛΜΑΤΑ

Το zip 3.0 δεν είναι συμβατό με το PKUNZIP 1.10. Χρησιμοποιήστε το zip 1.1 για να δημιουργήσετε αρχεία zip που μπορούν να εξαχθούν από το PKUNZIP 1.10.

Τα αρχεία zip που δημιουργούνται από το zip 3.0 δεν πρέπει να ενημερώνονται από το zip 1.1 ή το PKZIP 1.10, εάν περιέχουν κρυπτογραφημένα μέλη ή εάν έχουν δημιουργηθεί σε μια σωλήνα ή σε μια μη-προσβάσιμη συσκευή. Οι παλιές εκδόσεις του zip ή του PKZIP θα δημιουργούσαν ένα αρχείο με λανθασμένη μορφή. Οι παλιές εκδόσεις μπορούν
να εμφανίσουν τα περιεχόμενα του αρχείου zip, αλλά δεν μπορούν να το εξαγάγουν έτσι κι αλλιώς (λόγω του νέου αλγορίθμου συμπίεσης). Εάν δεν χρησιμοποιείτε κρυπτογράφηση και χρησιμοποιείτε κανονικά αρχεία δίσκου, δεν χρειάζεται να ανησυχείτε για αυτό το πρόβλημα.

Στο VMS, δεν διαχειρίζονται σωστά όλες οι παράξενες μορφές αρχείων. Μόνο τα αρχεία zip τύπου stream-LF
αναμένεται να λειτουργούν με το zip. Άλλα μπορούν να μετατραπούν χρησιμοποιώντας το πρόγραμμα BILF του Rahul Dhesi. Αυτή
η έκδοση του zip χειρίζεται ορισμένες από αυτές τις μετατροπές εσωτερικά. Όταν χρησιμοποιείτε το Kermit για να μεταφέρετε αρχεία zip από το VMS στο MSDOS, πληκτρολογήστε "set file type block" στο VMS. Όταν μεταφέρετε από το MSDOS στο VMS,
πληκτρολογήστε "set file type fixed" στο VMS. Και στις δύο περιπτώσεις, πληκτρολογήστε "set file type binary" στο MSDOS.

Σε ορισμένες παλαιότερες εκδόσεις του VMS, το zip μπορεί να "κολλήσει" για προδιαγραφές αρχείων που χρησιμοποιούν σύνταξη DECnet
foo::*.*.

Στο OS/2, το zip δεν μπορεί να αντιστοιχίσει ορισμένα ονόματα, όπως αυτά που περιλαμβάνουν θαυμαστικό ή σύμβολο hash.
Αυτό είναι ένα σφάλμα στο ίδιο το OS/2: τα 32-bit DosFindFirst/Next δεν βρίσκουν αυτά τα ονόματα. Άλλα προγράμματα
όπως το GNU tar επηρεάζονται επίσης από αυτό το σφάλμα.

Στο OS/2, η ποσότητα των Extended Attributes που εμφανίζονται από το DIR είναι (για λόγους συμβατότητας) η ποσότητα
που επιστρέφεται από την έκδοση 16-bit του DosQueryPathInfo(). Διαφορετικά, το OS/2 1.3 και το 2.0 θα ανέφεραν
διαφορετικά μεγέθη EA κατά την εμφάνιση ενός αρχείου. Ωστόσο, η διάταξη της δομής που επιστρέφεται από το DosQueryPathInfo() των 32-bit είναι λίγο διαφορετική, χρησιμοποιεί επιπλέον δακτυλίους γέμισης και δείκτες συνδέσμων (είναι μια
συνδεδεμένη λίστα) για να έχει όλα τα πεδία σε όρια 4-byte για φορητότητα σε μελλοντικές εκδόσεις του OS/2. Επομένως,
η τιμή που αναφέρεται από το zip (το οποίο χρησιμοποιεί αυτήν τη μορφή των 32-bit), διαφέρει από αυτήν που αναφέρεται από το DIR.
Το zip αποθηκεύει τη μορφή των 32-bit για φορητότητα, ακόμη και η έκδοση 16-bit που έχει μεταγλωττιστεί με MS-C και εκτελείται στο OS/2 1.3, επομένως ακόμη και αυτή εμφανίζει το μέγεθος της μορφής των 32-bit.

ΣΥΓΓΡΑΦΕΙΣ

Copyright (C) 1997-2008 Info-ZIP.

Επί του παρόντος διανέμεται υπό την άδεια Info-ZIP.


Πνευματικά δικαιώματα (C) 1990-1997 Mark Adler, Richard B. Wales, Jean-loup Gailly, Onno van der Linden, Kai Uwe Rommel, Igor Mandrichenko, John Bush και Paul Kienitz.

Αρχικό δικαίωμα:

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

ΟΠΩΣ ΟΠΟΙΑΔΗΠΟΤΕ ΑΛΛΗ ΔΩΡΕΑΝ ΠΡΑΓΜΑ, ΤΟ ZIP ΚΑΙ ΤΑ ΣΥΝΟΔΕΥΤΙΚΑ ΕΡΓΑΛΕΙΑ ΠΑΡΕΧΟΝΤΑΙ ΩΣ ΕΧΟΥΝ ΚΑΙ ΔΕΝ ΠΑΡΕΧΟΝΤΑΙ ΚΑΜΙΑΣ ΕΙΔΟΥΣ ΕΓΓΥΗΣΗ, ΟΥΤΕ ΕΚΦΡΑΣΤΗΚΑ ΟΥΤΕ ΣΙΩΠΗΡΑ. ΣΕ ΚΑΜΙΑ ΠΕΡΙΠΤΩΣΗ ΟΙ ΚΑΤΟΧΟΙ ΤΩΝ ΠΝΕΥΜΑΤΙΚΩΝ ΔΙΚΑΙΩΜΑΤΩΝ ΘΑ ΕΥΘΥΝΟΝΤΑΙ ΓΙΑ ΟΠΟΙΑΔΗΠΟΤΕ ΖΗΜΙΑ ΠΟΥ ΠΡΟΚΥΠΤΕΙ ΑΠΟ ΤΗ ΧΡΗΣΗ ΑΥΤΟΥ ΤΟΥ ΛΟΓΙΣΜΙΚΟΥ.

Παρακαλούμε στείλτε αναφορές σφαλμάτων και σχόλια χρησιμοποιώντας την ιστοσελίδα στη διεύθυνση: www.info-zip.org. Για αναφορές σφαλμάτων, παρακαλούμε συμπεριλάβετε την έκδοση του zip (δείτε zip -h), τις επιλογές μεταγλώττισης που χρησιμοποιήθηκαν για τη μεταγλώττισή του (δείτε zip -v), το μηχάνημα και το λειτουργικό σύστημα που χρησιμοποιείτε και όσο το δυνατόν περισσότερες πρόσθετες πληροφορίες.

ΕΥΧΑΡΙΣΤΙΕΣ

Ευχαριστούμε τον R. P. Byrne για το πρόγραμμα Shrink.Pas, το οποίο ενέπνευσε αυτό το έργο και από το οποίο κλάπηκε ο αλγόριθμος συρρίκνωσης· τον Phil Katz για τη δημοσίευση του αρχείου zip, της μορφής συμπίεσης και της επέκτασης αρχείου .ZIP και για την αποδοχή μικρών αλλαγών στη μορφή αρχείου· τον Steve Burg για διευκρινίσεις σχετικά με τη μορφή deflate· τον Haruhiko Okumura και τον Leonid Broukhis για την παροχή ορισμένων χρήσιμων ιδεών για τον αλγόριθμο συμπίεσης· τον Keith Petersen, τον Rich Wales, τον Hunter Goatley και τον Mark Adler για την παροχή μιας λίστας αλληλογραφίας και μιας τοποθεσίας FTP για τη χρήση της ομάδας Info-ZIP· και, το σημαντικότερο, στην ίδια την ομάδα Info-ZIP (που αναφέρεται στο αρχείο infozip.who) χωρίς τις αδιάκοπες προσπάθειες δοκιμών και διόρθωσης σφαλμάτων των οποίων μια φορητή έκδοση zip δεν θα ήταν δυνατή. Τέλος, θα πρέπει να ευχαριστήσουμε (ή να κατηγορήσουμε) τον πρώτο συντονιστή της Info-ZIP, τον David Kirschbaum, που μας μπλέξει σε όλη αυτή την κατάσταση. Η σελίδα εγχειριδίου ξαναγράφτηκε για το Unix από τον R. P. C. Rodgers και ενημερώθηκε από τον E. Gordon για την έκδοση zip 3.0.