일부 주요 디렉토리를 건너뛰고 타르볼을 추출하려면 어떻게 해야 합니까?

일부 주요 디렉토리를 건너뛰고 타르볼을 추출하려면 어떻게 해야 합니까?

다음 명령을 사용하여 폴더를 보관하고 있습니다.

tar jcf "home/username/forum/forum.tar.bz2" /var/www/forum/

그런 다음 다음을 사용하여 추출합니다.

tar jxf forum.tar.bz2 ./

올바르게 추출되었지만 /home/username/forum/var/www/forum폴더가 생성됩니다. 폴더 로 추출하려면 어떻게 해야 하나요 /home/username/forum?

감사합니다

답변1

게다가dv3500ea의 답변var/www/forum/, 다음 명령을 사용하여 다음을 포함 하는 타르볼을 추출할 수 있습니다 forum/.

tar xjf forum.tar.bz2 --strip-components=2

var/www/두 개의 경로 구성 요소이므로 2in --strip-components.

타르볼 안에 무엇이 있는지 확실하지 않다면 다음 t옵션을 사용하세요:

tar tjf forum.tar.bz2

less스크롤할 때 화살표 키를 사용할 수 있도록 파이프를 연결하세요 .

사용된 옵션에 대한 일반적인 참고 사항:

  • x- 타르볼을 추출합니다. 명령이 수행하는 작업을 확인하는 것이 가장 논리적이므로 항상 첫 번째 옵션으로 배치합니다.
  • c- 타르볼을 생성합니다
  • t- 타르볼의 내용을 나열합니다.
  • j- tar가 bzip2 압축된 tarball을 압축 해제하도록 합니다. 이는 .bz2확장 프로그램과 중복되므로 이 옵션도 제거할 수 있습니다.
  • f- 이 옵션은 파일 이름을 인수로 예상합니다. 추출할 타르볼( tar xf file.tar.bz2) 또는 생성할 타르볼( tar cf file.tar.bz2) 입니다.

답변2

-C /var/www/아카이브를 생성할 때 아카이브를 생성하는 동안 현재 디렉터리를 /var/www로 변경하는 데 사용합니다 .

tar jcf home/username/forum/forum.tar.bz2 -C /var/www/ forum

이렇게 하면 'forum' 폴더가 아카이브의 최상위 수준에 있게 되므로 다음을 실행할 때 현재 폴더로 직접 추출됩니다.

tar jxf forum.tar.bz2 ./

답변3

빠른(아마도 잘못된) 해결책은 tar링하기 전에 디렉토리를 변경하도록 명령을 변경하는 것입니다. 즉:

cd /var/www/forum; tar jcf "home/username/forum/forum.tar.bz2" .

관련 정보