“-”는 명령에 대한 인수로 무엇을 의미합니까?


9

한 단계에서 tgz여는 방법에 대한이 링크를 찾았습니다 .

gzip -dc target.tar.gz | tar xf -

'-'는 무엇을 의미합니까?


1
또한 대부분의 tar 버전은 이제 기본적으로 gzip 및 bzip을 지원합니다. gzip 파일 tar 파일 tar xfz target.tar.gz및 bzip 파일tar xfj target.tar.bz2
삭제 된 계정

답변:


18

그것은 사용하는 일반적인 규칙의 -의미있는 파일 이름 인수에 stdinstdout; tar같은 규칙을 따릅니다. 매뉴얼 페이지에서 :

   -f, --file [HOSTNAME:]F
          use archive file or device F (default "-", meaning stdin/stdout)

1
이것은 컨벤션 일뿐입니다. 그 -의미가 무엇인지 보려면 특정 명령에 대한 맨 페이지를 읽어야 합니다. Stdin / stdout은 가장 일반적인 의미이지만 다른 의미도 있습니다. 예를 들어, 일부 버전은 env"빈 환경에서 시작"을 의미합니다.
cjm

0

또 다른 규칙은 '-'를 사용하여 플래그의 끝과 파일 이름의 시작을 나타냅니다. 이 동작은 적어도 RedHat 4의 getopt (3)에 내장되어 있습니다. 인수 끝을 나타내는 데 '-'를 사용하는 Red Hat 맨 페이지를 찾을 수 없습니다. 모두 '-'를 사용하는 것 같습니다. awk 매뉴얼 페이지에는 해당 컨텍스트에 '-'가 있으므로 이전 "heirloom"Unix 또는 Solaris 명령 만 '-'를 인수 (파일 이름 구분 기호)로 사용합니다.


3
--옵션의 끝을 알리므로 나중에 나오는 모든 것은 피연산자입니다. -옵션이 아니므로 나중에 오는 모든 것은 피연산자입니다. 이것은 표준 동작 입니다. 이러한 많은 명령의 경우 tar, 오퍼랜드는 -표준 입력 또는 출력을 의미한다 . 많은 포탄에서은에 set - -a해당하며 set -- -a일부 이전 Bourne 포탄 set - -a은 유일하게 허용되는 형식이지만 set내장 된 예외입니다 .
Gilles 'SO- 악마 그만'

Solaris 프로그램은 주로 POSIX 표준 규칙에 따라 --옵션과 인수를 구분합니다.
alanc
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.