标签: hardlink

如何检查具有许多硬链接的 NTFS 目录中使用的实际大小?

在 Win7 NTFS 卷上,我正在使用正确支持 --link-dest 的 cwrsync 创建“快照”类型的备份。所以我有:

z:\backups\2010-11-28\cygdrive\c\Users\...
z:\backups\2010-12-02\cygdrive\c\Users\...
Run Code Online (Sandbox Code Playgroud)

2010-12-02 的内容主要是硬链接回 2010-11-28 目录中的文件,但只有 2010-12-02 才有一些新的或更改的文件。在 linux 上,'du' 实用程序会告诉我每个增量快照占用的实际大小。在 Windows 上,cygwin 下的 explorer 和 du 都被硬链接所迷惑,并且显示 2010-12-02 比 2010-11-28 占用更多空间。

是否有 Windows 实用程序可以显示实际使用的正确空间?

windows-7 ntfs hardlink

16
推荐指数
2
解决办法
7453
查看次数

两个不同驱动器上的 Windows7 硬链接

我试图在我的 C 驱动器上创建一个指向我 D 驱动器上的文件的硬链接。我打开一个具有管理员权限的终端并尝试以下操作:

C:\Users\sandro>mklink /H _vimrc D:\sandro-desktop\.vimrc

我得到的错误是:

系统无法将文件移动到不同的磁盘驱动器。

当我尝试软链接时,我遇到的问题是,由于某种原因,对链接内容的更改未反映在目标文件上。

windows-7 hard-drive hardlink

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

我可以使用 rsync 硬链接文件而不是复制它们吗?

cp -l硬链接文件而不是复制它们,节省文件系统空间。由于其--exclude功能,我需要使用 rsync 而不是 cp 。

所以我的问题是,如何将 rsync 同步到硬链接文件而不是复制它们?显然,这是一个本地文件系统副本。我已经阅读了 rsync-H选项的文档,但我不清楚这是否与cp -l.

linux rsync hardlink cp incremental-backup

15
推荐指数
1
解决办法
6429
查看次数

符号链接与硬链接相比有什么优势,反之亦然?

我了解符号链接和硬链接之间的区别,但我一直不明白为什么要选择其中之一。

unix symbolic-link hardlink

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

如何在使用原始文件时删除 Windows NTFS 硬链接 (mklink /h)?

在 Windows NTFS 文件系统上,我有一个文件(比如orig.mp3)。我通过此路径orig.mp3以正在使用的方式打开此文件(例如,通过在 VLC 中播放它)。

然后我创建一个硬链接 ( cmd /c mklink /h link.mp3 orig.mp3)。这导致两个 NTFS 路径指向完全相同的文件。

最后,我再次尝试删除链接文件(del link.mp3,或在 Windows 资源管理器中删除)。

失败并显示错误:“该进程无法访问该文件,因为它正被另一个进程使用。”

为什么?更重要的是:我怎样才能避免这种情况(除了确保没有进程使用原始文件)?我是否可以告诉 Windows 进行“延迟删除”,以便在不再使用原始文件时自动删除链接文件?

windows ntfs file-management hardlink mklink

11
推荐指数
2
解决办法
3万
查看次数

复制到另一个 NTFS 磁盘并保留硬链接

我必须将目录结构从一个本地 NTFS 磁盘复制到另一个(Windows 7+)并保留此目录结构中存在的硬链接。

一个可接受的解决方案是在复制之前用(相对)符号链接替换硬链接,但我不确定这是否可行。

请注意,这些是硬链接,复制连接点和符号链接没有问题,后者可以稍后复制和修复。我不打算克隆它,只是将目录结构(它是整个磁盘的一部分)复制到另一个非空磁盘。

这里有哪些选择?

ntfs symbolic-link hardlink

11
推荐指数
2
解决办法
7400
查看次数

创建硬链接时不允许进行操作(但软链接可以)

我正在尝试创建硬链接,但收到错误消息“不允许操作”

tikey@helios64:/data/$ ln /data/dir1/img1.jpg /data/dir2/
ln: failed to create hard link '/data/dir2/img1.jpg' => '/data/dir1/img1.jpg': Operation not permitted
Run Code Online (Sandbox Code Playgroud)

-s但是,通过在命令中添加 a ,我可以创建软链接。我也可以复制该文件。所以我的用户有权在目录中创建文件。

为什么在尝试创建硬链接时会出现权限错误?我可以采取哪些措施来防止出现这种情况?

编辑 - 基于一些答案的附加信息:

文件系统是 ext4,并且还有dir1on的绑定挂载/srv(但卸载/srv/dir1没有任何区别):

/dev/md127 on /data type ext4 (rw,relatime,stripe=256)
/data/dir1 on /srv/dir1 type fuse (rw,relatime,user_id=0,group_id=0,default_permissions,allow_other)
Run Code Online (Sandbox Code Playgroud)

该设备设置为 raid 5:

md127 : active raid5 sdc[1] sdb[2] sdd[0]
      7813772288 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
      bitmap: 0/30 pages [0KB], 65536KB chunk
Run Code Online (Sandbox Code Playgroud)

lsattr该文件显示:

tikey@helios64:/data$ lsattr dir1/img1.jpg
--------------e------- dir1/img1.jpg
Run Code Online (Sandbox Code Playgroud)

linux hardlink links

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

有没有办法将对 NTFS 硬链接文件的更改写入新文件?

单个 NTFS 文件可以“硬链接”到多个目录项;所有目录条目(例如A、B、C)都指向相同的数据。如果对这个单个文件(例如A)进行更改,则所有条目(A、B、C)现在都引用相同的更改数据。但是如果您不希望 B 的数据改变怎么办?有没有办法让Windows将更改的A数据写入新文件,而让B引用相同的未更改数据?例如,改变的A数据可以自动写入新文件;或者可以警告用户并让其选择是否将其他目录条目(B、C 等)链接到新数据。我确实看到,如果将 B 设置为只读,则无法写入 A,并且必须将 A 的更改保存为新名称。但我更喜欢将更改自动写入新文件,或者提示写入旧文件。

ntfs hardlink

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

在 UNIX 上查找文件的所有符号链接和硬链接

如果我在 UNIX 文件系统中有一个特定的文件,有没有办法使用 bash 来查找指向该文件的所有链接,包括符号链接和硬链接?如果每个命令都需要不同的命令,它们是什么?

unix bash symbolic-link hardlink

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

Linux 中的硬链接是什么?

我四处搜索并试图了解硬链接和符号链接(软链接)之间的区别。

我发现这个链接非常有用。但是我还不是很清楚。我知道软链接不是原始文件的副本,但硬链接是否是副本?

linux hardlink

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