Dengan wildcard itu tidak akan berhasil. Anda harus menentukan. (direktori saat ini) jika maksud Anda direktori lengkap termasuk file tersembunyi. Anda bisa melakukannya
tar -cvpzf test.tgz .
Jawabannya adalah * wildcard ditangani oleh shell dan tidak meluas ke hal-hal yang dimulai dengan titik. Karakter pengganti lainnya ? juga tidak meluas ke hal-hal yang dimulai dengan titik. Terima kasih kepada Keith karena telah menunjukkan bahwa shell yang melakukan ekspansi sehingga tidak ada hubungannya dengan tar .
Jika Anda menggunakan shopt -s dotglob maka perluasan akan mencakup hal-hal seperti .filename . Terima kasih kepada Andy.
Gunakan shopt -u dotglob untuk mematikannya.
Mengganti dotglob opsi tidak mengubah ls diri. Melainkan hanya mengubah perilaku ekspansi seperti yang ditunjukkan dalam sesuatu seperti ls * .
Sunting:Rekomendasi saya ada di komentar di bawah.
Anda dapat menggunakan:
tar -cvpzf test.tgz * .??*
Namun, ini hanya berfungsi untuk file tersembunyi dengan nama> 2 (untuk mencegah '.' dan '..')