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

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

Komenda tar w systemie Linux jest często używana do tworzenia.Pliki archiwów tar.gz lub .tgz, zwane także „tarballami”. To polecenie ma wiele opcji, ale musisz tylko pamiętać kilka liter, aby szybko utworzyć archiwa za pomocą tar. Polecenie tar może również wyodrębnić archiwum wynikowe.

Komenda tar GNU dołączona do systemu Linuxdystrybucje mają zintegrowaną kompresję. Może utworzyć archiwum .tar, a następnie skompresować je za pomocą kompresji gzip lub bzip2 w jednym poleceniu. Dlatego wynikowy plik to plik .tar.gz lub .tar.bz2.

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 w katalogu, który określisz - innymi słowy, działa rekurencyjnie.

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

Oto, co faktycznie oznaczają te przełączniki:

  • -do: doutworzyć archiwum.
  • -z: kompresuj archiwum za pomocą gzip.
  • -v: wyświetla postęp w terminalu podczas tworzenia archiwum, znanego również jako „vtryb erbose ”. V jest zawsze opcjonalne w tych poleceniach, ale jest pomocne.
  • -f: Umożliwia określenie fanazwa archiwum.

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

tar -czvf archive.tar.gz stuff

Lub, powiedzmy, istnieje katalog w / usr / local / coś w bieżącym systemie i chcesz skompresować go 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 jednocześnie

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

Podczas gdy tar jest często używany do kompresji jednegokatalogu, możesz go również użyć do kompresji wielu katalogów, wielu pojedynczych plików lub obu. Po prostu podaj listę plików lub katalogów zamiast jednego. Załóżmy na przykład, że chcesz skompresować katalog / home / ubuntu / Downloads, katalog / usr / local / stuff oraz plik /home/ubuntu/Documents/notes.txt. Po prostu uruchom następujące polecenie:

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

Wystarczy wymienić tyle katalogów lub plików, ile chcesz wykonać kopię zapasową.

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 --exclude przełącz na każdy katalog lub plik, który chcesz wykluczyć.

Załóżmy na przykład, że chcesz kompresować / 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

The --exclude przełącznik jest bardzo silny. Nie przyjmuje nazw katalogów i plików - w rzeczywistości akceptuje wzorce. Jest o wiele więcej, co możesz z tym zrobić. 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 najczęściej używa się kompresji gziptworzyć pliki .tar.gz lub .tgz, tar obsługuje także kompresję bzip2. Pozwala to tworzyć pliki skompresowane w formacie bzip2, często nazywane plikami .tar.bz2, .tar.bz lub .tbz. Aby to zrobić, po prostu zamień -z dla gzip w komendach tutaj na -j dla bzip2.

Gzip jest szybszy, ale generalnie trochę się kompresujemniej, więc otrzymujesz nieco większy plik. Bzip2 jest wolniejszy, ale kompresuje się nieco bardziej, więc otrzymujesz nieco mniejszy plik. Gzip jest również bardziej powszechny, z niektórymi zredukowanymi systemami Linux, w tym domyślnie z obsługą gzip, ale nie z obsługą bzip2. Ogólnie jednak gzip i bzip2 są praktycznie tym samym i oba będą działać podobnie.

Na przykład zamiast pierwszego podanego przez nas przykładu kompresowania katalogu plików uruchom następującą komendę:

tar -cjvf archive.tar.bz2 stuff

Wyodrębnij archiwum

Po utworzeniu archiwum możesz go wyodrębnić za pomocą polecenia tar. Następujące polecenie wypakuje 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 -x przełącznik zastępuje -c przełącznik. To określa, że ​​chcesz exprzeprowadź archiwum zamiast go utworzyć.

Możesz wyodrębnić zawartość archiwum do określonego katalogu. Możesz to zrobić, dołączając -C przejdź na koniec polecenia. Na przykład następujące polecenie wyodrębni zawartość pliku archive.tar.gz do katalogu / tmp.

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

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


Jest to najprostsze możliwe użycie polecenia tar. Polecenie zawiera wiele dodatkowych opcji, więc nie możemy ich tutaj wymienić. Po więcej informacji. uruchom informacja tar polecenie w powłoce, aby wyświetlić stronę szczegółowych informacji polecenia tar. wciśnij q klawisz, aby po zakończeniu zamknąć stronę informacyjną. Możesz także przeczytać instrukcję tar w Internecie.

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