Jak kompresować i wyodrębniać pliki za pomocą polecenia tar w systemie Linux

  • Chris Hoffman

    @chrisbhoffman

  • 10 kwietnia 2016 r. , 6:40 am EDT

Polecenie tar w systemie Linux jest często używane do tworzenia plików archiwów .tar.gz lub .tgz, zwanych także „tarballami”. To polecenie ma dużą liczbę opcji, ale wystarczy zapamiętać kilka liter, aby szybko utworzyć archiwa za pomocą tar. Polecenie tar może również rozpakować powstałe archiwa.

Polecenie GNU tar dołączone do Linuksa dystrybucje mają zintegrowaną kompresję. Może utworzyć archiwum .tar, a następnie skompresować je za pomocą kompresji gzip lub bzip2 w jednym poleceniu. Dlatego wynikowym plikiem jest plik .tar.gz lub .tar.bz2.

h2> Kompresuj cały katalog lub pojedynczy plik

Użyj następującego polecenia, aby skompresować cały katalog lub pojedynczy plik w systemie Linux. Skompresuje również każdy inny katalog wewnątrz określonego katalogu – innymi słowy , działa rekurencyjnie.

tar -czvf name-of-archive.tar.gz /path/to/directory-or-file

Oto, co właściwie oznaczają te przełączniki:

  • -c: Utwórz archiwum.
  • -z: Kompresuj archiwum za pomocą gzip.
  • -v: Wyświetla postęp w terminalu podczas tworzenia archiwum, znany również jako tryb „gadatliwy”. V jest zawsze opcjonalne w tych poleceniach, ale jest pomocne.
  • -f: Umożliwia określenie nazwy pliku archiwum.
Reklama

Powiedzmy, że w bieżącym katalogu masz katalog o nazwie „stuff” i chcesz go zapisać w pliku o nazwie archive.tar.gz. Uruchomiłbyś następujące polecenie:

tar -czvf archive.tar.gz stuff

Albo, powiedzmy, że istnieje katalog w / usr / local / coś w obecnym systemie i chcesz go skompresować do pliku o nazwie archive.tar.gz. Uruchomiłbyś następujące polecenie :

tar -czvf archive.tar.gz /usr/local/something

Kompresuj wiele katalogów lub plików naraz

ZWIĄZANE Z: Jak zarządzać plikami z terminala Linux: 11 poleceń, które musisz wykonać Wiedzieć

Chociaż tar jest często używany do kompresowania pojedynczego katalogu, można go również użyć do kompresowania wielu katalogów, wielu pojedynczych plików lub obu. Wystarczy podać listę plików lub katalogów zamiast jednego. Na przykład, powiedzmy, że chcesz skompresować plik / home / ubuntu / Do katalog wnloads, katalog / usr / local / stuff i plik /home/ubuntu/Documents/notes.txt. Po prostu uruchomisz następujące polecenie:

tar -czvf archive.tar.gz /home/ubuntu/Downloads /usr/local/stuff /home/ubuntu/Documents/notes.txt

Po prostu podaj tyle katalogów lub plików, ile chcesz zarchiwizować.

Wyklucz Katalogi i pliki

W niektórych przypadkach możesz chcieć skompresować cały katalog, ale nie uwzględniać niektórych plików i katalogów. Możesz to zrobić, dołączając przełącznik --exclude dla każdego katalogu lub pliku, który chcesz wykluczyć.

Reklama

Załóżmy na przykład chcesz skompresować / home / ubuntu, ale nie chcesz kompresować katalogów / home / ubuntu / Downloads i /home/ubuntu/.cache. Oto, jak to zrobisz:

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

Przełącznik --exclude ma bardzo duże możliwości. Nie przyjmuje nazw katalogów i plików – w rzeczywistości akceptuje wzorce. Możesz dzięki temu zrobić o wiele więcej. Na przykład możesz zarchiwizować cały katalog i wykluczyć wszystkie pliki .mp4 za pomocą następującego polecenia:

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

Zamiast tego użyj kompresji bzip2

Podczas gdy kompresja gzip jest najczęściej używana do tworzenia plików .tar.gz lub .tgz, tar obsługuje również kompresję bzip2. Pozwala to na tworzenie plików skompresowanych za pomocą bzip2, często nazywanych plikami .tar.bz2, .tar.bz lub .tbz. Aby to zrobić, po prostu zamień -z zamiast gzip w poleceniach tutaj na -j dla bzip2.

Reklama

Gzip jest szybszy, ale generalnie kompresuje nieco mniej, więc otrzymasz nieco większy plik. Bzip2 jest wolniejszy, ale kompresuje nieco bardziej, więc otrzymujesz nieco mniejszy plik. Gzip jest również bardziej powszechny, z niektórymi okrojonymi systemami Linux, które domyślnie obsługują gzip, ale nie obsługują bzip2. Ogólnie rzecz biorąc, gzip i bzip2 to praktycznie to samo i oba będą działać podobnie.

Na przykład zamiast pierwszego przykładu, który podaliśmy dla kompresowania katalogu rzeczy, uruchomisz następujące polecenie:

tar -cjvf archive.tar.bz2 stuff

Wypakuj archiwum

Gdy masz już archiwum, możesz je rozpakować za pomocą polecenia tar. Następujące polecenie wyodrębni zawartość archive.tar.gz do bieżącego katalogu.

tar -xzvf archive.tar.gz

Jest to to samo co polecenie tworzenia archiwum, którego użyliśmy powyżej, z wyjątkiem przełącznik -x zastępuje przełącznik -c. Określa, że chcesz wypakować archiwum zamiast je tworzyć.

Reklama

Możesz chcieć wypakować zawartość archiwum do określonego katalogu. Możesz to zrobić, dołączając przełącznik -C na końcu polecenia. Na przykład poniższe polecenie wyodrębni zawartość pliku archive.tar.gz do katalogu / tmp.

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

Jeśli plik jest plikiem skompresowanym przez bzip2, zamień „z” w powyższych poleceniach na „j”.

To jest najprostsze możliwe użycie polecenia tar. Polecenie zawiera dużą liczbę dodatkowych opcji, więc nie możemy tutaj wszystkich wymienić. Po więcej informacji. uruchom polecenie info tar w powłoce, aby wyświetlić stronę szczegółowych informacji o komendzie tar. Po zakończeniu naciśnij klawisz q, aby zamknąć stronę informacyjną. Możesz także przeczytać podręcznik tar w trybie online.

Jeśli używasz graficznego pulpitu systemu Linux, możesz również użyć narzędzia do kompresji plików lub menedżera plików dołączonego do pulpitu, aby utworzyć lub wyodrębnić pliki .tar. W systemie Windows możesz rozpakowywać i tworzyć archiwa .tar za pomocą bezpłatnego narzędzia 7-Zip.

Chris Hoffman
Chris Hoffman jest redaktorem naczelnym How-To Geek. Pisał o technologii przez prawie dekadę, a przez dwa lata był felietonistą PCWorld. Chris pisał dla The New York Times, udzielał wywiadów jako ekspert ds. Technologii w stacjach telewizyjnych, takich jak NBC 6 w Miami, a jego pracę udzielił serwisy informacyjne, takie jak BBC. Od 2011 roku Chris napisał ponad 2000 artykułów, które przeczytano ponad 500 milionów razy – i to „tylko tutaj w How-To Geek.Read Full Bio”

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *