Jak wejść do katalogu utworzonego przez tar?

1

Biorąc pod uwagę następujące polecenie:
curl http://anysite.com/tarball.tar.gz | tar xz
Jak wejść do katalogu utworzonego przez tar?

Josh Whittington
źródło

Odpowiedzi:

3

Biorąc pod uwagę to polecenie i nie mogąc ufać, że zrobiłeś to w pustym katalogu roboczym, odpowiedź brzmi: „ Nie robisz ”. Tarballi mogą mieć dowolną liczbę plików lub katalogów, o dowolnej nazwie, na poziomie głównym.

Alternatywą może być coś takiego:

mkdir temp && curl http://anysite.com/tarball.tar.gz | tar xzC temp && cd temp && cd *

W ten sposób tworzysz nowy katalog, nakazując tarwyodrębnienie do niego archiwum, a następnie cdwłożenie do niego. To ostatnie cd *zadziała, jeśli paczka zawiera tylko jeden element najwyższego poziomu i będzie to katalog. Edycja: Będzie również „działać”, jeśli pierwszy element będzie *pasował do katalogu tymczasowego katalogu, nawet jeśli istnieją inne katalogi lub pliki, które wyszły z najwyższego poziomu tarballa. To może nie być definicja „pracy”, której szukasz. Jeśli pierwszym *pasującym elementem nie jest katalog, pojawi się błąd dla tej części polecenia.

Spiff
źródło
Ach, świetnie, tego właśnie szukałem. Pracuję z archiwami, które mają tylko jeden katalog najwyższego poziomu i jakoś po prostu założyłem, że wszystkie archiwum są takie same. Oczywiście, że nie. Dzięki!
Josh Whittington
Myślę, że to polecenie nadal będzie dla ciebie działać, ale przypadkowo źle zrozumiałem, co cd *może zrobić. Mam zamiar edytować moją odpowiedź, aby to naprawić.
Spiff,