如何复制文件和该文件的符号链接?
How to duplicate a file and a symlink to that file?
我正在尝试复制一个包含文本文件和文本文件符号链接的文件夹。
如何实现文件夹 1 的以下复制:
|---- Folder1
| |---- file1.txt
| |---- symlink_to_file1.txt
现在我想复制这个文件夹成为:
|---- Folder1_copy
| |---- file1_copy.txt
| |---- symlink_to_file1_copy.txt
通常名称不会更改为包含“_copy”,我只是添加这个以使示例清楚。
目前,如果我 "ctrl+c"、"ctrl+v" 我的文件夹结构,我得到:
|---- Folder1_copy
| |---- file1_copy.txt
| |---- symlink_to_file1.txt
上述解决方案:
rsync -av Folder1/* Folder1_copy/
但是这在复制的情况下不起作用:
|---- Folder1
| |---- Nested_folder1
| | |---- file1.txt
| |---- Nested_folder2
| | |---- Nested_folder3
| | | |---- symlink_to_file1.txt
在上面的文件结构上运行rsync -av Folder1/* Folder1_copy/
之后,新的symlink_to_file1_copy.txt
符号链接仍然指向原来的file1.txt
试试这个:rsync -av Folder1/* Folder1_copy/
我自己对此进行了测试,似乎可以实现您想要的设置。评论中建议的第一个解决方案不保留 link,而第二个解决方案将整个目录 Folder1 的副本放入 Folder1_copy。
重要警告:对于复制到 Folder1_copy 的 Folder1 中的任何 symlinks 实际上指向 Folder1_copy 中的其他复制文件而不是 Folder1 中的原始文件,那些需要创建 symlinks 以根据文件在 Folder1 中的 相对路径 而不是绝对路径指向文件。
我正在尝试复制一个包含文本文件和文本文件符号链接的文件夹。 如何实现文件夹 1 的以下复制:
|---- Folder1
| |---- file1.txt
| |---- symlink_to_file1.txt
现在我想复制这个文件夹成为:
|---- Folder1_copy
| |---- file1_copy.txt
| |---- symlink_to_file1_copy.txt
通常名称不会更改为包含“_copy”,我只是添加这个以使示例清楚。
目前,如果我 "ctrl+c"、"ctrl+v" 我的文件夹结构,我得到:
|---- Folder1_copy
| |---- file1_copy.txt
| |---- symlink_to_file1.txt
上述解决方案:
rsync -av Folder1/* Folder1_copy/
但是这在复制的情况下不起作用:
|---- Folder1
| |---- Nested_folder1
| | |---- file1.txt
| |---- Nested_folder2
| | |---- Nested_folder3
| | | |---- symlink_to_file1.txt
在上面的文件结构上运行rsync -av Folder1/* Folder1_copy/
之后,新的symlink_to_file1_copy.txt
符号链接仍然指向原来的file1.txt
试试这个:rsync -av Folder1/* Folder1_copy/
我自己对此进行了测试,似乎可以实现您想要的设置。评论中建议的第一个解决方案不保留 link,而第二个解决方案将整个目录 Folder1 的副本放入 Folder1_copy。
重要警告:对于复制到 Folder1_copy 的 Folder1 中的任何 symlinks 实际上指向 Folder1_copy 中的其他复制文件而不是 Folder1 中的原始文件,那些需要创建 symlinks 以根据文件在 Folder1 中的 相对路径 而不是绝对路径指向文件。