Linux复制符号链接

32

我该如何将符号链接从一个目录复制到另一个目录?

ls -ls

file1.txt
file2.txt
files -> /mnt/iscsi-nfs-share/faulttracker-files

我想要做的是将符号链接文件复制到另一个目录中,怎么做?

cp files /var/copylinktohere/

上述操作的结果为 cp: 忽略目录 `files'


我只想复制符号链接,而不是目录的实际内容。 - Robbo_UK
5
你是否查看了手册页?如果没有,那么 --no-dereference 是你要找的吗? - HonkyTonk
谢谢你的加一。我发现所有可用的选项都有点令人困惑。 - Robbo_UK
3
属于unix.stackexchange.com - BenMorel
@Benjamin:公平的评论——没有提到C语言。尽管只是一行代码,但它仍然涉及到如何编写shell程序,因此它是与主题相关的。因此,在Stack Overflow上发布这样的代码是可以的。 - Jonathan Leffler
1个回答

52

使用-d选项:

cp -d files /var/copylinktohere/

来自 man cp

   -d     same as --no-dereference --preserve=link

   --no-dereference
          never follow symbolic links

如果符号链接不是相对路径,这个能行吗?例如将其复制到比源目录更高或更低的目标目录中。 - Andrew Brown
难道不应该是相反的吗? 绝对符号链接可以从任何路径工作,而相对符号链接如果更改其路径,则无法工作。 这很合乎逻辑。 - Sedat Kilinc

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接