![존재하지 않는 파일에서 tar 추출이 중단됩니다.](https://linux55.com/image/68633/%EC%A1%B4%EC%9E%AC%ED%95%98%EC%A7%80%20%EC%95%8A%EB%8A%94%20%ED%8C%8C%EC%9D%BC%EC%97%90%EC%84%9C%20tar%20%EC%B6%94%EC%B6%9C%EC%9D%B4%20%EC%A4%91%EB%8B%A8%EB%90%A9%EB%8B%88%EB%8B%A4..png)
유효한 tar gzip 파일 P.tgz를 추출하려고 합니다. 무한히 매달립니다.
tar -x P.tgz
파일 크기가 매우 작습니다. 그러나 그것은 결코 끝나지 않았습니다.
존재하지 않는 tar 아카이브를 사용해 보았지만 DoesntExist.tgz
오류 메시지가 보고되지 않고 "archive doesn't exist"
무한히 멈추고 쉘 프롬프트로 돌아오지 않습니다.
참고: P.tgz
다음 명령을 사용하여 생성된 유효한 gzip 파일입니다.
tar -cPf P.tgz /opt/seckie
답변1
tar
tar 파일의 이름을 인수로 사용하지 않습니다. tar 파일의 이름을 이 옵션의 인수로 전달할 수 있습니다 -f
. 당신은 쓸 수 있습니다
tar -x -f P.tgz
또는 ( tar
역사적인 이유로 이상한 옵션 구문 분석이 있습니다)
tar xf P.tgz
또는 ( tar
tar 파일 이름이 보이지 않으면 압축되었음을 명시적으로 알려주어야 합니다)
tar xz <P.tgz
GNU tar는 기본적으로 표준 입력에서 tar 파일을 읽습니다(또는 tar 파일을 생성하는 명령의 경우 표준 출력에 씁니다). 대부분의 다른 tar 구현은 기본적으로 테이프에서 읽습니다. 이를 실행하면 tar -x P.tgz
프로그램 tar
은 표준 입력에서 아카이브를 기다립니다. 입력을 제공하지 않기 때문에 영원히 기다립니다. 인수는 P.tgz
아카이브에서 추출할 파일의 이름입니다.
답변2
이용해서 수정했는데,
tar xf P.tgz #added f to the options
모든 아카이브 파일 이름 매개변수는 다음과 같은 f 옵션을 따라야 합니다.