标签: hardlink

软(符号)链接和硬链接有什么区别?

我听说您现在也可以在 Vista 中创建软链接。那么,UNIX/Linux/Vista 上的软(符号)链接和硬链接有什么区别?

使用一种比另一种有优势吗?或者它们只是服务于两个不同的目的?

linux unix filesystems hardlink symlink

60
推荐指数
2
解决办法
8934
查看次数

如何在 Windows 中查看文件的硬链接?

我在 Windows 中找到了硬链接和连接描述,但是我想知道,从 Windows UI 或命令提示符,我如何查看特定文件或文件夹的硬链接?

windows hardlink

40
推荐指数
2
解决办法
4万
查看次数

如何使用 rsync 复制目录树,创建文件的硬链接?

有时,我必须对服务器上的数据文件执行几次大型迁移更改,我正在寻找一种好方法来执行此操作。我正在考虑使用 rsync 从根数据文件夹开始复制我的目录结构,创建指向所有原始文件的硬链接(其中一些文件相当大),并且我可以在目标树中仅覆盖需要迁移的文件。最后,我可以通过两次mv操作安全地从旧文件切换到新文件。

但是,我似乎无法让 rsync 做到这一点。我试过

rsync -a --link-dest=$DATA $DATA $DATA/../upgrade_tmp
Run Code Online (Sandbox Code Playgroud)

但 rsync 不是创建文件的硬链接,而是完全复制它们。使用相同的源和链接目标目录是否有问题?

rsync hardlink mac-osx

28
推荐指数
4
解决办法
2万
查看次数

有没有办法创建目录的写时复制副本?

我正在考虑一种情况,我会创建一个目录副本,调整一些文件,然后对结果进行一些处理。这会经常做,也许一天几十次。(确切的用例是测试补丁提交;复制代码,修补它,构建/测试/报告/等。)

我正在寻找的东西可以通过创建一个新的目录结构并用来自原始目录的硬链接填充它来完成。但是,这只适用于您使用的所有工具删除和重新创建文件而不是就地编辑它们的情况。

有没有办法让文件系统对文件进行写时复制


注意:我知道许多 FS 在块级别使用 COW(所有更新都是通过写入新块完成的),但这不是我想要的。

filesystems hardlink

16
推荐指数
1
解决办法
5680
查看次数

mklink 的一些图形用户界面?

你知道一些 GUI 工具来创建 Hardlinks/SoftLinks/Junctions 吗?

windows hardlink junction symlink

13
推荐指数
1
解决办法
1万
查看次数

rsync 是否更改文件内容(处理硬链接)?

想象一下,我有一个文件remote/A,其同步到local/A并且local/B是硬链接local/A。是否存在下一次remote/A更改和同步rsync不会删除local/A而只会替换/添加某些部分从而更改local/B(由于硬链接)的威胁?

synchronization rsync hardlink

13
推荐指数
1
解决办法
649
查看次数

如何镜像具有数百万个硬链接的文件系统?

目前我们有一个大问题:我们需要为我们的一位客户镜像文件系统。这通常不是问题,但这里是:

在这个文件系统上,有一个文件夹有数百万个硬链接(是的!数百万个!)。rsync需要超过 4 天才能构建文件列表。

我们使用以下rsync选项:

rsync -Havz --progress serverA:/data/cms /data/
Run Code Online (Sandbox Code Playgroud)

有谁知道如何加速这个 rsync 或使用替代方法?我们无法使用,dd因为目标磁盘比源磁盘小。

更新: 由于原始文件系统是ext3我们将尝试dumprestore. 我会让你保持最新状态

linux performance rsync hardlink

11
推荐指数
1
解决办法
2337
查看次数

如何在两个分区之间创建符号链接 (ln)

我的 Ubuntu 10.04.3 服务器上有两个分区。

分区 1:/mnt/storage/  
分区 2:/var/www/myweb/  

现在当我运行以下命令时

$ ln /mnt/storage/sourcefile.txt /var/www/myweb/linkedfile.txt

我懂了

ln: 创建硬链接 `/var/www/myweb/linkedfile.txt' => `sourcefile.txt': 无效的跨设备链接

知道如何制作这个符号链接吗?

ubuntu hardlink symbolic-link

10
推荐指数
1
解决办法
2万
查看次数

打破文件夹内的所有硬链接

我有一个文件夹,其中包含一定数量的具有硬链接的文件(在同一文件夹中或其他地方),我想取消这些文件的硬链接,因此它们变得独立,并且对其内容的更改不会影响任何其他文件(它们的链接数变为 1)。

下面,我给出了一个解决方案,它基本上将每个硬链接复制到另一个位置,然后将其移回原位。

然而,这种方法似乎相当粗糙且容易出错,所以我想知道是否有一些命令可以为我解除文件的硬链接。

粗略的回答:

查找具有硬链接的文件(编辑:要同时查找具有硬链接的套接字等,请使用find -not -type d -links +1):

find      -type f -links +1 # files only
find -not -type d -links +1 # files, sockets etc.
Run Code Online (Sandbox Code Playgroud)

解除文件硬链接的粗略方法(将其复制到另一个位置,然后将其移回): 编辑: 正如 Celada 所说,最好在下面执行 cp -p,以避免丢失时间戳和权限。 编辑: 创建一个临时目录并复制到其下的文件,而不是覆盖临时文件,它最大限度地降低了覆盖某些数据的风险,尽管该mv命令仍然存在风险(感谢@Tobu)。 编辑: 尝试在同一文件系统(@MikkoRantalainen)中创建临时目录。

# This is unhardlink.sh
set -e
for i in "$@"; do
  temp="$(mktemp -d -- "${i%/*}/hardlnk-XXXXXXXX")"
  [ -e "$temp" ] && cp -ip "$i" "$temp/tempcopy" && mv "$temp/tempcopy" "$i" && rmdir "$temp"
done
Run Code Online (Sandbox Code Playgroud)

因此,要取消硬链接所有硬链接(编辑 …

unix hardlink

9
推荐指数
1
解决办法
1751
查看次数

创建指向 Unix 套接字的链接

是否有可能为 unix 套接字创建硬链接?我正在创建一个监狱并且符号链接不起作用,所以我正在寻找一个解决方案,如何在 chrootted 环境中提供一个 unix 套接字。

我遇到的唯一想法是使用类似 netcat 的东西,但有没有可靠的可能性?

unix hardlink socket

9
推荐指数
1
解决办法
5733
查看次数