Saya memigrasi direktori home saya dari sistem lama ke yang baru, dan tarball yang saya buat berisi semuanya, termasuk file tersembunyi seperti .bashrc. Namun, ketika saya memindahkan konten tarball yang tidak dibongkar (yang ada di / tmp) ke direktori home saya yang baru, file-file yang disembunyikan tidak menyalin ( mv /tmp/home/rcook/* /home/rcook/
). Bagaimana saya bisa membuat saya memindahkan mereka?
Sebenarnya, saya pikir masalahnya bukan pada mv, tapi dengan bash's globbing. Jika saya melakukan ini:
mkdir a
mkdir b
touch a/.foo
touch a/bar
mv a/* b/
ls -a a/ b/
Saya melihat ini:
a/:
. .. .foo
b/:
. .. bar
a/.foo
tidak bergerak. Jadi bagaimana saya bisa mendapatkan * wildcard untuk menemukan file tersembunyi?
Ya, saya kira saya bisa mendekompres tarball langsung ke direktori home saya, tetapi tarball mendekompresi ke dalam home/rcook/...
, dan saya ingin memastikan saya menimpa tarball baru .bashrc
, dll. Dengan versi lama, yang disesuaikan, dan mengetahui bagaimana menemukan dan memindahkan file yang tersembunyi adalah keterampilan yang berharga. Saran?
Beberapa jawaban menyarankan melakukan sesuatu seperti mv src/.* dest/
. Namun, saya mencoba ini pada direktori pengujian saya dan mendapat kesalahan. Dimulai dengan:
rcook$ ls -a a/ b/
a/:
. .. bar .foo
b/:
. ..
rcook$ mv a/.* b/
mv: cannot move 'a/.' to 'b/.': Device or resource busy
mv: cannot remove 'a/..': Is a directory
rcook$ ls -a a/ b/
a/:
. .. bar
b/:
. .. .foo
Apa yang saya lakukan salah?