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?

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.


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,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.