【发布时间】:2020-06-12 07:27:33
【问题描述】:
我正在尝试将具有符号链接的文件夹复制到另一个目录
注意 - 我打算复制的实际文件是不同的,但只是为了这个问题的目的,以便于演示问题,我正在举一个例子
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:~$
如何解决这个问题并复制原始状态的符号链接
编辑 - 在下面的一些谷歌搜索和一个答案建议之后,我尝试使用 cp -LR 命令。它没有给我任何错误,但它复制了符号链接作为文件夹而不是其原始状态,正如你在下面看到的第一行本身显示目标中的符号链接被复制为文件夹和源中,它确实是一个正确的符号链接
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:~$
【问题讨论】:
标签: linux ubuntu unix command-line termux