tar 명령에 대한 인수로 표준 출력을 찾도록 리디렉션

tar 명령에 대한 인수로 표준 출력을 찾도록 리디렉션
$ find playground -name "file_a"  | tar cf - --files-from=- | gzip > playground.tgz

왜 우리가 둘 다 -사용하는지 이해하지 못함cf ---files-from=-

-모든 표준 출력이 로 리디렉션되지 않았습니까 tar cf?

답변1

동일한 -기호를 사용하면 혼란스러울 수 있지만 경우에 따라 의미가 다릅니다.

와 함께 사용하면 cf -작성할 파일의 이름을 지정하는 대신 다음을 의미합니다.tar는 아카이브를 표준 출력에 써야 합니다.:

"-"가 아카이브 이름으로 사용되면 tar는 표준 입력에서 아카이브를 읽거나(파일을 나열하거나 추출할 때)표준 출력(아카이브를 생성할 때).

시기와 --files-from=-수단주어진 파일 이름에서 추출하거나 생성할 이름을 가져옵니다., 그리고:

"--files-from"의 파일 이름으로 대시를 지정하면(즉, --files-from=- 또는 -T -를 지정) 파일 이름은 다음에서 읽혀집니다.표준 입력.

(저는 표준 입력 읽기를 강조합니다).

관련 정보