Ini membuatku gila. Saya ingin tar
direktori, 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?
gnutar
dari Brew, MacPort, dll. Tar Apple terlalu lumpuh.Jawaban:
Semua opsi harus bersama sebelum argumen, dan
-f
flag harus mendahului file tar:sumber
tar --help
, apakah--exclude
opsi muncul di bantuan? Saya tidak tahu OSX tapi mungkin ada yanggtar
bukan stoktar
.tar --exclude='.git' --exclude='.gitignore' -zcvf $NAME-$VERSION.tar.gz $NAME-$VERSION
The-f
bendera mengharapkan nama file sebagai argumen berikutnya.Ini memberi Anda apa yang Anda inginkan:
sumber
Tampaknya Anda ingin memfilter direktori .git meta, cara termudah adalah menggunakan --exclude-vcs untuk mengecualikan direktori sistem kontrol versi:
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.
sumber
tar(1)
halaman manual Apple . tidak mencantumkan--exclude-vsc
atau--exclude-vcs
.