Linux 'cp' 复制符号链接而不是目标文件

ETD*_*ETD 9 linux cp symlink

在我的目录中,有 2 个文件:一个文本文件和一个指向该文本文件的符号链接。

base_v21.txt -> base_v001.txt
base_v001.txt
Run Code Online (Sandbox Code Playgroud)

当我尝试base_v001.txt使用以下命令进行复制时:

# cp base_v001.txt /targetdir
Run Code Online (Sandbox Code Playgroud)

不是base_v001.txt被复制,base_v21.txt而是被复制。

# ls /targetdir
base_v21.txt
Run Code Online (Sandbox Code Playgroud)

因此,即使我通过完整文件名指定要复制的文件,符号链接也会被复制。

我看过有关使用-L-H取消引用符号链接的帖子,但这并不真正适用于我的情况,因为我正在尝试复制目标文件本身;不是符号链接。

至于为什么符号链接和目标文件位于同一目录中,我无法控制。

小智 0

确实,这是一种非常奇怪的行为。

检查并查看cp命令的别名有哪些冲突参数(如果有)。为此,请运行type命令。(IE type cp

除此之外,您可以尝试使用替代实用程序执行操作,例如rsync它也支持处理符号链接(使用参数--links --copy-links--hard-links