我想将具有奇怪名称的文件重命名为合理的名称,但是我无法:/
$ mv *_000c.jpg 000c.jpg
mv: cannot move '?j?Z?R?C1_000c.jpg' to '000c.jpg': No such file or directory
我已经尝试过使用互联网上一些地方推荐的索引节点号:
$ 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
我该怎么办?
我想知道是否需要运行文件系统
—
库萨兰达
fsck
?我可能已损坏。文件是如何获得该名称的?
@Mioriin文件名中的问号是(或者很可能是)无法显示字符的占位符。(永远不会解析输出的原因之一
—
库萨拉兰达
ls
)
这可能是终端字体问题。它显示
—
Mio Rin
?
无法显示的字母。尝试切换为完全unicode字体。
@Mioriin我认为在这种情况下,是否可以显示文件名有点让人讨厌。奇怪的是,shell可以扩展,
—
Kusalananda
*_000c.jpg
但是mv
无法处理文件。恕我直言,这表明文件系统已损坏。...或者可能是已安装在已消失的网络共享上的文件系统(目录条目仍在缓存中)之类的东西。
ls
该目录中的简单输出是什么?文件显示为常规文件吗?我要求确保该No such file or directory
错误是全局错误,而不表示文件系统已损坏。