Saya telah mengeluarkan perintah berikut:
sudo cp ~/Transfers/ZendFramework-1.11.4-minimal/library/Zend/* ~/public_html/cmsk.dev/library/
Ketika saya melakukan ini, saya mulai mendapatkan pesan-pesan berikut:
cp: omitting directory `Tag'
cp: omitting directory `Test'
cp: omitting directory `Text'
cp: omitting directory `TimeSync'
cp: omitting directory `Tool'
cp: omitting directory `Translate'
cp: omitting directory `Uri'
cp: omitting directory `Validate'
dan seterusnya...
Mengapa saya menerima pesan ini?
*
diperluas oleh Bash, bukan olehcp
. Uji sendiri dengan meletakkanecho
di depan perintah Anda. Ketika diperluas, itu cocok dengan semua yang sebelumnya...library/Zend/
(file dan direktori di dalamnya).omitting directory 'directory'
baiknya adalah itu tidak berarti menghapus direktori itu.chmod a+rx ~/
setelah saya mencoba untuk menyalinnyacp /home/2110/* /home/2111/
menghasilkan kesalahan yang menyatakan izin ditolak. dimana saya salah maaf untuk berkomentar karena saya tidak dapat mengajukan pertanyaan rangkap. saya berharap jawaban cepat :)/home/2110
dimiliki oleh pengguna 2110 sedangkan file dalam/home/2111
seharusnya dimiliki oleh 2111. Untuk mengatur pemilik, gunakan sesuatu sepertisudo chown -R 2111 /home/2111
.Pesan itu berarti bahwa
cp
belum menyalin direktori yang terdaftar. Ini adalah perilaku default untukcp
- hanya file yang disalin secara normal, terlepas dari apakah Anda menentukannya secara eksplisit atau menggunakan*
. Jika Anda ingin menyalin direktori gunakan-r
saklar yang berarti "rekursif".sumber
Beberapa hal di sini yang perlu diperiksa:
Jangan gunakan
sudo
. Anda tidak memerlukannya, Anda sudah memiliki izin untuk menulis sesuatu di direktori home Anda sendiri.Anda dapat dengan mudah melihat file dan direktori tersembunyi di manajer file grafis dengan memilih Lihat / Tampilkan File Tersembunyi dari menu. Atau dengan menekan Ctrl- H.
Anda perlu menggunakan
-R
opsi dalamcp
perintah untuk menyalin direktori dan isinya./ home bukan direktori home Anda. / home / username adalah. Jadi, Anda mungkin mencoba menyalin dari tempat yang salah.
Shell sensitif terhadap huruf besar-kecil, jadi ~ / unduhan dan ~ / Unduhan adalah dua hal yang berbeda.
sumber
Ketika Anda menyalin direktori seperti:
Anda hanya dan tepat menyalin
dir1
dirinya sendiri dan bukan file di dalamnya, jadi pada akhirnya Anda akan berakhir dengan struktur direktori baru sementara strukturnya tidak ada.Dengan kata lain setelah itu telah disalin akan mengatakan bahwa isi saya
file1
,file2
, dll; Namun file-file ini belum disalin sehingga tidak ada di dalamnya.Jadi untuk memperbaiki masalah ini yang mungkin muncul
cp
secara default tidak menyalin direktori dan melewatkannya kecuali jika Anda menentukan-r
opsi yang menyalin semua file secara rekursif juga.sumber
Alasannya
omitting directory
adalah karenacp
dan semua utilitas salin, yang saya tahu, membuat daftar file dan sub-direktori yang akan disalin sebelum mulai menyalin file. Ketika--recursive
opsi hilang, sub-direktori dihabisi dari daftar ini. Dengan demikian, menghilangkan mengacu pada penghapusan dari daftar salinan, bukan dari media sumber Anda. Saya percaya ini membahas arti dari pesan tersebut.sumber
The cp Perintah ini digunakan untuk menyalin file dan direktori, bukan direktori bersarang, jika Anda ingin menyalin direktori bersarang maka Anda dapat menambahkan -r setelah itu, di mana r berarti rekursif.
Sintaks yang dapat Anda ikuti (berjalan sebagai root):
atau
sumber
itu akan menghilangkan sub-direktori dalam contoh pertama jika Anda tidak menggunakan flag -r yang melakukan penyalinan rekursif.
cp -r sumber tujuan
-r katakan itu dilakukan secara rekursif. Berarti menyalin semua yang ada di folder dll.
sumber
Misalkan Anda memiliki dua direktori 'Tag' & 'Test'
Jika Anda ingin menyalin direktori 'Tag' ke direktori 'Test' gunakan perintah
Sebagian besar Masalah akan diselesaikan dengan kode di atas jika tidak dan Anda mendapatkan pesan seperti di bawah ini
kemudian tambahkan beberapa file di direktori 'Tag' dan kemudian salin ke 'Test'. Sebenarnya saya memiliki masalah yang sama tetapi diselesaikan seperti apa yang saya katakan kedua.
sumber