Znalazłem ten link, jak otworzyć TGZ w jednym kroku .
gzip -dc target.tar.gz | tar xf -
Co oznacza „-”?
Znalazłem ten link, jak otworzyć TGZ w jednym kroku .
gzip -dc target.tar.gz | tar xf -
Co oznacza „-”?
Odpowiedzi:
Jest to wspólna konwencja korzystać -
w argument filename do średniego stdin
lub stdout
; tar
przestrzega tej samej konwencji. Ze strony podręcznika:
-f, --file [HOSTNAME:]F
use archive file or device F (default "-", meaning stdin/stdout)
-
oznacza. Stdin / stdout jest zdecydowanie najczęstszym znaczeniem, ale są też inne. Na przykład dla niektórych wersji env
oznacza „zacznij od pustego środowiska”.
Inną konwencją jest użycie „-” do wskazania końca flag i początku nazw plików. Takie zachowanie jest wbudowane w getopt (3) przynajmniej w RedHat 4. Nie mogę znaleźć strony podręcznika Red Hat, która używa „-” do wskazania końca argumentów, wszyscy wydają się używać „-” do tego. Strona podręcznika awk ma w tym kontekście „-”, więc może tylko stare „dziedziczne” komendy Unix lub Solaris używają „-” jako argumentu - separatora nazw plików.
--
sygnalizuje koniec opcji, więc wszystko, co nastąpi później, jest operandem. -
nie jest opcją, więc i wszystko, co nastąpi później, jest operandem. To jest standardowe zachowanie . Dla wielu komend, takich jak tar
, operand -
oznacza standardowe wejście lub wyjście . W wielu powłokach set - -a
jest to odpowiednik set -- -a
, a na niektórych starych powłokach Bourne'a set - -a
była jedyną akceptowaną formą, ale jest to wyjątek z set
wbudowanym.
--
aby oddzielić opcje od argumentów.
tar xfz target.tar.gz
i bziptar xfj target.tar.bz2