sudo cp dengan sintaks wildcard tidak melakukan apa pun di Linux


1

Saya memiliki direktori yang berisi file-file yang dimiliki oleh root, dari direktori ini saya ingin menyalin semua file yang diakhiri errorAll ke direktori lain. Sintaks wildcard saya benar karena melakukan a ls -latr *errorAll memperlihatkan semua file yang ingin saya salin.

Mencoba menyalin (sebagai pengguna level non root) menggunakan cp *errorAll ~/Target/ memberi saya peringatan yang diharapkan dari cp: cannot create regular file /home/tarskin/errorAlls/calibrated_20130903_healthy#1-b_IgA_again_1401_C10.errorAll: Permission denied, Saya baru saja menambahkan langkah ini untuk menunjukkan bahwa perintah harus berfungsi (menurut saya).

Namun ketika saya menjalankannya sebagai pengguna tingkat root menggunakan sudo cp *errorAll ~/Target/ itu tidak memberikan pesan atau kesalahan dan hanya mengklaim itu dilakukan dalam hitungan detik tanpa benar-benar menyalin sesuatu

Adakah yang tahu mengapa ini terjadi?

EDIT

Informasi berikut diminta, output dari ls -ld . aku s drwxr-xr-x 2 root root 3342336 Oct 22 10:09 . Output dari ls -ld ~/errorAlls/ aku s drwxr-xr-x 2 root root 3342336 Oct 22 10:09 ..

Menambahkan -v ke cp perintah untuk keluaran verbose tidak mengubah apa pun, perintah 'selesai' tanpa melakukan apa pun.


Tambahkan output dari ls -ld . dan ls -ld ~/Target/ untuk pertanyaan Anda.
Cyrus

Tambahkan "-v" ke perintah cp untuk melihat apa yang sebenarnya dilakukannya.
Raúl Salinas-Monteagudo

1
Mengapa subfolder di bawah tarskin's rumah yang dimiliki oleh root? sudo chown tarskin /home/tarskin/errorAlls lalu cp *errorAll ~/errorAlls.
NuTTyX

Jawaban:


0

Cobalah secara rekursif

sudo cp -r *errorAll ~/Target/
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.