xz 압축을 사용하여 디렉터리를 다른 디렉터리로 tar할 수 없습니다.

xz 압축을 사용하여 디렉터리를 다른 디렉터리로 tar할 수 없습니다.

존재하지 않는 다른 디렉토리에 내 홈 디렉토리의 tar 아카이브를 생성하기 위해 xz 압축을 사용하려고 하는데 오류가 발생합니다.

tar: 빈 아카이브 생성을 비겁하게 거부합니다.

내가 실행한 명령은 다음과 같습니다.

tar cJvf /mnt/1234/a.tar.xz -C ~/

저는 데비안 9.5를 사용하고 있습니다.

답변1

아카이브에 넣을 파일을 알려주지 않았습니다.

당신은 이미

  • 파일을 생성할 위치를 알려줍니다.
  • 어떤 디렉토리로 변경할지 알려주세요.

하지만 아직 무엇을 넣을지는 말하지 않았습니다.

가장 간단한 해결책은 다음과 같습니다.

tar cJvf /mnt/1234/a.tar.xz -C ~/ .

그러면 모든 파일은 이름이 ;로 시작하는 아카이브에 저장됩니다 ./. 예를 들어./foo ./bar ./baz

그러나 이러한 아카이브를 추출할 때는 현재 디렉터리로 추출되고 현재 디렉터리의 권한 변경을 포함하여 기존 파일을 덮어쓸 수 있으므로 주의하십시오.

답변2

당신의 명령:

tar cJvf /mnt/1234/a.tar.xz -C ~/

이는 GNU에게 무엇을 보관할지 알려주지 않습니다 tar. 비트 -C ~/는 작업을 수행하기 전에 알려 주지만 tar아직 무엇을 보관할지 알려주지 않았습니다.cd~/

당신은 사용하고 싶을 수도 있습니다

tar cJvf /mnt/1234/a.tar.xz -C ~/ .

tar이것은 디렉토리를 변경한 후 현재 디렉토리를 보관하라는 GNU 지침을 제공합니다 ~/.

관련 정보