Συμπίεση αποσυμπίεση αρχείων zip, rar, gz, tgz

Τα αρχεία .zip και .rar είναι συμπιεσμένα αρχεία ώστε να εξοικονομηθεί χώρος στον υπολογιστή ή να υποβοηθηθεί η μεταφορά αρχείων μεταξύ υπολογιστών. Η αποσυμπίεση τους με προγράμματα(ΤΟ ΔΩΡΕΆΝ 7-zip, και τα γνωστά Win-RAR, WINZIP που κοστίζουν αν δεν τα έχετε)  είναι εύκολη υπόθεση. Φυσικά μπορείτε και να συμπιέσετε αρχεία εύκολα ώστε να τα στείλετε σαν συνημμένα αρχεία σε email. Πχ το GMail έχει ανώτατο όριο για συνημμένα αρχεία(attachments), 25 MB.

Πως θα κάνω unzip 

1)Παρακάτω, συζητάμε για το πρόγραμμα συμπίεσης - αποσυμπίεσης 7-zip(δωρεάν) στα Windows. Όμως, η ίδια λογική και περίπου τα ίδια πράγματα ισχύουν και για τα Winrar, winzip!!
 2)Στα Windows 7 αν σε ένα ζιπαρισμένο(συμπιεσμένο) αρχείο zip κάνεις διπλό κλικ σου εμφανίζει τη λίστα που περιέχει μέσα. Μπορεί να περιέχει 1 φάκελο ο οποίος να περιέχει πολλά αρχεία ή να είναι χύμα τα αρχεία μέσα στο zip(κακώς). Αν υπάρχει φάκελός μόνο δεξι κλικ και αντιγραφή -ξέρω γω- στην επιφάνεια εργασίας.

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



Μια διευκρίνηση πριν ξεκινήσω: Διαφορά archiving από συμπίεση

Archiving σημαίνει ότι παίρνεις 10 αρχεία και τα συνδυάζεις σε ένα αρχείο(πχ zip ή tar) χωρίς καμία διαφορά στο συνολικό μέγεθος. Ξεκινάς με 1ΜΒ καταλήγεις σε ένα. Ενώ αν συμπιέσεις 100 ΜΒ το αποτέλεσμα μπορεί να είναι ότι θα καταλήξεις σε αρχείο zip ή rar ή .tar.gz 20 ΜΒ πχ.


Συμπίεση-αποσυμπίεση αρχείων zip, rar, αφαίρεση(σβήσιμο)-αντιγραφή-αρχείων μέσα από το αρχείο zip, rar στα Windows

7-zip


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

Ας πούμε ότι έχουμε το αρχείο test.rar(ή το test.zip) Και θέλουμε να το αποσυμπιέσουμε για να πάρουμε το αρχείο που βρίσκεται μέσα.


Κάνουμε δεξί κλικ πάνω στο συμπιεσμένο αρχείο test.rar και επιλέγουμε "άνοιγμα" για να δούμε καταρχήν τι περιέχει(ως ένα ελάχιστο μέτρο ασφαλείας. Το πρώτο που θα έπρεπε κάνουμε είναι έλεγχος του συμπιεσμένου αρχείου μας με antivirus).

 Με το "Άνοιγμα" λοιπόν, δεν αποσυμπιέζεται τίποτα, μόνο βλέπουμε μέσα στο πχ rar ή στο zip τι περιέχει. Αν είχε πχ φακέλους μέσα, με διπλό κλικ σε ένα από τους φακέλους θα έβλεπα τι περιέχει μέσα στο φάκελο. Αν είχε άλλα rar μέσα, με διπλό κλικ σε αυτά θα έβλεπα τι περιέχουν).


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


 

 

Σβήσιμο αρχείων μέσα στο rar ή zip


Μπορούμε να σβήσουμε όποια αρχεία θέλουμε μέσα σε ένα .rar ή zip. Αφού όπως πριν ο ανοίξουμε με δεξί κλικ, βλέπουμε ποια αρχεία περιέχει και επιλέγουμε ένα που δεν το θέλουμε μεσα στο αρχείο rar στην περίπτωση μας. Μετά, πιέστε το πλήκτρο Delete(Del) του πληκτρολογίου σας. Επίσης, μπορούμε να επιλέξουμε για σβήσιμο περισσότερα του ενός αρχεία. Έχουμε πατημένο το πλήκτρο Ctrl, επιλέγουμε ένα-ένα τα αρχεία, και πατάμε το delete. Γιατί να τα σβήσουμε; Φανταστείτε ότι, όπως θα σας δείξω, φτιάξατε δικό σας zip ή rar με πολλά wallpaper για να τα στείλετε σε μια φίλη. Όμως στο τέλος το αρχείο σας βγήκε 27 MB. Εσείς θέλατε 25. Άρα. αφαιρείτε όσα αρχεία θέλετε μέχρι να πέσετε κάτω από τα 25.

Πως συμπιέζουμε αρχεία με το πρόγραμμα 7-zip


Έστω ότι έχουμε 3 αρχεία κειμένου, τα text1.txt, text2.txt και text3.txt. Με πατημένο το πλήκτρο Ctrl, επιλέγουμε ένα-ένα τα αρχεία. Δεξί κλικ και επιλογή 7-zip και μετά  "προσθήκη σε αρχείο συμπίεσης".
Εμφανίζεται παράθυρο, όπως πριν, με πολλές επιλογές. ο πρόγραμμα ήδη έχει επιλέξει όνομα για το προς δημιουργία αρχείο zip σας: το όνομα του φακέλου που περιέχονται τα αρχεία. Μπορείτε, αν θέλετε να το αλλάξετε. Η κρίσημη επιλογή είναι εκεί που επιλέγουμε τη "Μορφή της συμπίεσης"








  • zip
  • 7zip
  • tar

Είναι ήδη επιλεγμένο το zip. Το αφήνουμε έτσι.

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

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

Στο τμήμα "κρυπτογράφηση", αν θέλετε σαν μέτρο ασφαλείας βάζετε password. Έτσι, το περιεχόμενο κρυπτογραφείται και προστατεύεται και με password. Οπότε όποιος θα το ανοίξει πρέπει να ξέρει το password. Για τους μη αρχάριους αυτό το μέτρο πιθανόν να είναι εύκολο να ξεπεραστεί. Επιπλέον είναι πιθανό, αν το zip το δημιουργήσατε πχ με7 zip και προσπαθεί να το ανοίξει η φίλη σας με winrar να μην αναγνωρίζει το password και να μείνουν τα αρχεία κλειδωμένα. Οπότε όπου δε χρειάζεται δεν βάζετε.

Συνεχίζοντας, πατάμε ΟΚ και είναι έτοιμο το zip στο φάκελο που εσείς επιλέξατε. Αν δεν επιλέξατε το zip δημιουργείται στον ίδιο φάκελο με τα αρχεία προς συμπίεση..

Επανένωση κομματιασμένου σε συμπιεσμένα κομμάτια rar αρχείου με 7-zip


Ας πούμε ότι έχετε στο σκληρό σας δίσκο ένα αρχείο rar και περιμένετε να βγει από μέσα ένα βίντεο avi. Με το άνοιγμα όμως, όπως είπαμε πριν, του rar βλέπετε ότι μέσα έχει σωρό από αλλα rar. Τι γίνεται; Πως θα αποσυμπιέσετε για να πάρετε στα χέρια σας το ένα avi που θέλετε;
Γιατί τόσα πόλλά rar;

Background info: Αν έχετε ένα μεγάλο αρχείο πχ μερικών GB, και θέλετε να το σπάσετε σε πολλά κομμάτια ώστε πχ να χωρέσει το κάθε κομμάτι σε cd των 700 ΜΒ κάνετε το εξής:

  • Δεξί κλικ στο αρχείο και επιλογή 7-zip >  "Προσθήκη σε αρχείο συμπίεσης"
  • Στο τμήμα "τεμαχισμός σε τόμους" κλικ στο βελάκι και επιλογή "650 ή 700 MB cd"
  • click OK
Συνεχίζοντας τώρα με το ερώτημα μας: έχουμε στο σκληρό μας δίσκο ένα αρχείο rar και περιμένουμε να βγει από μέσα πχ ένα βίντεο avi. Με το άνοιγμα όμως,  του rar βλέπουμε ότι μέσα έχει σωρό από αλλα rar. media.part001.rar media.part002.rar, media.part003.rar, κλπ κλπ.

Δεξί Κλικ στο ΠΡΩΤΟ αριθμημένο αρχείο, πχ στην περίπτωση μας   media.part001.rar
 7-zip >  ποσυμπίεση εδώ. Αυτό ήταν, τοαποσυμπιεσμένο αρχείο  εμφανίζεται δίπλα στα συμπιεσμένα αρχεία.

Αν πάλι με το άνοιγμα του παραπάνω rar δούμε ότι έχει μέσα αρχεία με κατάληξη .r01, .r02, .r03,.....  ή  .r001, .r002, .r003,....τότε χωρίς να πανικοβληθούμε Δεξί Κλικ στο ΠΡΩΤΟ αριθμημένο αρχείο, πχ στην περίπτωση μας   media.r01 ή media.r001 . Μπορεί να έχετε και media.r00 ή media.r000 οπότε τότε Δεξί Κλικ 7-zip >  ποσυμπίεση εδώ σε αυτό.

Επανένωση κομματιασμένου σε συμπιεσμένα κομμάτια zip αρχείου με 7-zip


Αν έχετε  σωρό από αλλα zip, media.zip.001, media.zip.001, media.zip.001, κλπ κλπ μέσα στο αρχείο zip που λάβατε, η μέθοδος ίδια. Δεξι κλικ στο πρώτο αριθμημένο κομμάτι δηλαδή εδώ το media.zip.001 7-zip >  ποσυμπίεση εδώ

Πως "αποσυμπιέζω" κομμάτια με κατάληξη .001, .002, .003, ...κλπ

Υπάρχει πιθανότητα να δείτε αρχεία του τύπου name.001, name.002, name.003,...κλ κλπ μέσα στο συμπιεσμένο αρχείο. Η αποσυμπίεση δεν είναι το σωστό όνομα: κανονικά αυτά τα αρχεία δεν είναι συμπιεσμένα αρχεία όπως RAR, αλλά μόνο διαχωρισμένα από ένα διαχωριστή αρχείων(file splitter) πιθανά το δωρεάν HJ-Splitter(που συγκολλάει κιόλας).

Δεξί Κλικ στο ΠΡΩΤΟ αριθμημένο αρχείο, πχ στην περίπτωση μας   media.001---> 7-zip >  άνοιγμα και μετά δεξί κλικ και  "άνοιγμα στο ίδιο παράθυρο". Και τελικά επιλέξτε πάλι με δεξί κλικ "αντιγραφή" όπου μετά στο παραθυράκι διαλόγου επιλέξτε το ΠΟΥ θα αντιγράψει το ακέραιο πλέον αρχείο μας.

Δημιουργεία tar, προσθήκη αρχείων στο υπάρχον tar & Untar με 7-zip στα Windows

Επιλέγουμε τα αρχεία που θέλουμε, έχοντας πατημένο το Ctrl. Δεξί κλικ πάνω σε ένα από αυτά, επιλογή 7zip και μετά επιλογή "προσθήκη σε συμπιεσμένο αρχείο". Στο νέο παράθυρο για τύπο αρχείου ειλέξτε tar.

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

Για untar, επιλέξτε ένα tar και 7zip αποσυμπίεση εδώ!

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










Συνεχίζουμε
:

To 7zip στη Γραμμή εντολών Windows


Κάντε cd C:\Program Files\7-Zip

C:\Program Files\7-Zip>

Γράψτε 7z -?  και Enter για δείτε το παρακάτω helpΑυτό που θα πάρετε θα είναι μια λίστα με τα command line switches του 7zip(για την ακρίβεια το πρόγραμμα GUI είναι 7zFM.exe. ενώ το αντίστοιχο της windows cmd είναι 7z):

7-Zip 9.09 beta  Copyright (c) 1999-2009 Igor Pavlov  2009-12-12


Usage: 7z [...] [...]
       [<@listfiles...>]


  a: Add files to archive
  b: Benchmark
  d: Delete files from archive
  e: Extract files from archive (without using directory names)
  l: List contents of archive
  t: Test integrity of archive
  u: Update files to archive
  x: eXtract files with full paths

  -ai[r[-|0]]{@listfile|!wildcard}: Include archives
  -ax[r[-|0]]{@listfile|!wildcard}: eXclude archives
  -bd: Disable percentage indicator
  -i[r[-|0]]{@listfile|!wildcard}: Include filenames
  -m{Parameters}: set compression Method
  -o{Directory}: set Output directory
  -p{Password}: set Password
  -r[-|0]: Recurse subdirectories
  -scs{UTF-8 | WIN | DOS}: set charset for list files
  -sfx[{name}]: Create SFX archive
  -si[{name}]: read data from stdin
  -slt: show technical information for l (List) command
  -so: write data to stdout
  -ssc[-]: set sensitive case mode
  -ssw: compress shared files
  -t{Type}: Set type of archive
  -u[-][p#][q#][r#][x#][y#][z#][!newArchiveName]: Update options
  -v{Size}[b|k|m|g]: Create volumes
  -w[{path}]: assign Work directory. Empty path means a temporary directory
  -x[r[-|0]]]{@listfile|!wildcard}: eXclude filenames
  -y: assume Yes on all queries


To zip και unzip στη Γραμμή εντολών Windows και linux


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

Λίγα λόγια για τα command line utilities για Windows και linux: zip, unzip.(Προσοχή, αυτά εγκαθίστανται ξεχωριστά μεν αλλά στον ίδιο φάκελο, τον C:\Program Files\GnuWin32. Για να εκκαταστείσετε και άλλα command line utilities στα Windows, που συναντώνται μόνο στο linux(πχ gz, bz2, .tar.gz, .tar.bz2), http://gnuwin32.sourceforge.net/  . Έτσι για να τις χρησιμοποιείται κανονικά στα windows θα χρειαστεί να βάλετε την διεύθυνση C:\Program Files\GnuWin32. στο περιβάλλον σας(ή στο PATH). Διαβάστε τι λένε στην αρχική σελίδα του πρότζεκτ πριν εγκαταστήσετε με δική σας ευθύνη.

Mόνο μη μπερδεύουμε το zip με το winzip. Το zip εδώ δεν είναι πρόγραμμα GUI.

 Το zip και κάνει archiving πολλά αρχεία σε ένα και συμπιέζει μέγεθος. πχ με την εντολή

  • zip -0 test.zip *.txt έχω archiving μόνο.
  • zip -9 test.zip *.txt έχω archiving και την καλύτερη δυνατή συμπίεση
  • zip -e test.zip 12345678 *.txt έχω archiving και συμπίεση και κρυπτογράφηση και password

ZIP


C:\Users\USER\Desktop>zip
Copyright (c) 1990-2008 Info-ZIP - Type 'zip "-L"' for software license.
Zip 3.0 (July 5th 2008). Usage:
zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]
  The default action is to add or replace zipfile entries from list, which
  can include the special name - to compress standard input.
  If zipfile and list are omitted, zip compresses stdin to stdout.
  -f   freshen: only changed files  -u   update: only changed or new files
  -d   delete entries in zipfile    -m   move into zipfile (delete OS files)
  -r   recurse into directories     -j   junk (don't record) directory names
  -0   store only                   -l   convert LF to CR LF (-ll CR LF to LF)
  -1   compress faster              -9   compress better
  -q   quiet operation              -v   verbose operation/print version info
  -c   add one-line comments        -z   add zipfile comment
  -@   read names from stdin        -o   make zipfile as old as latest entry
  -x   exclude the following names  -i   include only the following names
  -F   fix zipfile (-FF try harder) -D   do not add directory entries
  -A   adjust self-extracting exe   -J   junk zipfile prefix (unzipsfx)
  -T   test zipfile integrity       -X   eXclude eXtra file attributes
  -!   use privileges (if granted) to obtain all aspects of WinNT security
  -$   include volume label         -S   include system and hidden files
  -e   encrypt                      -n   don't compress these suffixes
  -h2  show more help

UNZIP


Προσοχή η έκδοση που έχω είναι λίγο παλιά(βλ λινκ πάνω για νεώτερη στα windows)

C:\Users\USER\Desktop>unzip
UnZip 5.51 of 22 May 2004, by Info-ZIP.  Maintained by C. Spieler.  Send
bug reports using http://www.info-zip.org/zip-bug.html; see README for details.

Usage: unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir]
  Default action is to extract files in list, except those in xlist, to exdir;
  file[.zip] may be a wildcard.  -Z => ZipInfo mode ("unzip -Z" for usage).

  -p  extract files to pipe, no messages     -l  list files (short format)
  -f  freshen existing files, create none    -t  test compressed archive data
  -u  update files, create if necessary      -z  display archive comment
  -x  exclude files that follow (in xlist)   -d  extract files into exdir

modifiers:                                   -q  quiet mode (-qq => quieter)
  -n  never overwrite existing files         -a  auto-convert any text files
  -o  overwrite files WITHOUT prompting      -aa treat ALL files as text
  -j  junk paths (do not make directories)   -v  be verbose/print version info
  -C  match filenames case-insensitively     -L  make (some) names lowercase
  -$  label removables (-$$ => fixed disks)  -V  retain VMS version numbers
  -X  restore ACLs (-XX => use privileges)   -s  spaces in filenames => '_'
                                             -M  pipe through "more" pager
Examples (see unzip.txt for more info):
  unzip data1 -x joe   => extract all files except joe from zipfile data1.zip
  unzip -fo foo ReadMe => quietly replace existing ReadMe if archive file newer

Λίγα λόγια για το gz, bz2, .tar.gz, .tar.bz2


η εντολή

$ gzip -c test.txt 

δημιουργεί το συμπιεσμένο test.txt.gz. Προσοχή, τεράστια διαφορά μεταξύ zip, gzip: όταν συμπιέζουμε με το zip το αρχικό αρχείο παραμένει αναλλοίωτο.Με το gzip σβήνεται και έχουμε μόνο το συμπιεσμένο πλέον αρχείο. Αν θέλετε να αφήνει αναλλοίωτο το αρχικό αρχείο:

$ gzip test.txt > test.txt.gz

με την εντολή


$ gzip -c -9  test.txt > gzip.txt.gz 

παίρνουμε τον καλύτερο βαθμό συμπίεσης.


η εντολή


$ gunzip -c test.txt.gz

αποσυμπιέζει.

η εντολή


$ bzip2 test.txt.gz

συμπιέζει. Με το gzip σβήνεται το αρχικό αρχείο και έχουμε μόνο το συμπιεσμένο πλέον αρχείο. πότε

$ bzip2 test.txt > test.txt.bz2


η εντολή


$ bunzip -c test.txt.bz2

αποσυμπιέζει.

με την εντολή

$ tar -cf test.tar *.txt

παίρνουμε όλα τα αρχεία text στο current directory και τα κάνουμε archive με το όνομα test.tar.
Το tar αφήνει αναλλοίωτα τα αρχικά αρχεία.

η εντολή

$ tar -cf test2.tar test2/

κάνει archive τον κατάλογο test2/ και όλους τους υποκαταλόγους και αρχεία που συμπεριλαμβάνονται σε αυτό.

η εντολή

$ tar -zcvf test2..tar.gz test2/

κάνει archive αλλά και συμπιέζει τον κατάλογο test2/ και όλους τους υποκαταλόγους και αρχεία που συμπεριλαμβάνονται σε αυτό.

Με την

 tar -xvf test.txt.tar

κάνουμε untar και παιρνουμε το test.txt.


Με την


 tar -zxvf test.txt.tar.gz

κάνουμε untar και ποσυμπιέζουμε και έτσιπαιρνουμε το test.txt.

Η βοήθεια στις γραμμές εντολών


Για περισσότερες πληροφορίες για τις εντολές γράφουμε εντολή /? ή εντολή -? ή εντολή --help ή help εντολή στα windows και  εντολή -h ή εντολή --help ή man εντολή στο linux