Πώς να συμπιέσετε και να εξαγάγετε αρχεία χρησιμοποιώντας την εντολή tar στο Linux

Η εντολή tar στο Linux χρησιμοποιείται συχνά για τη δημιουργία αρχείων .tar.gz ή .tgz, που ονομάζονται επίσης «tarballs». Αυτή η εντολή έχει μεγάλο αριθμό επιλογών, αλλά απλώς πρέπει να θυμάστε μερικά γράμματα για να δημιουργήσετε γρήγορα αρχεία με πίσσα. Η εντολή tar μπορεί επίσης να εξαγάγει τα προκύπτοντα αρχεία.

Η εντολή GNU tar που περιλαμβάνεται στις διανομές Linux έχει ενσωματωμένη συμπίεση. Μπορεί να δημιουργήσει ένα αρχείο .tar και στη συνέχεια να το συμπιέσει με συμπίεση gzip ή bzip2 σε μία μόνο εντολή. Αυτός είναι ο λόγος για τον οποίο το αρχείο που προκύπτει είναι ένα αρχείο .tar.gz ή .tar.bz2.

Συμπιέστε έναν ολόκληρο κατάλογο ή ένα μεμονωμένο αρχείο

Χρησιμοποιήστε την ακόλουθη εντολή για να συμπιέσετε έναν ολόκληρο κατάλογο ή ένα μόνο αρχείο στο Linux. Θα συμπιέσει επίσης κάθε άλλο κατάλογο μέσα σε έναν κατάλογο που καθορίζετε - με άλλα λόγια, λειτουργεί αναδρομικά.

tar -czvf name-of-archive.tar.gz / path / to / directory-ή-αρχείο

Εδώ είναι τι σημαίνουν αυτοί οι διακόπτες:

  • -c: C δημιουργήστε ένα αρχείο.
  • -z: Συμπίεση του αρχείου με g z ip.
  • -v: Εμφανίζει την πρόοδο στο τερματικό κατά τη δημιουργία του αρχείου, επίσης γνωστή ως λειτουργία " v erbose". Το v είναι πάντα προαιρετικό σε αυτές τις εντολές, αλλά είναι χρήσιμο.
  • -f: Σας επιτρέπει να καθορίσετε το f ilename του αρχείου.

Ας υποθέσουμε ότι έχετε έναν κατάλογο με το όνομα "stuff" στον τρέχοντα κατάλογο και θέλετε να τον αποθηκεύσετε σε ένα αρχείο με το όνομα archive.tar.gz. Θα εκτελέσετε την ακόλουθη εντολή:

tar -czvf archive.tar.gz πράγματα

Εναλλακτικά, ας πούμε ότι υπάρχει ένας κατάλογος στο / usr / local / κάτι στο τρέχον σύστημα και θέλετε να τον συμπιέσετε σε ένα αρχείο με το όνομα archive.tar.gz. Θα εκτελέσετε την ακόλουθη εντολή:

tar -czvf archive.tar.gz / usr / local / κάτι

Συμπίεση πολλαπλών καταλόγων ή αρχείων ταυτόχρονα

ΣΧΕΤΙΚΟΙ: Πώς να διαχειριστείτε αρχεία από το τερματικό Linux: 11 εντολές που πρέπει να γνωρίζετε

Ενώ το tar χρησιμοποιείται συχνά για τη συμπίεση ενός μεμονωμένου καταλόγου, μπορείτε επίσης να το χρησιμοποιήσετε για τη συμπίεση πολλών καταλόγων, πολλαπλών μεμονωμένων αρχείων ή και των δύο. Απλώς δώστε μια λίστα αρχείων ή καταλόγων αντί για ένα. Για παράδειγμα, ας πούμε ότι θέλετε να συμπιέσετε τον κατάλογο / home / ubuntu / Downloads, τον κατάλογο / usr / local / stuff και το αρχείο /home/ubuntu/Documents/notes.txt Θα εκτελέσετε την ακόλουθη εντολή:

tar -czvf archive.tar.gz / home / ubuntu / Λήψεις / usr / local / stuff /home/ubuntu/Documents/notes.txt

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

Εξαίρεση καταλόγων και αρχείων

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

Για παράδειγμα, ας υποθέσουμε ότι θέλετε να συμπιέσετε / home / ubuntu, αλλά δεν θέλετε να συμπιέσετε τους καταλόγους / home / ubuntu / Downloads και /home/ubuntu/.cache. Δείτε πώς θα το κάνατε:

tar -czvf archive.tar.gz / home / ubuntu --exclude = / home / ubuntu / Downloads --exclude = / home / ubuntu / .cache

Ο --excludeδιακόπτης είναι πολύ ισχυρός. Δεν παίρνει ονόματα καταλόγων και αρχείων - δέχεται πραγματικά μοτίβα Υπάρχουν πολλά περισσότερα που μπορείτε να κάνετε με αυτό. Για παράδειγμα, μπορείτε να αρχειοθετήσετε έναν ολόκληρο κατάλογο και να εξαιρέσετε όλα τα αρχεία .mp4 με την ακόλουθη εντολή:

tar -czvf archive.tar.gz / home / ubuntu --exclude = *. mp4

Χρησιμοποιήστε αντ 'αυτού τη συμπίεση bzip2

Ενώ η συμπίεση gzip χρησιμοποιείται συχνότερα για τη δημιουργία αρχείων .tar.gz ή .tgz, το tar υποστηρίζει επίσης τη συμπίεση bzip2. Αυτό σας επιτρέπει να δημιουργήσετε συμπιεσμένα αρχεία bzip2, που συχνά ονομάζονται αρχεία .tar.bz2, .tar.bz ή .tbz. Για να το κάνετε αυτό, απλώς αντικαταστήστε το -z για gzip στις εντολές εδώ με ένα -j για bzip2.

Το Gzip είναι πιο γρήγορο, αλλά γενικά συμπιέζει λίγο λιγότερο, ώστε να έχετε ένα κάπως μεγαλύτερο αρχείο. Το Bzip2 είναι πιο αργό, αλλά συμπιέζει λίγο περισσότερο, ώστε να έχετε ένα κάπως μικρότερο αρχείο. Το Gzip είναι επίσης πιο συνηθισμένο, με ορισμένα απογυμνωμένα συστήματα Linux, συμπεριλαμβανομένης της υποστήριξης gzip από προεπιλογή, αλλά όχι υποστήριξης bzip2. Σε γενικές γραμμές, ωστόσο, τα gzip και bzip2 είναι σχεδόν το ίδιο πράγμα και και τα δύο θα λειτουργούν παρόμοια.

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

tar -cjvf archive.tar.bz2 πράγματα

Εξαγωγή αρχείου

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

tar -xzvf archive.tar.gz

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

Ίσως θέλετε να εξαγάγετε τα περιεχόμενα του αρχείου σε έναν συγκεκριμένο κατάλογο. Μπορείτε να το κάνετε προσαρτώντας το -Cδιακόπτη στο τέλος της εντολής. Για παράδειγμα, η ακόλουθη εντολή θα εξαγάγει τα περιεχόμενα του αρχείου archive.tar.gz στον κατάλογο / tmp.

tar -xzvf archive.tar.gz -C / tmp

Εάν το αρχείο είναι ένα συμπιεσμένο αρχείο bzip2, αντικαταστήστε το "z" στις παραπάνω εντολές με ένα "j".

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

Εάν χρησιμοποιείτε γραφική επιφάνεια εργασίας Linux, θα μπορούσατε επίσης να χρησιμοποιήσετε το βοηθητικό πρόγραμμα συμπίεσης αρχείων ή τον διαχειριστή αρχείων που περιλαμβάνεται στην επιφάνεια εργασίας σας για να δημιουργήσετε ή να εξαγάγετε αρχεία .tar. Στα Windows, μπορείτε να εξαγάγετε και να δημιουργήσετε αρχεία .tar με το δωρεάν βοηθητικό πρόγραμμα 7-Zip.