JVC*_*JVC 4 hard-link alias symlink
我发现我需要对无法看到别名/符号链接的特定程序(Ableton Live)使用硬链接,这当然是我组织所有工作文件的方式。但是制作硬链接会创建看似原始文件的副本。
它们实际上占用的空间与原始空间一样多吗?或者文件系统(在这种情况下为 OSX)仅显示磁盘上实际数据的大小,并且在两个地方引用它的事实实际上并没有使数据量增加一倍?
小智 6
你说的第二件事完全正确。文件内容在磁盘上只存在一次。硬链接是一个额外的引用,它只占用很少的空间 - 目录条目的大小,即文件名的长度加上几个字节。
我不知道这是否适用于 OSX,但在我手头的 GNU coreutils 版本中,我du
知道硬链接,因此您可以使用它来获得一组文件总大小的准确报告。如果它找到一个文件的多个链接,它只会将它添加到总数中一次。ls -l
另一方面,它做错了事,并在其total
行的目录中添加了它看到的所有内容。
$ ls -sl
total 296
296 -rw-r--r-- 1 user group 300324 Feb 17 19:08 f1
$ du
296 .
$ ln f1 f2
$ ls -sl
total 592
296 -rw-r--r-- 2 user group 300324 Feb 17 19:08 f1
296 -rw-r--r-- 2 user group 300324 Feb 17 19:08 f2
$ du
296 .
$ cp f1 f3
$ ls -sl
total 888
296 -rw-r--r-- 2 user group 300324 Feb 17 19:08 f1
296 -rw-r--r-- 2 user group 300324 Feb 17 19:08 f2
296 -rw-r--r-- 1 user group 300324 Feb 17 19:08 f3
$ du
592 .
$
Run Code Online (Sandbox Code Playgroud)
最终的演示是创建一个大文件,超过磁盘大小的一半。然后看看您可以创建多少个硬链接。应该不少。