cp 命令中的 -rd 选项是什么意思?

moi*_*him 6 command-line cp

我使用以下命令找到了参考

cp -rd  *  /folder_1/
Run Code Online (Sandbox Code Playgroud)

而另一个作为

cp -dr * /folder_2/
Run Code Online (Sandbox Code Playgroud)

您能否告知这些选项“rd”或“dr”是什么?

Zan*_*nna 17

顺序无关紧要 - 您可以按任何顺序提供选项

这种组合将递归复制目录(包括所有内容)并将符号链接复制为符号链接,而不是复制它们指向的文件。

-d仅在使用时才需要-r:它用于覆盖默认行为,即在递归复制时不遵循符号链接

info cp

'-r' '--recursive' 递归复制目录。默认情况下,除非与 '--link' ('-l') 选项一起使用,否则不要跟随源中的符号链接;请参阅“--archive”(“-a”)、“-d”、“--dereference”(“-L”)、“--no-dereference”(“-P”)和“-H”选项。

'-d' 将符号链接复制为符号链接而不是复制它们指向的文件,并在副本中保留源文件之间的硬链接。等效于“--no-dereference --preserve=links”。


Mar*_*k H 10

在许多命令行实用程序中,单字母选项可以写在一起。在您的情况下,较长的形式将是

cp -r -d  *  /folder_1/
Run Code Online (Sandbox Code Playgroud)

可以缩短为

cp -rd  *  /folder_1/
Run Code Online (Sandbox Code Playgroud)

另一个版本

cp -dr  *  /folder_1/
Run Code Online (Sandbox Code Playgroud)

是相同的

cp -d -r  *  /folder_1/
Run Code Online (Sandbox Code Playgroud)