Chcesz wyodrębnić pojedynczy plik lub folder z archiwum TAR lub TAR.GZ? Oto jak możesz to zrobić w systemie Linux, używając polecenia tar.
Archiwum tar (TAR lub TAR.GZ) to zestaw plików połączonych w jedno archiwum, co ułatwia przechowywanie i przesyłanie dużej liczby plików lokalnie lub przez Internet. Zawsze, gdy potrzebujesz plików, możesz po prostu rozpakować archiwum.
Rozważ scenariusz, w którym potrzebujesz tylko jednego pliku z dużego archiwum. W takim przypadku zamiast rozpakowywać całe archiwum, można wyodrębnić tylko potrzebny plik. Zobaczmy jak.
Wyświetl zawartość Tarballa
Jeśli chcesz tylko przejrzeć zawartość plik TAR lub TAR.GZ, nie musisz go wyodrębniać. Zamiast tego użyj następującego polecenia, aby zobaczyć, co jest w środku:
tar -tvf [archiwum.tar]
tar -ztvf [archiwum.tar.gz]
Spowoduje to wydrukowanie listy wszystkich plików i katalogów w archiwum.
Wyodrębnij pojedynczy plik z Tarballa
Aby wyodrębnić pojedynczy plik z TAR lub TAR.GZ, użyj następującego formatu poleceń:
tar -xvf [archiwum.tar] [ścieżka do pliku]
tar -zxvf [archiwum.tar.gz] [ścieżka do pliku]
Pamiętaj, że będziesz musiał podać pełną ścieżkę do pliku, który chcesz wyodrębnić. Pełną ścieżkę do pliku lub katalogu można znaleźć za pomocą tar -tvf [archiwum.tar] Komenda.
Aby wyodrębnić plik test1.txt od test.tar I test.tar.gz pliki, polecenia będą następujące:
tar -xvf test.tar test1.txt
tar -zxvf test.tar.gz test1.txt
...Gdzie:
- -X służy do wyodrębniania plików z archiwum
- -w służy do sprawdzania postępów w trakcie ich wydobywania
- -F służy do określenia nazwy tarballa
- -z służy do dekompresji plików TAR.GZ
Te polecenia rozpakują określony plik w bieżącym katalogu terminala.
Wyodrębnij pojedynczy katalog z Tarballa
Podobnie, możesz również wyodrębnić pojedynczy katalog z tarballa, używając następującej składni:
tar xvf [archiwum.tar] [ścieżka-do-katalogu]
tar -zxvf [archiwum.tar.gz] [ścieżka-do-katalogu]
Na przykład, aby wyodrębnić całość test1 podkatalog z test.tar archive, musiałbyś podać pełną ścieżkę do katalogu, tj. test/test1:
tar -xvf test.tar test/test1
Spowoduje to wyodrębnienie całego podkatalogu test/test1 w bieżącym katalogu terminala.
Wyodrębnij pojedynczy plik lub folder do innego katalogu
Możesz również wyodrębnić plik lub katalog z archiwum tar do innego katalogu. W tym celu użyj tej samej składni, co powyżej, ale dodaj -C opcja, po której następuje katalog docelowy:
tar -xvf [archiwum.tar] -C [katalog_docelowy] [plik-lub-katalog]
tar -zxvf [archiwum.tar.gz] -C [katalog_docelowy] [plik-lub-katalog]
Powiedzmy, że chcemy wyodrębnić katalog test2 od test.tar archiwum do Pliki do pobrania katalog zamiast obecnego katalogu roboczego. Polecenie w tym przypadku brzmiałoby:
tar -xvf test.tar -C ~/Downloads/ test/test2
Usuń pojedynczy plik lub katalog z Tarballa
Jeśli chcesz usunąć pojedynczy plik lub katalog z pliku TAR lub TAR.GZ, użyj --usuwać opcja z poleceniem tar:
tar -vf [archiwum.tar] --delete [plik-lub-katalog]
Nie można jednak usunąć pliku lub katalogu bezpośrednio ze skompresowanego archiwum tar (TAR.GZ). To, co musisz zrobić, to najpierw rozpakować plik TAR.GZ, usunąć plik lub katalog, a następnie ponownie go skompresować.
Aby zdekompresować plik TAR.GZ, użyj następującego polecenia:
gzip -d [archiwum.tar.gz]
Dekompresja spowoduje konwersję pliku do formatu TAR. Teraz możesz usunąć plik z archiwum TAR, używając:
tar -vf [archiwum.tar] --delete [plik-lub-katalog]
Następnie ponownie skompresuj plik TAR za pomocą gzip:
gzip -f [archiwum.tar]
Oszczędzaj czas podczas pracy z archiwami w systemie Linux
Wyodrębnianie tylko wymaganych plików z archiwum nie tylko zapobiega powstawaniu bałaganu, ale także oszczędza czas, który w przeciwnym razie zostałby poświęcony na przeszukiwanie dużej liczby plików.
Czasami tworzenie i rozpakowywanie plików TAR powoduje duplikaty plików w systemie. Dlatego dobrą praktyką jest okresowe identyfikowanie i usuwanie tych duplikatów w celu uporządkowania przestrzeni.