Anda dapat menemukan serangkaian solusi lengkap tentang ini di jawaban UNIX & Linux untuk Bagaimana Anda memindahkan semua file (termasuk yang tersembunyi) dari satu direktori ke direktori lain? . Ini menunjukkan solusi dalam Bash, zsh, ksh93, standar (POSIX) sh, dll.
Anda dapat menggunakan dua perintah ini secara bersamaan:
mv /path/subfolder/* /path/ # your current approach
mv /path/subfolder/.* /path/ # this one for hidden files
Atau semuanya ( terima kasih pfnuesel ):
mv /path/subfolder/{.,}* /path/
Yang berkembang menjadi:
mv /path/subfolder/* /path/subfolder/.* /path/
(contoh: echo a{.,}b
meluas ke a.b ab
)
Perhatikan ini akan menampilkan beberapa peringatan:
mv: cannot move ‘/path/subfolder/.’ to /path/.’: Device or resource busy
mv: cannot remove /path/subfolder/..’: Is a directory
Abaikan saja: ini terjadi karena /path/subfolder/{.,}*
juga meluas ke /path/subfolder/.
dan /path/subfolder/..
, yang merupakan direktori dan direktori induk (Lihat Apa artinya "." Dan ".." saat berada dalam folder? ).
Jika Anda hanya ingin menyalin, Anda dapat menggunakan:
cp -r /path/subfolder/. /path/
# ^
# note the dot!
Ini akan menyalin semua file, baik yang normal maupun yang tersembunyi, karena /path/subfolder/.
diperluas ke "semuanya dari direktori ini" (Sumber: Bagaimana cara menyalin dengan cp untuk memasukkan file tersembunyi dan direktori tersembunyi beserta isinya? )
cp -r /path/to/source/. /destination