tar 사용시 필요치 않은 파일 또는 디렉토리 제외 하고 묶기..??
글쓴이: myhong74 / 작성시간: 목, 2006/04/20 - 11:22오전
같은 디렉토리에 있는 여러 파일과 디렉토리중.. 원치 않는 디렉토리를 제외하고
압축할 수 있는 방법은 없을까요?
원하는 디렉토리를 쭉..나열하지 않고 ( 너무 많아서.....)
필요하지 않는 디렉토리를 명시하고 압축하는 방법은 없을까요..?
예
file1
file2
file3
file4
file5
dir1
dir2
dir3
dir4
dir5
중.. file2 와 dir2 를 제외하고 tar 로 묶는 방법을... 알고 싶습니다...
조언 부탁드립니다.
Forums:
exclude라는 옵션이
exclude라는 옵션이 있겠죠...tar --help 라고 쳐서 옵션을 보시면 해결될 문제이구요.
tar cvfz filename.tgz --exclude=file2 --exclude=dir2
라고 하시면 됩니다.
------------------------------------------------------------------------------------------------------
내 마음속의 악마가 자꾸만 나를 부추겨.
늘 해왔던 것에 만족하지 말고 뭔가 불가능해 보이는 것을 하라고 말야.
내 마음속의 악마가 자꾸만 나를 부추겨.
늘 해왔던 것에 만족하지 말고 뭔가 불가능해 보이는 것을 하라고 말야.
-X, --exclude-from=FILE
-X, --exclude-from=FILE exclude patterns listed in FILE
파일에 따로 목록을 적어두고 -X 옵션으로 그 파일을 지정하셔도 됩니다.
이 옵션을 사용하다 발견한 점은 패턴을 적어주실때 디렉토리의 경우 끝에 /를 붙여주면 원하는대로 동작하지 않습니다.
$ tar cvjf bak.tbz2 --exclude=dir2 *
이렇게 하면 현재 디렉토리에서 dir2디렉토리를 제외하고 묶어지는데
$ tar cvjf bak.tbz2 --exclude=dir2/ *
끝에 / 를 붙여주시면 안됩니다.
파일로 작성해서 사용하실때도 마찬가지이구요.
현재 디렉토리의 모든 파일을 지정할떄는 보통 * 와일드카드 문자로 가능하지만 히든파일까지 포함 시키려고 하니 간단한 방법이 안떠오르더군요. 그래서 ls 와 묶어서 사용합니다.
ls -1A | tar cvjf bak.tbz2 -X exclude -T -
1은 한줄에 파일 하나 출력, A는 a와 같지만 . , .. 를 제외합니다.
-T는 묶을 목록을 파일에서 받기 - 는 표준 입력입니다.
다양한 방법이 있을겁니다. ls 없이 tar만으로 하는 방법을 저도 알고 싶네요.
--
마잇
--
마잇
현재 디렉토리의 모든 파일을 지정할 때
tar cf test.tar .
하면 되지 않나요?
tar cf test.tar .
으로 히든파일까지 되네요 ㅎㅎ
전 히든파일 압축하는걸 찾고 있었는데 감사합니다.
댓글 달기