최근에 나는 다음 명령을 발견했습니다.
curl https://start.spring.io/starter.tgz -d dependencies=webflux,actuator | tar -xzvf -
curl
파일 자체 tgz
는 가 아니기 때문에 다운로드되지 않습니다 wget
. tar -xzvf
또한 어떤 파일도 다운로드되지 않습니다. 하지만 tar -xzvf -
파일을 "다운로드"합니다. 맨페이지에서 어떤 -
설명 도 찾지 못했고 tar
로그인 셸과도 관련이 없는 것 같습니다. 제가 사용한 쉘인 것 같아요. 이건 뭐죠 -
?
답변1
curl
하다파일을 다운로드합니다. 대신 파일 저장 옵션을 지정하지 않는 한 wget
다운로드한 파일을 에 씁니다 . in tar 명령은 옵션과 함께 제공되며 다음 섹션에서 설명을 찾을 수 있습니다 .stdout
-o
-
-f
info tar
6.1 Choosing and Naming Archive Files
"-"가 ARCHIVE-NAME으로 사용되는 경우 "tar"는 표준 입력에서 아카이브를 읽거나(파일을 나열하거나 추출할 때) 표준 출력에 씁니다(아카이브를 생성할 때). 아카이브를 수정할 때 ARCHIVE-NAME으로 "-"를 사용하면 "tar"는 표준 입력에서 원본 아카이브를 읽고 전체 새 아카이브를 표준 출력에 씁니다.
답변2
Curl은 파일을 다운로드하여 STDOUT으로 보냅니다. 동일한 작업을 수행할 수 있습니다 wget
.
|
그런 다음 이 파일은 tar
명령의 STDIN 으로 파이프( )됩니다. 대시( -
)는 tar에게 파일 시스템의 파일 대신 파일에 STDIN을 사용하도록 지시합니다.