tar :: mini how 2


Ένα από τα σημαντικότερα προγράμματα στο unix είναι το

tar

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

Στο unix based συστήματα χρησιμοποιείται ακόμα και ως μέσο αποθήκευσης.

Το tar είναι ένα μέσο αρχειοθέτησης (αρχειοθήκη στα ελληνικά) αφού η 
βασική του δουλειά είναι να αποθηκεύει πολλά αρχεία σε μόνο ένα.

tar cf file_name.tar directory/

Οι διακόπτες cf είναι
c: create
f: file archive

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

j : bzip2 (Burrows-Wheeler block sorting text compression algorithm, and Huffman coding)
z : gzip (gnu zip)

Άρα το παραπάνο παράδειγμά μας γίνεται:

tar jcf file_name.tar.bz2 directory/
ή 
tar zvf file_name.tar.gz directory/

Οι καταλήξεις .tar.bz2 & .tar.gz μπορούν να γραφτούν και ως tbz & tgz αντίστοιχα.

Για να βλέπουμε την διαδικασία (αλλά και τα αρχεία) την στιγμή που αρχειοθετούμε
χρησιμοποιούμε τον διακόπτη:

v : view

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

tar jcvf file_name.tbz directory/
ή
tar zcvf file_name.tgz directory/

Για να αποπακετάρουμε (extract) ένα αρχείο tar πολύ απλά αντί για τον διακόπτη c χρησιμοποιούμε τον διακόπτη x
x : extract

Άρα σύμφωνα με τα παραπάνω παραδείγματα:

tar xvf file_name.tar
tar jxvf file_name.tar.bz2
tar jxvf file_name.tbz
tar zxvf file_name.tar.gz
tar zxvf file_name.tgz

Τέλος κάποια σημεία τα οποία είναι εξίσου σημαντικά.
Πως μπορώ να δω τα περιεχόμενα ενός αρχείου tar χωρίς όμως να χρειαστεί να κάνω extract.
Πολύ απλά χρησιμοποιώ τον διακόπτη t

t: list

Δηλαδή όλα τα παραπάνω γράφονται ως εξής:

tar tvf file_name.tar | less

(χρησιμοποιούμε την εντολή less μέσω της pipeline για να μπορούμε να δούμε ανά σελίδα
τα περιεχόμενα του αρχείου)

tar jtvf file_name.tar.bz2 | less
tar jtvf file_name.tbz | less

tar ztvf file_name.tar.gz | less
tar ztvf file_name.tgz | less

Πως κάνουμε extract μόνο ένα αρχείο ή έναν μόνο κατάλογο:

tar xvf file_name.tar fullpath/filename

tar jxvf file_name.tar.bz2 fullpath/filename
tar jxvf file_name.tbz fullpath/filename

tar zxvf file_name.tar.gz fullpath/filename
tar zxvf file_name.tgz fullpath/filename