Główna » jak » 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

    Polecenie tar w systemie Linux jest często używane do tworzenia plików archiwum .tar.gz lub .tgz, zwanych również "archiwami". To polecenie ma dużą liczbę opcji, ale wystarczy pamiętać kilka liter, aby szybko utworzyć archiwa ze smsem . 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 także 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: Skompresuj archiwum za pomocą gzip.
    • -v: Wyświetlanie postępu w terminalu podczas tworzenia archiwum, znanego również jako "verbose "tryb. Opcja v jest zawsze opcjonalna w tych poleceniach, ale jest pomocna.
    • -f: Pozwala określić failename z 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 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 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 wymaga 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 się 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 również bardziej powszechny, z nieco okrojonymi systemami Linux, łącznie z obsługą gzip, ale nie z obsługą 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 przewidziano do kompresowania katalogu stuff, uruchomi się następujące polecenie:

    tar -cjvf archive.tar.bz2

    Wyodrębnij archiwum

    Gdy masz już archiwum, możesz je rozpakować za pomocą polecenia tar. Poniższe 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óre wykorzystaliśmy powyżej, z wyjątkiem polecenia -x przełącznik zastępuje -do przełącznik. Określa, że ​​chcesz extraktuj archiwum zamiast twórz je.

    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 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 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ć szczegółową stronę polecenia tar. wciśnij q naciśnij klawisz, aby zamknąć stronę informacyjną po zakończeniu. Możesz także przeczytać instrukcję obsługi tar online.

    Jeśli używasz graficznego pulpitu 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ć archiwa .tar za pomocą bezpłatnego narzędzia 7-Zip.