首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Windows/Linux之间保留NFS上的文件名

在Windows/Linux之间保留NFS上的文件名
EN

Stack Overflow用户
提问于 2019-12-11 08:11:53
回答 1查看 2.9K关注 0票数 1

是否有任何方式配置NFSClient,或者如何在Windows或Linux上挂载共享,以便我能够跨系统保留文件名?

目前,我们有大量在Windows上编写的文件,现在已经转移到(NFSv3),以便可以从其他服务器访问它们。问题是,许多文件的名称中都有瑞典字符,当这些文件被列在创建它们的相反的系统中时,文件名就变得不可读(文件内容没有问题,只有名称)。

目前,我计划以编程方式重命名所有文件以删除违规字符,但如果可能的话,我希望不必这样做。

下面是一个从Windows和Linux的角度看它的例子。Linux上创建的Linux文件和windows上创建的Windows文件。

Linux

视窗

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-15 02:43:14

这个答案可能帮不了你解决问题,但我想我会给出一些理论概述,这可能有助于你(和其他人)的研究。

您也可能希望阅读

不管怎么说,我们来吧:

这里有很多地方在玩。

  • NTFS和Google使用的任何文件系统都使用编码。
  • 这是用于创建和查看这些文件名的程序所支持的编码。
  • 这是您正在使用的终端程序支持的编码。
  • 这是NFSv3支持的编码。

文件系统

在Linux上,文件名只有两个规则:它们不能包含斜杠(/),也不能包含空字节(\0)。ASCII和UTF-8与此规则兼容,这基本上是linux文件系统支持的编码。

Windows 可能有不同的想法。可能需要一些配置才能让windows文件系统以不同的编码方式发出字符。

创建和列出文件

在Linux上,您的文件名是几乎总是以UTF-8编码。。然后,ls和kin通常不会考虑太多,只是假设文件系统需要上面的规则。

Windows‘dir显然知道如何使用NTFS的字符编码,但是它能读取Linux的UTF-8文件名吗?据我所知,它支持有一定的配置

终端

现代Linux终端程序都是UTF-8,但可能需要安装其他字符集(因为Windows)。

在Windows上,它似乎有去年还没有得到充分的支持。也许这已经改变了,或者你需要另一个终端。以上配置可能会有所帮助。

NFS

NFSv4.1和更高版本对UTF-8有明确的支持,并且有一个明确的Unix <-> Windows互操作性目标。

NFSv3没有任何这样的功能,对任何非ASCII的支持都是无保证

我发现一项执行在NFSv3上支持UTF-8,但是Google的文档只有他说“支持任何与NFSv3 3兼容的客户端”。

做些什么

继续重命名这些文件。互操作性还有更多的问题,例如对保留了哪些字符?的不同概念,有很多限制,所以最好的办法是确保所有文件名都是简单的、普通的ASCII,而且我甚至会避免像文件名中的空格之类的东西,这会使生活变得简单得多。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59281343

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档