다음 명령을 사용하여 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