Tôi muốn đổi tên tập tin với tên lạ thành một cái gì đó hợp lý, tuy nhiên tôi không thể: /
$ mv *_000c.jpg 000c.jpg
mv: cannot move '?j?Z?R?C1_000c.jpg' to '000c.jpg': No such file or directory
Tôi đã thử sử dụng số inode như được đề xuất ở một vài nơi trên internet:
$ ls -il *000c.jpg
ls: '?j?Z?R?C1_000c.jpg': No such file or directory
213915 -rw-r--r-- 1 wolf wolf 794655 Jul 21 2012 '?j?Z?R?C1_000c.jpg'
$ find . -inum 213915 -print0 | xargs -0 -I '{}' mv '{}' 000c.jpg
mv: cannot move './?j?Z?R?C1_000c.jpg' to '000c.jpg': No such file or directory
Tôi nên làm gì?
fsck
? Tôi có thể bị hỏng. Làm thế nào các tập tin có được tên đó?
ls
)
?
cho các chữ cái mà nó không thể hiển thị. Hãy thử chuyển sang một phông chữ unicode đầy đủ.
*_000c.jpg
nhưng mv
sau đó không thể xử lý tệp. Đây là, IMHO, biểu thị cho một hệ thống tập tin bị hỏng. ... hoặc có thể là một hệ thống tập tin được gắn trên chia sẻ mạng đã biến mất (với các mục trong thư mục vẫn được lưu trong bộ nhớ cache) hoặc một cái gì đó.
ls
trong thư mục đó là gì? Là tập tin được hiển thị như một tập tin thông thường? Tôi đang yêu cầu đảm bảo rằng đóNo such file or directory
là lỗi toàn cầu và không phải là dấu hiệu của hệ thống tệp bị hỏng.