Πώς μπορώ να δημιουργήσω και να εξάγω αρχεία zip από τη γραμμή εντολών;
Συνήθως χρησιμοποιεί κανείς το tar
για να δημιουργήσει ένα ασυμπίεστο αρχείο και είτε το gzip
είτε το bzip2
για να συμπιέσει αυτό το αρχείο. Οι αντίστοιχες εντολές gunzip
και bunzip2
μπορούν να χρησιμοποιηθούν για την αποσυμπίεση του εν λόγω αρχείου, ή μπορείτε απλά να χρησιμοποιήσετε τις σημαίες στην εντολή tar
για να εκτελέσετε την αποσυμπίεση.
Αν αναφέρεστε ειδικά στη μορφή αρχείου Zip, μπορείτε απλά να χρησιμοποιήσετε τις εντολές zip
και unzip
.
Για να συμπιέσετε:
zip squash.zip file1 file2 file3
ή για να συμπιέσετε έναν κατάλογο
zip -r squash.zip dir1
Για να αποσυμπιέσετε:
unzip squash.zip
αυτό το αποσυμπιέζει στον τρέχοντα κατάλογο εργασίας σας.
Υπάρχει ένας πραγματικά εύρος διαφορετικών τρόπων συμπίεσης και αποσυμπίεσης κάτω από τα παράγωγα του UNIX, οπότε θα υποθέσω ότι εννοούσατε το "zip" με τη γενική έννοια και όχι μια συγκεκριμένη μορφή αρχείου.
Μπορείτε να συμπιέσετε αρχεία (σε συμπιεσμένη μορφή) με το πρόγραμμα tar
του GNU:
tar -zcvf myfile.tgz .
το οποίο θα κάνει τον τρέχοντα κατάλογο. Αντικαταστήστε το .
με άλλα ονόματα αρχείων αν θέλετε κάτι άλλο.
Για να αποσυμπιέσετε αυτό το αρχείο, χρησιμοποιήστε:
tar -zxvf myfile.tgz
Αυτό βέβαια προϋποθέτει ότι έχετε ένα tar
ικανό να κάνει τη συμπίεση καθώς και το συνδυασμό των αρχείων σε ένα.
Αν όχι, μπορείτε απλά να χρησιμοποιήσετε το tar cvf
ακολουθούμενο από το gzip
(και πάλι, αν υπάρχει) για συμπίεση και το gunzip
ακολουθούμενο από το tar xvf
.
Για ειδικό χειρισμό αρχείων μορφής ZIP, θα σας συνιστούσα να κατεβάσετε το 7zip
και να το χρησιμοποιήσετε - αναγνωρίζει μια τεράστια ποικιλία μορφών αρχείων, συμπεριλαμβανομένης και της μορφής ZIP.
Η πιο συνηθισμένη απάντηση είναι η pax
, η οποία συνιστάται έναντι των cpio
και tar
.
Σε αντίθεση με το cpio
και το POSIX tar
, αλλά όπως και το GNU tar
, το pax
είναι σε θέση να αρχειοθετεί αρχεία και να συμπιέζει το αρχείο. Αυτή η συμπεριφορά διαφέρει από το zip
, το οποίο συμπιέζει κάθε αρχείο πριν το τοποθετήσει στο αρχείο.