[Linux] tar 특정파일 압축풀기/해제


#[일반]
#[압축하기]
tar -cvzf [압축 파일 이름] [압축할 파일 또는 디렉토리명]
# ex) tar -cvzf test.tar.gz ./*

#[압축풀기]
tar -xvzf [압축 해제할 아카이브 이름]
#ex) tar -xvzf ./test.tar.gz

#[특정디렉토리에 압축풀기]
tar -xvzf [압축 해제할 아카이브 이름] -C [압축해제할 디렉토리명]
#ex) tar -xvcf ./test.tar.gz -C ./tmp/

#[옵션값]
## x : 묶을을해제 압축풀때
## c : 파일을 묶음 압축할때
## C : 압축파일 풀어놓을 경로를 지정
## t : 압축파일 내용 확인할때
## v : 묶음/해제 과정을 화면에 표시
## z : gunzip을 사용
## j : bzip사용
## f : 파일 이름을 지정
## p : 권한을 원본과 동일하게 유지

#[특정 파일만 압축 해제하기]

#우선 압축된 아카이브에 파일 리스트를 확인
tar tvf test.tar.gz

#위와 같은 명령어를 사용 하면 test.tar.gz의 압축된 파일경로 및 파일리스트를 확인 할수 있습니다.
# drwxr-xr-x tomcat/tomcat      0 2018-04-11 01:02:31 test/
# -rw-r--r-- tomcat/tomcat    222 2017-04-10 03:12:22 test/test.logs
# -rw-r--r-- tomcat/tomcat    333 2017-02-22 02:12:12 test/test2.logs
# drwxr-xr-x tomcat/tomcat      0 2017-02-20 05:01:51 test2/
# -rw-r--r-- tomcat/tomcat    444 2017-02-08 06:02:12 test2/test2.logs

#이제 특정 파일을 압축을 풀어보겠습니다.
tar xvfzp test.tar.gz test2/test2.logs
#이렇게 하면 test.logs 파일만 압축이 풀리게 됩니다.

#응용하여 아래와 같이 사용하는 방법도 있습니다.
tar xvzfp test.tar.gz 'tar tf test.tar.gz | grep "/test2/"'
#이렇게 하면 /test2/의 경로에 있는 파일들은 다 압축이 풀리게 됩니다.





블로그 이미지

pstree

pstree.. process...

,