Mempertimbangkan:
ls -al ../public-back
drwxrwxr-x 4 apache apache 4096 Apr 19 03:32 templates
ls -al ../public-back/templates
drwxrwxr-x 2 apache apache 4096 Apr 19 03:33 content
drwxrwxr-x 2 apache apache 20480 Apr 20 06:14 images
drwxrwxr-x 2 apache apache 4096 Apr 19 03:35 video
ls -al /public
drwxrwxr-x 4 apache apache 4096 Apr 20 09:49 templates
ls -al /public/templates
drwxrwxr-x 2 apache apache 4096 Apr 20 09:50 content
drwxrwxr-x 2 apache apache 4096 Apr 20 09:50 images
drwxrwxr-x 2 apache apache 4096 Apr 20 09:50 video
Bagaimana cara memindahkan konten /public-back/templates
secara rekursif dengan izin /public/templates
?
linux
command-line
mv
silikonpi
sumber
sumber
mv -R ../public-back/templates/* public/templates/
Saya masih memilih untuk memindahkan pertanyaan.Jawaban:
Kecuali jika saya salah memahami pertanyaan, ini akan berhasil:
Juga, kecuali Anda memiliki daftar file yang besar, menambahkan
-i
akan bertanya sebelum menimpa apa pun, yang menambah keamanan saat menggunakan wildcard seperti*
.sumber
Directory not empty
pesan.mv: target '/public/templates' is not a directory
hanya membuat folder tujuan secara manual:mkdir /public/templates
.Halaman manual untuk status cp:
Mencoba;
sumber
mv
adalah untuk bergerak , sedangkancp
untuk salinan - perbedaan semantik / etimologis.cp
jauh lebih lambat daripadamv
.cp
memaksa komputer untuk menyalin segala sesuatu dari disk ke RAM, dan kemudian menulisnya ke disk lagi yang mungkin memakan waktu lama tergantung pada ukuran file. Namun,mv
selalu terjadi secara instan karena hanya tautan yang harus ditulis ulang.Saat memindahkan item dari thumb drive saya ke sistem OSMC saya, saya menemukan hal berikut ini sangat berguna:
Penjelasan tentang cara kerjanya di bawah ini.
BTW, Jangan lupa untuk menambahkan garis miring terbalik sebelum spasi di nama direktori sumber atau tujuan (lihat di atas).
Secara efektif, Anda menemukan semua file dan semua folder dan memindahkannya satu per satu (atau jika suatu direktori ditemukan pertama kali, Anda memindahkan direktori itu dan konten di dalamnya). Ini memulai proses baru untuk setiap gerakan dan sangat tidak efisien. Gunakan ini hanya ketika perintah biasa gagal.
sumber
mv tampaknya tidak melakukan ini. Tapi Anda bisa menggunakan trik kecil ini, bekerja seperti pesona:
dan mempertahankan izin dan semuanya.
Catatan: tidak ada yang di atas bekerja untuk saya, itu sebabnya solusi ini.
sumber
Jadi buat tautan keras di direktori tujuan dan hapus dir sumber. 'mv' tidak akan berfungsi dalam kasus Anda, dan secara umum hanya berfungsi ketika sumber dir dan dest tidak memiliki subtree yang sama.
Perhatikan bahwa saya berasumsi bahwa kata 'pindah' dalam pertanyaan berarti bahwa sumber dir harus hilang setelah operasi.
sumber