linux - 如何在 Linux 上创建带链接的目录副本

标签 linux directory hardlink

我在 Linux 上有一系列目录,每个目录都包含很多文件和数据。这些目录中的数据是自动生成的,但多个用户将需要对该数据执行更多分析并生成更多文件、更改结构等。

由于这些数据目录非常大,我不想让几个人复制原始数据,所以我想复制目录并从新目录链接到原始数据。但是,我希望任何更改只保留在新目录中,而将原始目录保留为只读。我不想只链接我定义的特定文件,因为这些目录中的数据千差万别。

所以我想知道是否有一种方法可以通过链接到原始目录但仅将任何更改的文件保留在新目录中来创建目录的副本。

最佳答案

原来这就是我想要的:

cp -al <origdir> <newdir>

它将复制整个目录并创建指向原始文件的硬链接(hard link)。如果删除原始文件,则复制的文件仍然存在,反之亦然。这将完美地工作,但我发现 newdir 一定不存在。只要原始文件是只读的,您就可以创建原始目录的相同、安全的副本。

关于linux - 如何在 Linux 上创建带链接的目录副本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11455846/

相关文章:

linux - 所有机器上的 Grep "-C"命令

regex - 有趣的正则表达式替换 3 位数字,同时在同一行中保留其他 3 位数字

linux - 如何在 Linux 中的单独 gnome 终端中执行文件

c++ - boost 截止时间计时器的替代方案

shell - 目录和文件夹有什么区别?

linux - 如果文件夹中有超过 100 万个文件,则删除文件夹及其所有内容

c# - 从 File.Copy 中排除系统硬链接(hard link)

macos - 在 Mac OS X 中创建目录硬链接(hard link)

c++ - 在 C++ 中搜索文件夹

powershell - 递归硬链接(hard link)