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.

Bas Jansen
sumber
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/
N. D.
sumber