Linux

在Linux系统下,可以查看limits.h头文件里面有针对NAME和PATH的最大长度限制:

#ifndef _LINUX_LIMITS_H
#define _LINUX_LIMITS_H......#define NAME_MAX         255   /* # chars in a file name */
#define PATH_MAX        4096    /* # chars in a path name including nul */......#endif

Windows

默认的系统路径的限制长度是260,文件名的长度最大不超过255【可能是因为盘符和结尾的NUL字符的缘故吧^_^】,不过从Windows 10 build 14352之后,就可以设置启用enable NTFS long paths 来打破路径最大长度是260的限制。开启的方法是:打开注册表,修改Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem\LongPathsEnabled (Type: REG_DWORD) 为1,就可以打破260的长度限制。也可以参考Maximum Path Length Limitation - Win32 apps | Microsoft Docs

修改之后,最大路径为 32,767 个字符是近似路径,因为系统可能会运行时将"?" 前缀扩展为较长的字符串,并且此扩展适用于总 \ \ \ 长度。"?" 前缀还可与根据 UNC 规则的通用命名约定构造 (\ \ \ 路径) 。 若要使用 UNC 指定此类路径,请使用 \ \ "?" \UNC \ " 前缀。 例如 \ \ ,"?" \UNC \ \ 服务器共享",其中"server"是计算机的名称,"share"是共享文件夹的名称。 这些前缀不用作路径本身的一部分。 它们指示路径应该以最小修改方式传递给系统,这意味着不能使用正斜杠来表示路径分隔符,不能使用一个表示当前目录的周期,或者使用双点表示父目录。 由于不能将 \ \ "?" 前缀用于相对路径,因此相对路径始终限制为 \ MAX _ PATH 字符总数。具体可以参考:最大路径长度限制 - Win32 apps | Microsoft Docs

当文件名达到最大长度时,如果在本路径下复制并且粘贴此文件,系统会截取一部分文件名然后再在尾部加上【 - 副本】,例如:文件名:ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd

复制粘贴之后, 变成:

dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd - 副本

一个比较奇怪的现象是:开启了长文件名之后,在根路径下,文件名的最大长度是245【纯字符】,而找一个文件夹再创建一个长文件名,最大长度却可以到达254【纯字符个数】,不知道是何解?

MAC

跟linux类似可以查看syslimits.h,也可以直接参考:syslimits.h

查看的结果如下:

文件名最大长度是255, 路径最大长度是:1024.

最后,各个操作系统的最大文件名和路径长度总结如下:

操作系统 文件名最大长度 路径最大长度
Linux 255 4096
MAC 255 1024
Windows 不开启长文件名 255 260
开启长文件名 255 32767

各种系统路径和文件名长度的最大限制相关推荐

  1. linux 文件名的长度不得超过,linux对文件路径和文件名长度的限制

    linux对文件夹以及文件名的长度做了限制,以ubuntu为例,描述文件路径为:/usr/include/linux/limits.h #ifndef _LINUX_LIMITS_H #define ...

  2. Linux 文件名和路径的最大长度

    在x86_64 Linux下, 文件名的最大长度是255个字符(characters),文件路径的最大长度是4096字符(characters), 即可以包含16级的最大文件长度的路径. 在 < ...

  3. linux文件名长度限制6,linux和windows文件名长度限制问题

    文件名和目录名在操作系统中都有最大长度的限制,而且不同系统中的最大长度不同. 这些限制在Linux系统下可以通过修改系统内核修改这个限制. Linux文件名的长度限制是255个字符 windows下完 ...

  4. find_first_of()和 find_last_of() 【获取路径、文件名】

    string 类提供字符串处理函数,利用这些函数,程序员可以在字符串内查找字符,提取连续字符序列(称为子串),以及在字符串中删除和添加.我们将介绍一些主要函数. 1.函数find_first_of() ...

  5. linux最大文件名,linux和windows文件名长度限制

    Linux文件名的长度限制是255个字符 windows下完全限定文件名必须少于260个字符,目录名必须小于248个字符. linux下文件数.目录数.文件名长度的各种限制 以下测试都是在没有优化或修 ...

  6. Windows下Latex的系统路径增添,使用命令编译

    Windows下Latex的系统路径增添,使用命令编译 1.修改Windows系统环境路径 2.使用命令行工具编译.tex文件 1.修改Windows系统环境路径 本人Windows系统中安装了Mik ...

  7. android文件路径长度限制,如何解决Win7文件名长度过长问题?

    电脑用久了总是会产生垃圾,这时候我们就得去清理,但是有时候清理到一些文件夹的时候却提示"该文件夹包含名称过长且无法放入回收站的项目",那么当你遇到文件名长度过长怎么办?不知道的朋友 ...

  8. Windows文件名长度限制

    参考:https://social.technet.microsoft.com/Forums/windows/en-US/53779044-d453-458b-b8c4-96d41711ea69/fi ...

  9. python路径长度限制,Linux下文件名长度限制

    Linux下文件名长度限制 出现场景:在迭代中有一个需求是将pdf文件名修改为所有班级的名称集合,出现的班级过多导致的文件名过长在linux下无法创建文件和文件夹的情况 解决方式:经过查证,linux ...

最新文章

  1. java的对象是什么意思_Java中对象和对象引用的区别,引用、指向是什么意思
  2. linux shell sleep usleep 延时命令 秒 毫秒 微秒
  3. 手把手教你定制标准 Spring Boot starter
  4. 再来一顿贺岁宴 | 从K-Means到Capsule
  5. java重新初始化吗_Java中为何已经重新赋值的变量在输出后会初始化?
  6. 使用Java进行串口SerialPort通讯
  7. CTO 太水!犯了低级错误,还删除代码隐藏证据!
  8. mybatis使用时遇到的一些问题------模糊查询、处理大于号小于号、相关函数替换空值...
  9. djiango配置mysql_数据库MySQL相关环境配置以及数据库与Go的连接
  10. 持续狂奔的拼多多快追上阿里了
  11. oracle 11g rac进程起停
  12. 微信邮箱号怎么申请注册?如何注册微信邮箱账号?微信邮箱提醒设置注册教程~
  13. geek软件是干什么的_Geek软件下载工具使用说明.pdf
  14. 缩略图-快速开始(GraphicsMagick )
  15. 小米progtx笔记本快捷键驱动安装
  16. linux下下载fnl数据,方便大家下载fnl
  17. MySQL索引相关知识整理学习
  18. java--顺序、选择、循环结构
  19. Qt音视频开发04-保存音频文件(pcm/wav/aac)
  20. 简单易懂的汉明码(海明码)校验原理

热门文章

  1. 安卓股票K线图绘制三方库
  2. p71 内网安全-域横向网络传输应用层隧道技术
  3. 记录 PPT免费模板网站
  4. jmeter响应断言如何使用?
  5. JS中使用offsetHeight 获取元素高度为0问题
  6. python deepcopy浪费时间_Python copy(), deepcopy()
  7. 关系型数据库设计范式及原则
  8. vue 动态控制input的disabled属性的方法
  9. 百度无人驾驶Apollo的dreamview的demo运行
  10. 婚外情中的背叛和报复