我有一个带有符号链接的文件夹:
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
使用以下命令检查man
unix 命令页面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/
缺点是你必须先创建目标目录