-C /path/to 혹은 --directory=/path/to 옵션을 이용하여 working directory를 지정하는 방식으로 가능하다.
// /etc/passwd, /etc/hosts, /lib/libc.a 파일을 각각 foo.tar 파일에 압축하는 예제
[root@localhost]# tar -c -f foo.tar -C /etc passwd hosts -C /lib libc.a
// /path1 디렉토리와 /path2 디렉토리 각각의 파일 전부를 foo.tar로 압축
[root@localhost]# tar -c -f foo.tar -C /path1 . -C /path2 .
'특정 디렉토리의 특정 확장자를 가진 파일' 같은 wildcard 지정은 불가능함에 주의.
// /path/to 디렉토리의 log 파일만 압축하려 하지만 아마 안될 것이다...
[root@localhost]# tar -c -f foo.tar -C /path/to *.log
*.log가 지정되는 순간 wildcard의 해석은 shell로 넘어갔다가 다시 tar로 넘어오기 때문에,
우연히 현재 디렉토리와 압축하려는 디렉토리의 *.log 파일 리스트가 일치하지 않는 한 불가능하다.
그러므로 굳이 저렇게 하고 싶으면 find와 touch 등을 이용해 현재 디렉토리와 압축할 디렉토리의 압축할 파일명 리스트를 맞춰주면 노린대로 동작은 하겠지만 천하의 개뻘짓이겠지.
[참조]
http://www.gnu.org/software/tar/manual/html_node/directory.html
'Linux' 카테고리의 다른 글
[Bash] Bash Script 에러발생해도 다음 스크립트 계속 실행하는 방법 (2) | 2016.11.22 |
---|---|
[Linux] Bash shell 괄호확장 (brace expansion) (0) | 2016.03.31 |
[Linux] DHCP로 네트워크 설정시 /etc/resolv.conf가 덮어써지는 현상 (0) | 2015.12.17 |
[Linux] Vim 에디터 내부에서 bash shell 사용하기 (0) | 2015.11.30 |
[Linux] yum install/update 실패시 (Error unpacking rpm package) (0) | 2015.11.04 |