tar: --exclude = “. git”: Cannot stat: Tidak ada file atau direktori seperti itu


11

Ini membuatku gila. Saya ingin tardirektori, tetapi mengecualikan beberapa file. Ini adalah perintah saya:

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

Sementara perintah di atas bekerja pada RedHat EL5, itu tidak berfungsi pada Mac OS 10.8.2. Saya sudah mencoba mengganti 'dengan ", \'dan \". Saya telah mencoba menghilangkan tanda sama dengan. Tidak ada yang berhasil.

Apa yang saya lakukan salah?


Gunakan gnutardari Brew, MacPort, dll. Tar Apple terlalu lumpuh.
jww

Jawaban:


23

Semua opsi harus bersama sebelum argumen, dan -fflag harus mendahului file tar:

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

Jika ya tar --help, apakah --excludeopsi muncul di bantuan? Saya tidak tahu OSX tapi mungkin ada yang gtarbukan stok tar.
Flup

2
Ah saya lihat :) coba ini: tar --exclude='.git' --exclude='.gitignore' -zcvf $NAME-$VERSION.tar.gz $NAME-$VERSION The -fbendera mengharapkan nama file sebagai argumen berikutnya.
Flup

Maaf ya, sudah diedit. Saya baru di sini jadi bersabarlah!
Flup

2
Dapat membuktikan bahwa ini berfungsi pada Mac - 10.9. Butuh waktu beberapa saat untuk menemukan versi yang tepat dari ini, itulah sebabnya saya meninggalkan komentar saya di sini!
JohnAllen

2

Ini memberi Anda apa yang Anda inginkan:

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

1

Tampaknya Anda ingin memfilter direktori .git meta, cara termudah adalah menggunakan --exclude-vcs untuk mengecualikan direktori sistem kontrol versi:

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

Saya telah menggunakan "tar (GNU tar) 1.27.1" pada mesin Linux saya, sepertinya Perintah Umum BSD mac (bukan versi GNU) tidak mendukung opsi ini.


Apakah Anda yakin ini berfungsi dengan tar Apple? Lihat tar(1)halaman manual Apple . tidak mencantumkan --exclude-vscatau --exclude-vcs.
jww

Terima kasih @jww sayang untuk petunjuk Anda. Saya telah mengedit jawaban saya untuk menjadi lebih efektif.
Kayvan Tehrani
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.