国产系统(Linux)不支持长文件名的问题和解决方案

15 篇文章 1 订阅
8 篇文章 0 订阅

前言

众所周知,Linux系统中文件名长度不能超过255个字符!

而大多数的Linux系统在显示中文时,使用的是UTF-8编码。这种编码在Linux中,一个中文需要占用3个字符!因此,在Linux系统中,文件名最多也就能有80多个中文。。

一个普遍的认知错误

但是对于这个问题,即使在开发人员中,也存在普遍的认知错误!

很多人都以为255这个长度是Linux内核的限制,但其实不是,它是由文件系统限制的!

Linux中常用的文件系统如ext4、XFS等,都只能支持到255个字符。

困扰

Windows常用的文件系统,如NTFS等,可以支持非常长的文件名!

随着国产化(都是Linux系统)的推进,以前在Windows中创建的大量文件需要迁移到Linux系统中,此时,这些名称过长的文件就会照成很多麻烦。。

解决方案

知道了原因,那解决就简单了许多。

方案一:在文件迁移前,先把名称过长的文件名改短

统信以前出过一个迁移助手,可以在大量文件中快速找出名称过长的文件,下载地址:

https://pan.baidu.com/s/1zAJP_rJteA8u4rKWja-5OQ
提取码: nhdl

但,实测这工具没那么好用~

方案二:在Linux系统中,使用NTFS这类支持长文件名的文件系统

电脑中有两个硬盘是最省事的,一个装系统,另一个格式化成NTFS,文件都在它的分区中处理就行。

如果只有一个硬盘,做系统时也没有预留空间,那就需要调整一个分区出来,然后格式化成NTFS。不过,这里我只讲方案,不想讲具体操作~

额外讲一点,NTFS无法支持Linux复杂的文件权限,因此不能做为根分区的文件系统

一个“异类”

统信UOS专业版1060版本,号称解决长文件名的问题,可以让文件名支持到255个中文。

研究之后发现,它处理的方法有点意思。

如图所示,它将桌面、音乐、图片、下载、视频、文档这几个常用文件夹挂载成了dlnfs格式

然后配合文件管理系统,在.longname文件中,记录下文件的真实名称和它在文件管理器中显示名称。对于用户而言,似乎真的可以。。

需要注意:1060版本默认没有开启长文件名支持,因为会影响文件管理器的性能。可以在应用商店中安装udom工具,使用它来开启:

功能好不好用我不评价,不过开发人员这脑洞,我还是挺佩服的~

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

skyyx2002

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值