Tôi không quá quen thuộc find
và đã vô tình xóa một tấn tệp. Tôi đã tự hỏi nếu có ai có kinh nghiệm hơn có thể giải thích tôi đã sai ở đâu.
Tôi muốn dọn sạch tất cả các tệp .DS_Store
và Trình ._.DS_Store
tìm kiếm trên MacBook của tôi đã bị chặn trên toàn bộ phần chia sẻ samba Raspbian của tôi.
- Tôi có một ổ cứng được gắn vào pi mâm xôi của tôi, với một số liên kết tượng trưng trong thư mục nhà của tôi đến điểm gắn kết, do đó
-L
. - Một số thư mục được sở hữu bởi người dùng hệ thống (ví dụ apache) do đó
sudo
.
Tôi đã chạy như sau để đảm bảo rằng find
đang nhắm mục tiêu đúng tệp:
hydraxan@raspberry:~ $ sudo find -L . -maxdepth 255 -name \*DS_Store\*
./.DS_Store
./Downloads/USBHDD1/._.DS_Store
./Downloads/USBHDD1/.DS_Store
./Downloads/USBHDD1/backups/ALAC/._.DS_Store
./Downloads/USBHDD1/backups/ALAC/Jeff Van Dyck - Assault Android Cactus OST/._.DS_Store
./Downloads/USBHDD1/backups/ALAC/Jeff Van Dyck - Assault Android Cactus OST/.DS_Store
./Downloads/USBHDD1/backups/ALAC/.DS_Store
./Downloads/USBHDD1/backups/._.DS_Store
./Downloads/USBHDD1/backups/.DS_Store
./Downloads/USBHDD1/backups/OriginalMusic/._.DS_Store
./Downloads/USBHDD1/backups/OriginalMusic/.DS_Store
./Downloads/USBHDD1/backups/OriginalMusic/FLAC/.DS_Store
./Downloads/USBHDD1/backups/Storage/._.DS_Store
./Downloads/USBHDD1/backups/Storage/.DS_Store
./Downloads/OriginalMusic/._.DS_Store
./Downloads/OriginalMusic/.DS_Store
./Downloads/OriginalMusic/FLAC/.DS_Store
./Downloads/ALAC/._.DS_Store
./Downloads/ALAC/Jeff Van Dyck - Assault Android Cactus OST/._.DS_Store
./Downloads/ALAC/Jeff Van Dyck - Assault Android Cactus OST/.DS_Store
./Downloads/ALAC/.DS_Store
Tất cả có vẻ tốt!
Sau đó tôi đã thêm -delete
cờ find
để xóa các tệp tìm thấy:
hydraxan@raspberry:~ $ sudo find -L . -maxdepth 255 -delete -name \*DS_Store\*
find: cannot delete `./Documents': Not a directory
find: cannot delete `./Pictures': Not a directory
find: cannot delete `./Music': Not a directory
Khi tôi nhận ra nó đang cố xóa các liên kết tượng trưng của mình vì một số lý do, tôi đã đấm Ctrl+C
và lưu khoảng một nửa dữ liệu.
Tài liệu, hình ảnh và âm nhạc là bánh mì nướng. Có lẽ nó đang hoạt động trên thư mục Tải xuống khổng lồ của tôi mà tôi đã đặt gần như mọi thứ vào.
Tại sao find
xóa tất cả các tập tin? Tôi đã đặt -delete
sai vị trí?
xargs
,exec
không giải quyết vấn đề gì cả (cùng một cạm bẫy, nếu bạn thêm -print0 hoặc -exec ở đầu thay vì kết thúc).