Jen*_*eno 4 encryption luks external-hdd hard-link
我有两个具有相同文件的外部磁盘。一个是加密的,另一个不是。加密的比非加密的空间少得多,我现在假设这是因为非加密磁盘上的硬链接。
所以我想检查一下,是否有任何硬链接文件可能会在加密磁盘上加倍。如何识别硬链接?
如果您有任何其他想法,可用空间问题的原因可能是什么,我愿意接受想法。由于加密,文件是否可能需要更多空间?
ilk*_*chu 16
$ find -type f -links +1
Run Code Online (Sandbox Code Playgroud)
这将显示所有具有多个链接(名称)的常规文件。它不会告诉您哪些名称链接到同一个文件,因为您可以使用-samefile
或-inum
,例如find -samefile "$somefile"
从技术意义上讲,所有文件(文件名)都是(硬)链接,只是具有多个链接指向它们的文件在这种意义上很有趣。但即使在这些情况下,也无法说其中一个是“正确的”文件,另一个是链接,链接是平等的。
举个例子:
$ touch a b c
$ ln b b2 ; ln c c2
$ find -type f -links +1
./c2
./b
./b2
./c
$ find -samefile b
./b
./b2
Run Code Online (Sandbox Code Playgroud)
@ilkkachu 和 @barrycarter 的回答很好。这个答案是另一种选择,它用更多细节描述了一些结果。
如果链接的 {match is/matches are} 在同一目录树中,您会直接找到它们。
否则,您可以从挂载点搜索整个文件系统,但只能在同一文件系统中使用-xdev
,这在搜索根分区/
并且还有其他挂载分区时很重要。
$ sudo find / -xdev -type f -links +1 -ls | sort -n > hard-links-in-root.txt
Run Code Online (Sandbox Code Playgroud)下面是一个例子,在当前目录中找到一个硬链接对,从/media/multimed-2
数据分区的挂载点开始搜索在另一个目录中找到两个硬链接匹配。
$ sudo find . -xdev -type f -links +1 -ls | sort -n
5242881 648 -rw-rw-r-- 2 olle nio 657936 jun 30 2015 ./like-this.png
5242882 940 -rw-rw-r-- 2 olle nio 957688 jun 30 2015 ./from-here.png
14843905 1620 -rw-r--r-- 2 olle nio 1652803 jun 30 2015 ./img_4810.jpg
14843905 1620 -rw-r--r-- 2 olle nio 1652803 jun 30 2015 ./mid-sommer-night_4810.jpg
$ find /media/multimed-2/ -samefile ./like-this.png
/media/multimed-2/Photos/2015/06/30/like-this.png
/media/multimed-2/Bilder/kartor/like-this.png
$ find /media/multimed-2/ -samefile ./from-here.png
/media/multimed-2/Photos/2015/06/30/from-here.png
/media/multimed-2/Bilder/kartor/from-here.png
Run Code Online (Sandbox Code Playgroud)
不同的文件系统(ext4、NTFS、FAT32 ...)
不同的分区大小,导致开销(元数据)的差异。
驱动器上的不同扇区大小(也许?)