Hits : 3282

Linux Data Compression :: Mini How To 


Contents


Συμπίεση Δεδομένων


Τα κυριότερα προγράμματα συμπίεσης/αποσυμπίεσης στο λειτουργικό σύστημα linux
είναι πέντε (5).


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


Οι κυριότερες καταλήξεις αρχείων για κάθε αλγόριθμο (ΚΑΙ ΟΧΙ ΔΕΝ ΠΑΙΖΕΙ
ΚΑΜΙΑ ΣΗΜΑΣΙΑ ΣΤΟ LINUX – ΕΤΣΙ ΤΟ ΛΕΩ) είναι οι εξής (έστω ότι το όνομα
του συμπιεσμένου αρχείου είναι filename):

Καταλήξεις Αρχείων


Οι καταλήξεις αρχείων (file extension) δημιουργήθηκαν για να μπορούμε
εύκολα να καταλαβαίνω τι τύπου δεδομένα έχει ένα αρχείο. Σε παλαιότερα
συστήματα η κατάληξη ήταν ξεχωριστό attribute στο partition table και όχι
μέρος του ονόματος (π.χ. FAT). Σε νεώτερα λειτουρικά συστήματα αλλά κυρίως
σε unix(like/based) η πληροφορία του τύπου των δεδομένων καταγράφεται σε
metadata ή ακόμα καλύτερα σε extended attribute στο πίνακα του συστήματος
αρχείων. Ένας ακόμα τρόπος για να μάθουμε τον τύπο των δεδομένων ενός αρχείου
είναι το MIME Type κυρίως διαδεδομένος στο διαδίκτυο.

Στο Linux για να δούμε τον τύπο των δεδομένων ενός αρχείου πληκτρολογούμε την
εξής εντολή:

file filename.extension


και ένα παράδειγμα είναι το εξής:

file /bin/ls

/bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.8, dynamically linked (uses shared libs), stripped


top

Αποσυμπίεση Αρχείων


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


top

Συμπίεση Αρχείων


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


top

Archive Files :: Tar 


Τι γίνεται όταν έχουμε όχι ένα αρχείο αλλά έναν κατάλογο με πάρα μα πολλά
αρχεία και πολλούς υποκαταλόγους, τότε απλά χρειαζόμαστε το tar[link5].

Το tar είναι ένα πρόγραμμα με το οποίο δημιουργούμε archives ή κάνουμε
extract ολόκληρες δομές καταλόγων και αρχείων από μόνο ένα αρχείο.

top

Δημιουργία Archive


Έστω λοιπόν ότι θέλουμε να πάρουμε ένα αντίγραφο του καταλόγου /etc
Γράφουμε το εξής:


Οι παράμετροι είναι οι εξής:


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

top

Extract Αρχείων


Πως κάνουμε εξαγωγή των αρχείων και των καταλόγων από ένα αρχείο αρχειοθήκης.
Πληκτρολογούμε το εξής:


Οι παράμετροι είναι οι εξής:


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

top

Εμφάνιση Αρχείων


Πως μπορούμε να δούμε τα περιεχόμενα ενός αρχείου archive χωρίς να τα
εξάγουμε, πολύ απλά πληκτρολογούμε το εξής:


Οι παράμετροι είναι οι εξής:


οπότε θα δούμε τα περιεχόμενα ενός αρχείου χωρίς να τα εξάγουμε.

top

Εξαγωγή Αρχείου από Αρχειοθήκη


Όταν θέλουμε να εξάγουμε μόνο συγκεκριμένα αρχεία από ένα tar 
τότε χρειάζεται να κάνουμε 2 πράγματα:

a. Πρέπει να βρούμε το αρχείο που θέλουμε να εξάγουμε και
b. Να το εξάγουμε :)

Παράδειγμα (έστω ότι έχουμε το etc.tar ως αντίγραφο του καταλόγου /etc):

tar tf etc.tar | grep -i passwd

etc/passwd


Οπότε εάν θέλουμε το παραπάνω αρχείο τότε:

tar xf etc.tar etc/passwd


top

Δημιουργία & Συμπίεση Αρχειοθήκης


Ένα από τα καλύτερα σημεία είναι ότι μπορούμε να έχουμε αντίγραφα
των καταλόγων μας και όλων των αρχείων μας σε ένα και μόνο αρχείο
το οποίο να το έχουμε και συμπιεσμένο ταυτόχρονα με μία εντολή:

Επιλέγουμε τον αλγόριθμο συμπίεσης που θέλουμε (gnu zip ή bzip2 ή xz) και γράφουμε:


ή 


ή


top

Αποσυμπίεση & Εξαγωγή Αρχειοθήκης


Έστω λοιπόν ότι έχουμε ένα αρχείο μορφής tar σε συμπιεσμένη μορφή
(μπορεί να είναι για παράδειγμα ο πηγαίος κώδικας από ένα πρόγραμμα
που θέλουμε να εγκαταστήσουμε):


ή


ή


τότε η εξαγωγή των αρχείων μπορεί να γίνει με τον εξής τρόπο:


Οι παράμετροι είναι οι εξής:


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

Εάν η συμπίεση έχει γίνει με τον αλγόριθμο bzip2 τότε το συμπιεσμένο
αρχείο θα έχει την μορφή:


Οι παράμετροι είναι οι εξής:


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

Εάν η συμπίεση έχει γίνει με τον αλγόριθμο xz τότε το συμπιεσμένο
αρχείο θα έχει την μορφή:


Οι παράμετροι είναι οι εξής:


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

Εύκολο έτσι ;

top

ToDo List



top



Links
[link1] http://www.gzip.org/

[link2] http://www.bzip.org/

[link3] http://www.rarlab.com/rar_file.htm

[link4] http://tukaani.org/xz/

[link5] http://www.gnu.org/software/tar/