Mungkin ada cara lain untuk mencapai apa yang Anda inginkan. Pada dasarnya,
- Gunakan temukan perintah untuk menampilkan jalur ke file apa pun yang Anda cari. Alihkan stdout ke nama file yang Anda pilih.
-
Kemudian tar dengan opsi -T yang memungkinkan untuk mengambil daftar lokasi file (yang baru saja Anda buat dengan find!)
find . -name "*.whatever" > yourListOfFiles tar -cvf yourfile.tar -T yourListOfFiles
Gunakan ini:
find . -type f -print0 | tar -czvf backup.tar.gz --null -T -
Itu akan:
- menangani file dengan spasi, baris baru, tanda hubung di depan, dan kelucuan lainnya
- menangani file dalam jumlah tak terbatas
- tidak akan berulang kali menimpa backup.tar.gz Anda seperti menggunakan
tar -c
denganxargs
akan dilakukan ketika Anda memiliki banyak file
Lihat juga:
- Manual tar GNU
- Bagaimana cara membuat tar dari stdin?, cari null
Nama file tidak tercetak dengan benar dengan garis bawah _ di Bash
Bagaimana cara mengubah direktori root dari server Apache?