728x90
반응형

tar 압축시 절대경로를 넣으면 아래 메세지가 출력됨

 

tar: Removing leading `/' from member names

 

tar을 이용하여 / 아래에서부터 시작하는 경로로 압축을 한 경우,
절대 경로가 아니라 상대경로로 만들기 때문에 / 를 제거한다고 알려주는 메시지인 것이다.
GNU tar는 기본적으로 절대경로를 인정 안한다.

 

[lhrtest@server_hostname tmp]$ tar cfz /tmp/test/lhr_test.tar.gz --exclude=/tmp/test/logs /tmp/test/*

tar: Removing leading `/' from member names


위와 같은 메시지를 출력해주는데, P 옵션으로 don’t strip leading ‘/’s from file names 할수 있다.


또는


쉘스크립트안에 현재 경로로 이동 하고 아래 처럼 압축을 하면 될 거 같다.

[lhrtest@server_hostname test]$ tar cfz ./lhr_test.tar.gz --exclude=./logs .

[lhrtest@server_hostname test]$ tar xfv lhr_test.tar.gz 

./

./log.log

./tmp/

./tmp/test/

./tmp/test/log.log

./tmp/test/1.log

./tmp/test/2.log

./1.log

./2.log

./lhr_test.tar.gz

[lhrtest@server_hostname tmp]$ tree

.

`-- test

    |-- 1.log

    |-- 2.log

    `-- log.log


1 directory, 3 files

 

 

 

 

 

 


 


 


--exclude=/tmp/test/logs 옵션으로 특정 dir을 제외하고 tar로 압축하는 경우에는 다음과 같다.


[lhrtest@server_hostname test]$ tar cfzP /tmp/test/lhr_test.tar.gz --exclude=/tmp/test/logs /tmp/test/*

[lhrtest@server_hostname test]$ tar xfv lhr_test.tar.gz 

tmp/test/1.log

tmp/test/2.log

tmp/test/log.log

[lhrtest@server_hostname  test]$ tree

.

|-- 1.log

|-- 2.log

|-- lhr_test.tar.gz

|-- log.log

|-- logs

`-- tmp

    `-- test

        |-- 1.log

        |-- 2.log

        `-- log.log


3 directories, 7 files


위처럼 logs  디렉터리는 제외하고 tar로 압축 할 수 있다.

728x90
반응형
블로그 이미지

nineDeveloper

안녕하세요 현직 개발자 입니다 ~ 빠르게 변화하는 세상에 뒤쳐지지 않도록 우리모두 열심히 공부합시다 ~! 개발공부는 넘나 재미있는 것~!

,