文件路径超过系统限制_linux文件名长度限制

文件路径超过系统限制_linux文件名长度限制Linux在Linux系统下,可以查看limits.h头文件里面有针对NAME和PATH的最大长度限制:#ifndef_LINUX_LIMITS_H#define_LINUX_LIMITS_H……#defineNAME_MAX255 /*#charsinafilename*/#definePATH_MAX4096 /*#charsinapathnameincludingnul*/……#en

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

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

文件路径超过系统限制_linux文件名长度限制

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

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

复制粘贴之后, 变成:

dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd – 副本

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

MAC

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

查看的结果如下:

文件路径超过系统限制_linux文件名长度限制

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

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

操作系统 文件名最大长度 路径最大长度
Linux 255 4096
MAC 255 1024
Windows 不开启长文件名 255 260
开启长文件名 255 32767
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/179186.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • vue关闭eslint检测_eslint with error prevention

    vue关闭eslint检测_eslint with error prevention启动项目时报错Youmayusespecialcommentstodisablesomewarnings.Use//eslint-disable-next-linetoignorethenextline.Use/*eslint-disable*/toignoreallwarningsinafile.解决方法:这样就解决了代码如下:lintOnSave:false//关闭eslint检查…

    2022年10月8日
    3
  • shell脚本实例精讲_shell脚本编程实例

    shell脚本实例精讲_shell脚本编程实例shell是一个应用程序,它连接了用户和Linux内核,让用户能够更加高效、安全、低成本地使用Linux内核,这就是Shell的本质。shell脚本就是由Shell命令组成的执行文件,将一些命令整合到一个文件中,进行处理业务逻辑,脚本不用编译即可运行。它通过解释器解释运行,所以速度相对来说比较慢。shell脚本中最重要的就是对shell命令的使用与组合,再使用shell脚本支持的一些语言特性,完成想要的功能。今天给大家分享《shell脚本100例》,包含了90%的shell脚本知识点,想

    2022年9月28日
    5
  • potplayer_常用配置(窗口/快捷键/播放列表/)

    potplayer_常用配置(窗口/快捷键/播放列表/)文章目录播放窗口配置默认最大化/全屏窗口播放列表(专辑)打开/关闭播放列表菜单新建专辑(播放列表)为专辑添加音视频文件(比如文件夹)快捷键屏蔽(废弃)默认快捷键添加快捷键修改自定自定义的快捷键相关配置需要点击确定来使得配置生效,后面不再反复提及????有一个搜索框,可以搜索关键词碰碰运气(往往不如直接搜索引擎找方案)播放窗口点击起始配置默认最大化/全屏窗口播放列表(专辑)打开/关闭播放列表菜单或者也可以通过右键,点击列表新建专辑(播放列表)为专辑添加音视频文件(比如文件

    2022年5月21日
    123
  • 缺陷报告模板_软件缺陷生命周期图

    缺陷报告模板_软件缺陷生命周期图缺陷ID:XXX严重级别:优先级别:类型:缺陷标题:手机号长度不符合时系统提示有误缺陷描述:在CRM系统线索模块下,当创建一条新线索,在手机号输入框输入一个长度为9位的手机号时,系统提示“手机号正确”与需求要求的提示不符。测试环境:IE11.0缺陷的重现步骤:01.打开CRM系统主界面02.在CRM主界面点击”创建线索”链接03.在手机号输入框输入“123456789”手机号…

    2026年1月17日
    5
  • apache做负载均衡_apache负载均衡配置

    apache做负载均衡_apache负载均衡配置2019独角兽企业重金招聘Python工程师标准>>>…

    2025年9月8日
    7
  • 何谓集群(cluster)[终于解决]

    何谓集群(cluster)

    2021年12月17日
    55

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号