在 Linux 上使用 CP 时,“链接过多”消息是什么意思?

在 Linux 上使用 CP 时,“链接过多”消息是什么意思?

我正在将 25,000 个文件夹(每个文件夹包含数百个文件)从同一 Linux 服务器上的一个硬盘复制到另一个硬盘。目标文件夹已经包含 25,000 个不同的文件夹,每个文件夹都包含自己的文件。我使用以下命令:

cp -v -r /folder_to_copy_from/* /folder_to_copy_to/

该过程完成了大约 20%,然后突然间,每次尝试复制文件夹时,它都会显示“链接过多”的消息,并跳过该文件夹中的所有文件,转到下一个文件夹。该文件夹从未创建过。CP 为所有剩余文件夹打印了此消息。

我估计当 folder_to_copy_to 停止工作时,里面大约有 30,000 个文件夹。我使用的是 EXT3 格式的驱动器,有足够的空间来保存 Linux CentOS 上的文件。

如果目录中允许的子目录数量有上限,有没有办法增加这个上限?我应该研究不同的格式标准吗?还有其他想法吗?

答案1

每个 inode 的限制约为 32,000 个链接。 (闻起来像未签名的短消息) 每个文件夹都会链接到其父文件夹,因此您要尝试为单个 inode 建立大约 50k 个链接,但这行不通。

也许您应该重新考虑您的目录结构。

相关内容