当我将一个文件从 Linux 复制到 Windows 格式的硬盘并且文件名中包含非法字符时会发生什么?

当我将一个文件从 Linux 复制到 Windows 格式的硬盘并且文件名中包含非法字符时会发生什么?

在 Linux 上,文件名:.zip有效,对吗?如果我将该文件复制到运行 Windows 的 NTFS 硬盘上会发生什么?我会收到错误消息吗?

答案1

如果您从 Windows 进行复制,复制将会失败。

有一个Ubuntu 论坛上的话题看起来与此类似,建议在尝试复制文件之前重命名该文件。

如果您无法启动 Linux 来重命名文件,建议使用通配符代替无效字符(例如?或 *)来查找单个文件并使用命令行对其进行重命名,但通配符当然必须只匹配一个文件。

举个例子,假设你的文件是,d:\SomeInvalidFile:123.zip 你可以执行以下操作:

ren d:\SomeInvalidFile?123.zip d:\SomeNowValidFile_123.zip

答案2

不管你信不信,我实际上曾经尝试过类似的事情。我使用 Fedora Live CD 启动了一台通常运行 Windows 的 PC。然后我创建了一个带有反斜杠(“\”)的文件。你知道 Windows 用它做什么。无论如何,之后我重新启动 Windows,没有任何问题。事实上,它显示了带有完整名称的文件,包括反斜杠!直到我尝试打开它,然后出现文件未找到错误。我无法删除它,也无法对它做任何其他事情。我一直收到同样的错误。最后,摆脱它的唯一方法是重新启动 Fedora Live CD,然后从那里删除文件。

我知道这个问题已经问了好久了,但我想也许有一天其他人也会对此感到好奇。

答案3

我知道 Ubuntu 可以毫无问题地读取/写入 NTFS,因为有 NTFS-3G。目前,我认为 Windows 对 ext4(原生 Linux 分区格式)没有相同的权限。

相关内容