Praca z archiwami TAR w wierszu poleceń systemu Linux
Format TAR jest niezwykle popularny w świecie systemu Linux i stanowi standard de facto archiwizacji danych. Sam w sobie nie potrafi kompresować plików, ale doskonale współpracuje z narzędziami do kompresji, takimi jak gzip czy bzip2. Dlatego większość archiwów spakowanych w tym formacie, które możesz znaleźć w sieci, będzie miała postać np. archive_name.tar.gz.
Jeśli pracujesz również z archiwami ZIP lub RAR, zapoznaj się z naszymi poradnikami dotyczącymi pracy z nimi w linii poleceń systemu Linux.
Zanim zaczniesz
W większości przypadków tar jest zainstalowany domyślnie. Aby mieć 100% pewności, uruchom polecenie instalacji tego archiwizera:
Dla Debian i Ubuntu:
sudo apt update && sudo apt install tar
Dla CentOS i Rocky Linux/AlmaLinux:
sudo yum makecache && sudo yum install tar
Jak utworzyć archiwum TAR
Bez kompresji:
tar -cvf archiwum.tar /sciezka/do/pliku
Gdzie:
- -c — aby utworzyć archiwum
- -v — wyświetla szczegóły w terminalu (przydatne, gdy chcesz wiedzieć, co się dzieje)
- -f — określa nazwę pliku archiwum
Z dodatkową kompresją (na przykład gzip):
tar -czvf archiwum.tar.gz /sciezka/do/pliku
- -z — dodaje kompresję gzip.
Drugie polecenie jest preferowane w większości przypadków, ponieważ dodatkowa kompresja oszczędzi czas podczas pobierania lub wysyłania pliku z serwera lub na serwer, a archiwum zajmie mniej miejsca na dysku.
Jak rozpakować archiwum TAR
Dla gzip:
tar -xzvf archiwum.tar.gz
Dla bzip2:
tar -xjvf archiwum.tar.bz2
Dla nie skompresowanego archiwum:
tar -xvf archiwum.tar
Dodatkowe przydatne opcje
- -t — przeglądaj zawartość archiwum bez rozpakowywania:
tar -tvf archiwum.tar
Wyświetla listę plików archiwum w konsoli, ale nie rozpakowuje go.
- -u — aktualizuj pliki w archiwum:
tar -uf archiwum.tar /sciezka/do/nowych_plikow
Przy aktualizowaniu pliku w archiwum należy wziąć pod uwagę następujące szczegóły:
- Jeśli archiwum nie zawiera pliku new_file.txt, zostanie on dodany.
- Jeśli archiwum już zawiera plik o tej samej nazwie, ale jego zawartość na dysku uległa zmianie, plik ten zostanie zaktualizowany do najnowszej wersji.
Możesz również użyć tego polecenia do jednoczesnej aktualizacji wielu plików, na przykład:
tar -uf archiwum.tar /sciezka/do/nowych_plikow/*.txt
To polecenie zaktualizuje wszystkie pliki txt w archiwum oraz doda nowe, jeśli nie zostały dodane wcześniej.