sudo cp với cú pháp ký tự đại diện không làm gì trong Linux


1

Tôi có một thư mục chứa các tệp thuộc sở hữu của root, từ thư mục này tôi muốn sao chép tất cả các tệp kết thúc bằng errorAll đến thư mục khác. Cú pháp ký tự đại diện của tôi là chính xác vì thực hiện một ls -latr *errorAll hiển thị tất cả các tập tin mà tôi muốn sao chép.

Đang cố gắng sao chép (với tư cách là người dùng không phải cấp gốc) bằng cách sử dụng cp *errorAll ~/Target/ cho tôi cảnh báo cp: cannot create regular file /home/tarskin/errorAlls/calibrated_20130903_healthy#1-b_IgA_again_1401_C10.errorAll: Permission denied, Tôi vừa thêm bước này để cho thấy rằng lệnh sẽ hoạt động (theo ý kiến ​​của tôi).

Tuy nhiên khi tôi chạy nó như một người dùng cấp gốc bằng cách sử dụng sudo cp *errorAll ~/Target/ nó không đưa ra bất kỳ thông báo hay lỗi nào và chỉ tuyên bố nó được thực hiện trong vòng vài giây mà không thực sự sao chép bất cứ điều gì.

Có ai biết tại sao điều này xảy ra?

CHỈNH SỬA

Các thông tin sau được yêu cầu, đầu ra của ls -ld .drwxr-xr-x 2 root root 3342336 Oct 22 10:09 . Đầu ra của ls -ld ~/errorAlls/drwxr-xr-x 2 root root 3342336 Oct 22 10:09 ..

Thêm -v để cp lệnh cho đầu ra dài dòng không thay đổi bất cứ điều gì, lệnh 'kết thúc' mà không làm gì cả.


Thêm đầu ra của ls -ld .ls -ld ~/Target/ cho câu hỏi của bạn
Cyrus

Thêm "-v" vào lệnh cp để xem nó thực sự đang làm gì.
Raúl Salinas-Monteagudo

1
Tại sao một thư mục con dưới tarskin's Nhà thuộc sở hữu gốc? sudo chown tarskin /home/tarskin/errorAlls và sau đó cp *errorAll ~/errorAlls.
NuTTyX

Câu trả lời:


0

Hãy thử đệ quy

sudo cp -r *errorAll ~/Target/
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.