cp复制时软链接问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cp复制时软链接问题相关的知识,希望对你有一定的参考价值。

参考技术A scp和cp 默认复制,如果为软链接,会将源文件一同复制过去

迁移docker目录时,默认是/var/lib/docker,先停docker,
复制到另外目录/backup/时,通过du -sh /backup/发现居然由50G变100G以上,而且还在不停增长

删除/backup/
重新cp时加-d参数,代表复制时在源文件中除了links不复制其他符号链接

dereference 解除引用
preserve 保留
ownership 所有权

如何使用指向复制的新文件的符号链接进行 cp? [关闭]

【中文标题】如何使用指向复制的新文件的符号链接进行 cp? [关闭]【英文标题】:How to cp with symlinks pointing to new files copied? [closed] 【发布时间】:2022-01-23 11:46:31 【问题描述】:

假设我们在dir 下有一些文件,带有

$ cd dir && ls -lh
lrwxrwxrwx 1 root root  12 Mar 19  2021 target-symlink1 -> target-symlink2
lrwxrwxrwx 1 root root  20 Mar 19  2021 target-symlink2 -> target-realfile
-rw-r--r-- 1 root root  1G Mar 19  2021 target-realfile
lrwxrwxrwx 1 root root  1G Mar 19  2021 another-file

现在我们想将dir/target-*复制到new-dir/,我们希望看到的结果是

$ cd new-dir && ls -lh
lrwxrwxrwx 1 root root  12 Mar 19  2021 target-symlink1 -> target-symlink2
lrwxrwxrwx 1 root root  20 Mar 19  2021 target-symlink2 -> target-realfile
-rw-r--r-- 1 root root  1G Mar 19  2021 target-realfile

我们可以使用哪些 linux shell 命令来实现这一点,复制文件和符号链接并指向新复制的文件?

谢谢!

【问题讨论】:

为了排除您已经尝试了man cp 页面中列出的所有选项,请说明当您确实使用那些处理符号链接的选项时会发生什么。 【参考方案1】:

使用cp -a 尽可能保留。

【讨论】:

以上是关于cp复制时软链接问题的主要内容,如果未能解决你的问题,请参考以下文章

Linux之cp命令详解

Linux cp命令

linux命令cp

Day5-3 链接

android:按下完成键时软键盘执行动作

Android横屏时软键盘全屏问题