tar: --exclude = “. git”: Stat olamaz: Böyle bir dosya veya dizin yok


11

Bu beni delirtiyor. tarBir dizin istiyorum , ancak bazı dosyaları hariç tutuyorum. Bu benim emrim:

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

Yukarıdaki komut RedHat EL5 üzerinde çalışırken, Mac OS 10.8.2'de çalışmaz. Ben yerine denedi 'ile ", \'ve \". Eşit işaretleri kaldırmayı denedim. Hiç birşey çalışmıyor.

Neyi yanlış yapıyorum?


gnutarBrew, MacPort, vb. Kullanım . Apple'ın katranı çok sakat.
jww

Yanıtlar:


23

Bağımsız değişkenlerden önce tüm seçeneklerin birlikte olması ve -fbayrağın tar dosyasından önce gelmesi gerekir:

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

Bunu yaparsanız tar --help, --excludeseçenek yardımda görünüyor mu? OSX bilmiyorum ama belki de gtarstok yerine bir tane var tar.
Flup

2
Ah Ben bu deneyin :) bkz: bayrak sonraki argüman olarak bir dosya adı bekliyor. tar --exclude='.git' --exclude='.gitignore' -zcvf $NAME-$VERSION.tar.gz $NAME-$VERSION-f
Flup

Üzgünüm evet, düzenlendi. Burada yeniyim, bu yüzden benimle kal!
Flup

2
Bunun bir Mac - 10.9 üzerinde çalıştığını kanıtlayabilir. Bunun doğru sürümünü bulmak için bana biraz zaman ayırdı, bu yüzden yorumumu burada bırakıyorum!
JohnAllen

2

Bu size istediğinizi verir:

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

1

Görünüşe göre .git meta dizinlerini filtrelemek istiyorsunuz, en kolay yolu sürüm kontrol sistemi dizinlerini hariç tutmak için --exclude-vcs kullanmaktır:

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

Linux makinemde "tar (GNU tar) 1.27.1" kullandım, mac'un BSD Genel Komutu (GNU olmayan sürüm) bu seçeneği desteklemiyor gibi görünüyor.


Bunun Apple'ın katranıyla çalıştığından emin misiniz? Apple'ın tar(1)kılavuz sayfasına bakınız . listelemez --exclude-vscveya --exclude-vcs.
jww

İpucu için teşekkürler sevgili @ jww. Daha etkili olabilmek için cevabımı düzenledim.
Kayvan Tehrani
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.