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 '..')