내 질문은 다음과 비슷합니다tar 명령의 -f 매개변수는 무엇을 합니까?, 그러나 아카이브 추출과 관련이 있습니다. tar x
대신 발행하면 tar xf mytarball.tar
stdin을 통해 아카이브에 "입력"해야 합니까? Ctrl-Z로 종료해야 합니까?
답변1
tar
구현 에 따라 다릅니다 . tar
예테이프 아카이버, 대부분의 구현에서 옵션을 tar
제공하지 않으면 을 사용 하여 일부 테이프 장치에서 데이터를 추출합니다.f
x
tar
그러나 tar
GNU를 포함한 일부 구현에서는 libarchive가 star
첫 번째 테이프 장치가 아닌 표준 입력에서 아카이브를 읽습니다.
$TAPE
동일한 구현에서 f
이 옵션이 제공되지 않으면 환경 변수를 사용하여 테이프 장치에 대한 경로를 지정할 수도 있습니다.
tar
입력 리디렉션 없이 터미널의 쉘 프롬프트에서 실행할 때 와 같이 의 stdin이 터미널 장치 인 경우 tar x
tar 아카이브를 고려하여 아카이브의 내용을 키보드로 입력해야 합니다(매우 까다롭습니다). 이진 형식임) eof
키를 두 번 누르거나 문자를 보내는 키 조합(보통 ^D
(0x4), 일반적으로 을 눌러 얻음 )을 눌러 Ctrl+D수행됩니다 .
일반적으로 아카이브의 내용을 입력하지 않고 대신 stdin을 파일, 파이프 또는 소켓으로 설정합니다.
tar x < file # better as tar xf - < file for portability
xzcat file.xz | tar x