如何将符号链接复制到目标普通文件夹

如何将符号链接复制到目标普通文件夹

我有一个带有符号链接的文件夹:

marek@marek$ ls -al /usr/share/solr/
razem 36
drwxr-xr-x   5 root root  4096 2010-11-30 08:25 .
drwxr-xr-x 358 root root 12288 2010-11-26 12:25 ..
drwxr-xr-x   3 root root  4096 2010-11-24 14:29 admin
lrwxrwxrwx   1 root root    14 2010-11-24 14:29 conf -> /etc/solr/conf

我想将其复制到 ~/solrTest 但我也想从符号链接复制文件

当我尝试cp -r /usr/share/solr/ ~/solrTest

我将在这里有符号链接:

marek@marek$ ls -al ~/solrTest
razem 36
drwxr-xr-x   5 root root  4096 2010-11-30 08:25 .
drwxr-xr-x 358 root root 12288 2010-11-26 12:25 ..
drwxr-xr-x   3 root root  4096 2010-11-24 14:29 admin
lrwxrwxrwx   1 root root    14 2010-11-24 14:29 conf -> /etc/solr/conf

答案1

cp -Lr /usr/share/solr/ ~/solrTest

使用以下命令检查manunix 命令页面man cp

   -L, --dereference
          always follow symbolic links in SOURCE

答案2

来自手册页:

'-L' ,'--dereference' - 从符号链接复制时遵循符号链接。使用此选项,cp 无法创建符号链接。例如,源树中的符号链接(到常规文件)将被复制到目标树中的常规文件。

因此这是您应该尝试的选项。

答案3

cp -r -L /usr/share/solr/ ~/solrTest

cp(1)手册页中:

-L--dereference

始终遵循 SOURCE 中的符号链接

答案4

一个快速的解决方案是:

$ mkdir dest_dir
$ cp symlink_dir/* dest_dir/

缺点是你必须先创建目标目录

相关内容