[unix] tar가“stat를 할 수 없습니다 : 디렉토리의 해당 파일이 없습니다”에서 종료됩니다. 왜 그렇습니까?

다음 명령을 사용하여 tar.gz 파일을 만들려고합니다.

sudo tar -vcfz dvr_rdk_v1.tar.gz dvr_rdk/

그런 다음 파일 (폴더의 많은 파일)을 만들기 시작하지만 다음 오류가 발생합니다.

tar: dvr_rdk_v1.tar.gz: Cannot stat: No such file or directory
tar: Exiting with failure status due to previous errors

이 오류에 대한 설명이 표시되지 않습니다. 무슨 뜻입니까?



답변

옵션 -에서 제거하십시오 vcfz. tar옵션에는 하이픈이 필요하지 않습니다.

하이픈으로 -f옵션에 대한 인수 는 z입니다. 그래서 명령을 보관하려고 유효 dvr_rdk_v1.tar.gz하고 dvr_rdk라는 아카이브로 z. 하이픈이 없으면 옵션의 의미가 변경되어 명령 줄의 다음 인수, 즉 아카이브의 파일 이름이 f플래그에 대한 인수가됩니다 .

또한 명령을 실행중인 디렉토리에 대한 쓰기 권한을 확인하십시오.


답변

-f옵션은 직접 파일 이름을 선행해야한다. tar -vczf filename.tar.gz대신에 사용하십시오-vcfz


답변

tar 명령 역사적으로 유닉스 따르지 않는 몇 가지 명령 중 하나였다 유틸리티 구문 가이드 라인을 .

tar의 표준 페이지는 다음과 같이 말합니다.

f
첫 번째 파일 피연산자 (또는 b가 이미 지정된 경우 두 번째)를 시스템 종속 기본값 대신 아카이브 이름으로 사용하십시오.

구문 지침에는 다음이 포함됩니다.

지침 5 :
하나의 ‘-‘구분 기호 뒤에 그룹화 할 때 옵션 인수가없는 하나 이상의 옵션과 옵션 인수를 취하는 최대 하나의 옵션이 허용됩니다.

따라서 tar -vcfz dvr_rdk_v1.tar.gz dvr_rdk/이전 버전의 tar에서는 사용자가 입력 한 명령이 적합 하지만 유틸리티 구문 지침을 엄격히 따르도록 작성된 특정 tar 버전은이를 ” z파일 인수로 사용”을 의미하도록 구문 분석합니다 -f. 따라서 다음을 사용하여 이식성이 있어야합니다.

tar -cvzf dvr_rdk_v1.tar.gz dvr_rdk/


답변

아카이브를 만들려면

$ tar -cvf music.tar Music/

파일 및 폴더 목록이 표시됩니다

$ tar -tvf music.tar

그리고 다시 추출

$ tar -xvf music.tar


답변