tar : --exclude =“. git”: 통계 : 파일 또는 디렉토리가 없습니다


11

이것은 나를 미치게합니다. 내가 원하는 tar디렉토리하지만 일부 파일을 제외합니다. 이것은 내 명령입니다.

tar -zcvf $NAME-$VERSION.tar.gz $NAME-$VERSION --exclude='.git' --exclude='.gitignore'

위의 명령은 RedHat EL5에서 작동하지만 Mac OS 10.8.2에서는 작동하지 않습니다. 나는 교체 시도 '", \'\". 등호를 제거하려고했습니다. 아무것도 작동하지 않습니다.

내가 뭘 잘못하고 있죠?


gnutarBrew, MacPort 등에서 사용하십시오 . Apple의 타르가 너무 손상되었습니다.
jww

답변:


23

모든 옵션은 인수 앞에 함께 -f있어야 하며 플래그는 tar 파일 앞에 와야합니다.

tar -zcv --exclude = '. git'--exclude = '. gitignore'-f $ NAME- $ VERSION.tar.gz $ NAME- $ VERSION

그렇게 tar --help하면 --exclude옵션이 도움말에 나타 납니까? 나는 OSX를 모르지만 아마도 gtarstock 대신에 스톡 이있을 것이다 tar.
Flup

2
아, 나는 이것을 시도 :) 참조 : 플래그는 다음 인수로 파일 이름을 기대하고있다. tar --exclude='.git' --exclude='.gitignore' -zcvf $NAME-$VERSION.tar.gz $NAME-$VERSION-f
Flup

예, 죄송합니다. 수정했습니다. 나는 여기에 새로운 그래서 나와 함께 곰!
Flup

2
이것이 Mac-10.9에서 작동 함을 증명할 수 있습니다. 이 버전의 올바른 버전을 찾는 데 시간이 걸렸으므로 여기에 의견을 남기십시오!
JohnAllen

2

이것은 당신이 원하는 것을 제공합니다 :

tar czvf $NAME-$VERSION.tar.gz $NAME-$VERSION --wildcards --exclude=.git --exclude=.gitignore

1

.git 메타 디렉토리를 필터링하는 것 같습니다. 가장 쉬운 방법은 --exclude-vcs를 사용하여 버전 제어 시스템 디렉토리를 제외하는 것입니다.

tar -zcvf $NAME-$VERSION.tar.gz $NAME-$VERSION --exclude-vsc

Linux 시스템에서 "tar (GNU tar) 1.27.1"을 사용했는데, Mac의 BSD General Command (비 GNU 버전)가이 옵션을 지원하지 않는 것 같습니다.


이것이 애플의 타르와 함께 작동한다고 확신합니까? Apple tar(1)매뉴얼 페이지를 참조하십시오 . 그것은 나열하지 않습니다 --exclude-vsc--exclude-vcs.
jww

힌트를 주셔서 감사합니다. 더 효과적인 답변을 편집했습니다.
Kayvan Tehrani
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.