cp:检测到周期:

Sac*_*iya 2 solaris

关于cp的任何想法:检测到周期:Solaries错误。当我将数据从一个目录复制到另一个目录时,出现了这个错误。

pax*_*blo 5

在执行递归复制时,一个循环两次访问相同的“文件”。这可能是由于以循环方式建立的链接引起的。例如,如果创建目录level1

mkdir level1
Run Code Online (Sandbox Code Playgroud)

然后将下面的文件符号链接该目录:

cd level1
ln -s . level2
Run Code Online (Sandbox Code Playgroud)

您基本上可以得到一个循环参考。这意味着您可以:

cd level2/level2/level2/...
Run Code Online (Sandbox Code Playgroud)

尽您所能,不要离开level1目录。这将导致递归副本的问题,因为它实际上是一个无限循环。

您可以使用cp -rHcp -rP(我认为在Solaris 10及更高版本上)不遵循符号链接。

具体来说,您可能对以下三个标志感兴趣:

  • -H:如果source_file操作数是一个符号链接,则cp复制该符号链接引用的文件到source_file操作数。遍历文件层次结构时遇到的所有其他符号链接都将保留。这意味着,如果您指定为源的文件/目录是一个链接,它将复制该链接的目标。不会遵循该源下的所有符号链接。

  • -L:复制符号链接引用的文件。遍历文件层次结构时遇到的符号链接不会保留。这将跟随源下的所有符号链接。

  • -P:复制符号链接。遍历文件层次结构时遇到的符号链接将保留。我认为这与-H特定来源的符号链接相同,但也保留了该符号链接。