
파일 구조가 있는 경우
dir/
dir/.ignore
dir/file.ext
dir/subdir/
dir/subdir/other_file.ext
여기에 dir/.ignore
한 줄이 포함되어 있으면 *.ext
다음 명령이 필요합니다.
$ tar -czvf dir.tgz --exclude-ignore=.ignore dir
및 이 dir.tgz
포함되어 있지만 포함되지 않은 가 생성됩니다 .dir/.ignore
dir/subdir/other_file.ext
dir/file.ext
그러나 GNU tar 버전 1.34(Ubuntu 22.04에 포함됨)를 사용하여 해당 명령을 실행하면 다음이 제공됩니다.
$ tar -czvf dir.tgz --exclude-ignore=.ignore dir
dir/
dir/subdir/
dir/.ignore
그래서 dir/subdir/other_file.ext
에는 포함되지 않습니다 dir.tgz
.
매뉴얼 페이지에는 다음과 같이 나와 있습니다.
--exclude-ignore=FILE Before dumping a directory, see if it contains FILE. If so, read exclusion patterns from this file. The patterns affect only the directory itself.
그리고 구체적인 대안
--exclude-ignore-recursive=FILE Same as --exclude-ignore, except that patterns from FILE affect both the directory and all its subdirectories.
그런데 어쨌든 의 제외 패턴이 dir/.ignore
적용됩니까 dir/subdir
?
명백한 것을 선점하려면: 아니요, 실수로 .ignore
in dir/subdir/
도 발생하지 않습니다.
답변1
아마도 버그일 겁니다.이미 마주친.
나는 그
--exclude-ignore
옵션을 발견했고 재귀적--exclude-vcs-ignores
으로.cvsignore
행동했는데, 이는 매뉴얼과 모순됩니다.
아직 수정되지 않은 것 같습니다.
지금도 보고됨그들의 버그 추적기에서