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

T. *_*nes 4 linux cp

我正在将包含数百个文件的 25,000 个文件夹从一个硬盘驱动器复制到同一 Linux 服务器上的另一个。目标文件夹已经包含 25,000 个不同的文件夹,里面装满了它们自己的文件。我正在使用以下命令:

cp -v -r /folder_to_copy_from/* /folder_to_copy_to/
Run Code Online (Sandbox Code Playgroud)

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

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

如果目录中允许最大数量的子目录,有没有办法增加它?我应该调查不同的格式标准吗?关于正在发生的事情还有其他想法吗?

小智 7

每个 inode 有大约 32,000 个链接的限制。 (闻起来像一个未签名的短片) 每个文件夹都会创建一个指向其父文件夹的链接,因此您将尝试创建指向单个 inode 的一些 50k 链接,该链接不会飞​​。

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