tar cvf /var/lib/backup/sample.tar /home/user/.project
그러나 추출하면 해당 부모도 함께 얻습니다.
/backup/
- /home/
- /user/
- .project/
user
이 tar 명령은 상위 항목( 예를 들어 아래의 다른 폴더)에 다른 항목을 포함하지 않기 때문에 해당 작업을 수행합니다 .
저는 이 작업을 프로그래밍 방식으로 수행하고 싶기 때문에 현재 작업 디렉터리를 다음으로 변경하는 것은 /home/user/
실제로는 선택 사항이 아닙니다. 그게 가능할까요?
답변1
tar링하기 전에 디렉토리 -C
로 변경하는 옵션을 사용하거나 추출 시 사용할 수 있습니다./home/user
--strip-components 2
tar cvfC /var/lib/backup/sample.tar /home/user .project
# Note the space ^
tar cvf /var/lib/backup/sample.tar /home/user/.project
tar Cxf /backup /var/lib/backup/sample.tar --strip-components 2
답변2
내 생각 에 파일을 cd
생성하려는 최상위 디렉터리로 이동하면 tar
이 문제가 발생하지 않을 것입니다. 즉,
cd
to user
및 tar
up .project
.. 이전과 마찬가지로 tar 파일의 대상을 지정할 수 있습니다 /var/...
.
아니면 하고 싶지 않거나 할 수 없는 이유가 cd
있나요 user
?