아래와 같은 파일이 있다.
/home/keige/test/c/a.out
/home/keige/test/c/a.c
/home/keige/test/c/filter/code.c
위 파일들을 tar -cf t.tar /home/keige/test 로 묶고 나서
/home/keige/test2 디렉토리에서 tar -xvf t.tar를 하게 되면
/home/keige/test2/home/keige/test/c/a.out
/home/keige/test2/home/keige/test/c/a.c
/home/keige/test2/home/keige/test/c/filter/code.c
로 풀리게 된다.
원하는 것은 아래와 같이 /home/keige/test의 서브 디렉토리만 뽑아서 현재 디렉토리에 추출하는 것이다.
/home/keige/test2/c/a.out
/home/keige/test2/c/a.c
/home/keige/test2/c/filter.code.c
이것을 간단히 tar의 –strip-path 옵션으로 해결해본다.
사용법은 –strip-path=NUM 이며 NUM에는 제거할 리딩 컴포넌트 수를 적는다.
/home/keige/test의 서브디렉토리만 추출한다면 디렉토리가 3단계(/가 세개)로 되어 있으므로
[keige@svr test2]$ tar -xvf t.tar –strip-path=3
와 같이 실행하면 원래 목록에서 /home/keige/test는 제거되어
c/a.out
c/a.c
c/filter/code.c
만 현재 디렉토리에 풀리게 된다.
]]>
댓글 남기기