答案1
文件名长度有限制,不能超过该限制。此限制因文件系统类型而异,如果文件系统也加密,则有时会更短。
getconf NAME_MAX
您可以通过在分区上运行如下命令来找出系统的限制:
getconf NAME_MAX /dev/sda1
输出将是最大文件名长度(以字节为单位)( 1 字节 = 1 个字符),它将打印如下内容:
255
还有路径限制,您可以通过getconf PATH_MAX
在分区上运行如下命令来找到它:
getconf PATH_MAX /dev/sda1
输出也将是字节的最大路径长度( 1 字节 = 1 个字符),它将打印如下内容:
4096
复制文件时,将应用目标文件系统的限制,因为这些文件将在目标中创建,并且如果它们的文件名超出目标文件系统的最大文件名限制,则复制过程将导致错误,并且这些文件将不会被复制。
解决此问题的简单方法是将这些文件重命名为更短的名称,然后再次复制它们。
答案2
似乎如果你使用 onedrive,
你在浏览器 GUI 中操作文件夹,
本地安装的 onedrive 同步工具可以避免这个错误,并且仍然成功完成复制粘贴操作。