이 아카이브 명령을 참조하는 데 사용된 stdin 인스턴스에서 하이픈의 값은 실제로 어떻게 보입니까?

이 아카이브 명령을 참조하는 데 사용된 stdin 인스턴스에서 하이픈의 값은 실제로 어떻게 보입니까?

터미널 명령을 배우기 위한 가이드를 따르고 있는데 Playground 디렉터리에서 "file-A"라는 이름의 모든 파일을 찾기 위해 다음 명령에서 stdin을 참조하기 위해 하이픈을 사용하는 것을 발견했습니다. 나는 find 명령으로 찾은 파일을 참조하는 사용법을 이해합니다. 물론 tar로 파이프되고 --files-from= 옵션을 사용하여 파일로 읽히도록 설정됩니다. gzip 명령으로 이름을 바꾸기 전에 아카이브의 중간 이름을 정의하는 사용법을 이해할 수 없습니다.

 find ./playground -name 'file-A' | tar -cf - --files-from=- | gzip playground.tgz

stdin의 값은 stdin 파일에 정의된 경로 목록이 아닌가요? 그렇다면 이것이 어떻게 허용 가능한 아카이브 이름이 될 수 있습니까?

감사해요

답변1

설명서에서 찾을 수 없습니다 tar. 그러나 -도구에서는 이를 stdin 또는 stdout을 참조하는 의사 파일 이름으로 사용하는 경우가 많습니다. tar둘 다 if를 사용합니다. -f -출력을 말하고 에서 stdout파일 --files-from=-이름 목록을 가져오라고 말합니다 stdin. in 및 out은 암시적이며 이러한 옵션에는 각각 출력과 입력이 필요합니다.

또한 gzip이름을 바꾸는 것이 아닙니다. 그리고 임시 파일이 없으며 데이터는 파이프를 통해 전달됩니다.

관련 정보