[英]How do i copy a folder having symbolic link to another directory
我正在尝试将具有符号链接的文件夹复制到另一个目录
注意 - 我打算复制的实际文件是不同的,但只是为了这个问题的目的,以便于演示问题,我举了一个例子
xd003@localhost:~$ ls /data/data/com.termux/files/home/source
1.txt 2.txt 3.txt symlink
xd003@localhost:~$
这是包含一些文件和符号链接的源文件夹,目标文件夹是空的
xd003@localhost:~$ cp -R /data/data/com.termux/files/home/source /sdcard/dest
cp: cannot create symbolic link '/sdcard/dest/source/symlink': Operation not permitted
xd003@localhost:~$
我将源文件夹复制到目标目录,但我收到一条错误消息,指出无法复制符号链接,只是为了确认我检查了目标目录并且正如预期的那样它没有复制符号文件
xd003@localhost:~$ ls /sdcard/dest/source
1.txt 2.txt 3.txt
xd003@localhost:~$
如何解决此问题并复制其原始 state 中的符号链接
编辑-在下面的一些谷歌搜索和一个答案建议之后,我尝试使用 cp -LR 命令。它没有给我任何错误,但它复制了符号链接作为文件夹,而不是在其原始 state 中,正如您在第一行本身下面看到的那样显示目标中的符号链接被复制为文件夹和源中,它确实是一个正确的符号链接
xd003@localhost:~$ ls -la /sdcard/dest/source | grep "\->"
xd003@localhost:~$ ls /sdcard/dest/source
1.txt 2.txt 3.txt symlink
xd003@localhost:~$ ls -la /data/data/com.termux/files/home/source | grep "\->"
lrwxrwxrwx. 1 xd003 xd003 13 Jun 12 12:40 symlink -> /sdcard/data/
xd003@localhost:~$
您需要取消引用链接:
cp -L -R files/* location/
-L
用于取消引用或--dereference
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.