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.