tar를 사용할 때 특정 디렉토리의 특정 확장자만 압축하고 싶을때의 방법은 다음과 같습니다.
예) 확장자가 c*, h 인 화일을 모두 src0503.tar 로 압축하기
Ex) cpp, c, cxx file compress to a tar file
#ex) cpp, c, cxx file compress to a tar file
# find . -name "*.c*" -o -name "*.h" | xargs tar rvf src0503.tar
설명하자면 다음과 같습니다.
1) find . -name 은 특정 화일을 찾는 커맨드입니다. “*.c*” 라고 하면 모든 c, c++, cxx 등의 c파일을 찾아줍니다.
2) -o 를 붙이고 -name을 추가하면 다른 확장자나 파일명도 검색이 가능합니다.
3) xargs 는 파이프를 통해 앞의 커맨드의 결과를 뒤 명령문 파라메터로 넣어줍니다 🙂
4) tar rvf 는 tar압축의 append 모드라고 합니다. 이렇게 압축하게 될 경우에는 파일이 많아도 모두 압축할 수 있는 장점이 있습니다.
5) 필요에 따라서 한번 더 압축합니다.
예) src0503.tar -> src0503.tar.gz 로 변환하여 압축
Ex) make compless to tar.gz
shell> gzip -f src0503.tar