-f 옵션 없이 tar 추출

-f 옵션 없이 tar 추출

내 질문은 다음과 비슷합니다tar 명령의 -f 매개변수는 무엇을 합니까?, 그러나 아카이브 추출과 관련이 있습니다. tar x대신 발행하면 tar xf mytarball.tarstdin을 통해 아카이브에 "입력"해야 합니까? Ctrl-Z로 종료해야 합니까?

답변1

tar구현 에 따라 다릅니다 . tar테이프 아카이버, 대부분의 구현에서 옵션을 tar제공하지 않으면 을 사용 하여 일부 테이프 장치에서 데이터를 추출합니다.fxtar

그러나 tarGNU를 포함한 일부 구현에서는 libarchive가 star첫 번째 테이프 장치가 아닌 표준 입력에서 아카이브를 읽습니다.

$TAPE동일한 구현에서 f이 옵션이 제공되지 않으면 환경 변수를 사용하여 테이프 장치에 대한 경로를 지정할 수도 있습니다.

tar입력 리디렉션 없이 터미널의 쉘 프롬프트에서 실행할 때 와 같이 의 stdin이 터미널 장치 인 경우 tar xtar 아카이브를 고려하여 아카이브의 내용을 키보드로 입력해야 합니다(매우 까다롭습니다). 이진 형식임) eof키를 두 번 누르거나 문자를 보내는 키 조합(보통 ^D(0x4), 일반적으로 을 눌러 얻음 )을 눌러 Ctrl+D수행됩니다 .

일반적으로 아카이브의 내용을 입력하지 않고 대신 stdin을 파일, 파이프 또는 소켓으로 설정합니다.

tar x < file # better as tar xf - < file for portability
xzcat file.xz | tar x

관련 정보