如何删除“不存在”的文件

Foo*_*oxz 5 ssh nas

文件存在于 Synology 5-Bay NAS 上。

文件名似乎有错误,它包含两个无效字符以及其他一些已更改的字符。(我在别处有原始文件)。

我只是想完全删除它,我有它的副本,但损坏的“存在”这一事实正在扰乱我的一项 Syncback 作业。(不能复制,移动,删除,重命名。)

我等了一天再试,问题仍然存在。不完全确定问题何时开始。

附上两张截图,一张来自 Windows 资源管理器,另一张来自 SSH 连接到 NAS 并尝试以这种方式删除它。

(注意:文件路径已经模糊,但远不及windows的限制,路径为127个字符,文件名为37个字符,共165个字符。)

Windows 资源管理器尝试: 找不到要删除的项目

SSH 尝试: ssh 没有这样的文件或目录

ter*_*don 3

您可以尝试以下几种方法(假设 NAS 运行某种 Gnu/Linux):

  • rm Kinetix*.L5X
  • find -name "Kinetix*.L5X" -delete,假设你find支持-delete,如果它不使用这个:find -name "Kinetix*.L5X" -exec rm -i '{}'
  • 使用inode删除,首先获取inode:

    ls -i Kinetix*.L5X
    
    Run Code Online (Sandbox Code Playgroud)

    这将返回类似NNNNNNNN FILENAMEN 是索引节点号的内容。现在,将该号码传递给find

    find . -inum [inode-number] -exec rm -i '{}' \;
    
    Run Code Online (Sandbox Code Playgroud)