If-Koubou

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

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

Polecenie tar w Linuksie jest często używane do tworzenia plików archiwum .tar.gz lub .tgz, zwanych także "paczkami". To polecenie ma dużą liczbę opcji, ale musisz tylko pamiętać kilka liter, aby szybko utworzyć archiwa za pomocą tar . Polecenie tar może również wyodrębnić powstałe archiwa.

Polecenie tar z GNU dołączone 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 poniższego 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 / ścieżka / do / katalog-lub-plik

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

  • -do: dopowrócić do archiwum.
  • -z: Kompresuje archiwum za pomocą gzip.
  • -v: wyświetla postęp w terminalu podczas tworzenia archiwum, zwanego także "verbose "tryb. Opcja v jest zawsze opcjonalna w tych poleceniach, ale jest pomocna.
  • -f: Pozwala określić fanazwa pliku archiwum.

Załóżmy, że masz katalog "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 w / usr / local / coś na 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

Podczas gdy 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. Po prostu podaj listę plików lub katalogów zamiast pojedynczego. Na przykład, powiedzmy, że chcesz skompresować katalog / home / ubuntu / Downloads, katalog / usr / local / stuff i /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 wylistuj 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 znak --wykluczać przełącz 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 możesz to zrobić:

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

The --wykluczać przełącznik jest bardzo silny. 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ą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 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, uruchomisz następujące polecenie:

tar -cjvf archive.tar.bz2

Wyodrębnij archiwum

Kiedy 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 -x przełącznik zastępuje -do przełącznik. Określa, że ​​chcesz extraktuj archiwum zamiast go tworzyć.

Możesz wyodrębnić zawartość archiwum do określonego katalogu. Możesz to zrobić, dołączając znak -DO przełącz 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 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. uruchomić info tar polecenie w powłoce, aby wyświetlić stronę szczegółowych informacji o komendzie tar. wciśnij q naciśnij klawisz, aby zamknąć stronę informacyjną po zakończeniu. 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.