4Sep

Jak skompresować i wyodrębnić pliki za pomocą polecenia tar w systemie Linux

Komenda tar na Linuksie jest często używana do tworzenia plików archiwum. tar.gz lub. tgz, zwanych również "archiwami tarami". To polecenie ma wiele opcji, ale wystarczy pamiętać kilka liter, aby szybko utworzyć archiwa za pomocąsmoła. Polecenie tar może również wyodrębnić powstałe archiwa.

Komenda GNU tar dołączona do dystrybucji systemu Linux ma 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. Spowoduje to również kompresję każdego innego katalogu w określonym katalogu - innymi słowy, działa rekurencyjnie.

tar -czvf nazwa-of-archive.tar.gz /path/to/ katalog-lub-plik

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

  • -c: C reate an archive.
  • -z: Kompresuj archiwum za pomocą g z ip.
  • -v: Wyświetla postęp w terminalu podczas tworzenia archiwum, zwanego także trybem " v erbose".Opcja v jest zawsze opcjonalna w tych poleceniach, ale jest pomocna.
  • -f: Umożliwia określenie f iluminatu archiwum.

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

tar -czvf archive.tar.gz stuff

Lub, powiedzmy, jest katalog na /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/ coś

Kompresuj wiele katalogów lub plików jednocześnie

Podczas gdy tar jest często używane do kompresowania pojedynczego katalogu, możesz również użyć go do kompresowania wielu katalogów, wielupojedyncze pliki lub oba. Po prostu podaj listę plików lub katalogów zamiast pojedynczego. Na przykład, powiedzmy, że chcesz skompresować katalog /home/ubuntu/, katalog rzeczy /usr/local/ i plik /home/ubuntu/Documents/ notes.txt. Po prostu uruchomisz następującą komendę:

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

Po prostu wypisz tyle katalogów lub plików, ile chcesz utworzyć.

Wyklucz katalogi i pliki

W niektórych przypadkach możesz 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ć.

Na przykład, powiedzmy, że chcesz skompresować /home/ ubuntu, ale nie chcesz kompresować katalogów /home/ubuntu/ Downloads i /home/ubuntu/. cache. Oto, jak to zrobić:

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

Przełącznik --exclude jest bardzo wydajny. Nie pobiera nazw katalogów i plików - faktycznie akceptuje wzorce. Z tym można zrobić o wiele więcej. Na przykład można zarchiwizować cały katalog i wykluczyć wszystkie pliki. mp4 za pomocą następującej komendy:

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

Użyj kompresji bzip2 Zamiast

Podczas kompresji gzip najczęściejużywany do tworzenia plików. tar.gz lub. tgz, tar obsługuje również kompresję bzip2.Pozwala to na tworzenie skompresowanych plików bzip2, często o nazwach. tar.bz2,. tar.bz lub. tbz. Aby to zrobić, po prostu zastąp -z dla gzip w poleceniach tutaj z -j dla bzip2.

Gzip jest szybszy, ale generalnie kompresuje nieco mniej, więc dostajesz nieco większy plik. Bzip2 jest wolniejszy, ale kompresuje nieco więcej, więc dostajesz nieco mniejszy plik. Gzip jest także bardziej powszechny, ponieważ niektóre systemy Linux, w tym obsługa gzip, domyślnie są obsługiwane, ale nie obsługuje bzip2.Ogólnie rzecz biorąc, gzip i bzip2 są praktycznie to samo i oba będą działać podobnie.

Na przykład, zamiast pierwszego przykładu, który przygotowaliśmy do kompresowania katalogu stuff, uruchomi się następującą komendę:

tar -cjvf archive.tar.bz2 stuff

Rozpakuj archiwum

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

tar -xzvf archive.tar.gz

Jest to to samo, co polecenie tworzenia archiwum użyte powyżej, z wyjątkiem, że przełącznik -x zastępuje przełącznik -c. Określa, że ​​chcesz x traktować archiwum zamiast tworzyć.

Możesz wyodrębnić zawartość archiwum do określonego katalogu. Możesz to zrobić, dołączając przełącznik -C na końcu 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 plikiem skompresowanym bzip2, zamień "z" w powyższych poleceniach na "j".

Jest to najprostsze możliwe użycie polecenia tar. Polecenie zawiera dużą liczbę dodatkowych opcji, więc nie możemy ich tutaj wymienić.Po więcej informacji.uruchom polecenie info tar w powłoce, aby wyświetlić stronę ze szczegółowymi informacjami polecenia tar. Naciśnij klawisz q , aby wyjść ze strony informacyjnej, gdy skończysz. Możesz również przeczytać instrukcję obsługi tar w Internecie.

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żna wyodrębnić i utworzyć archiwum. tar za pomocą bezpłatnego narzędzia 7-Zip.