我读过很多网站,在Linux中,符号链接(软链接,符号链接)就像引用另一个文件的指针,该文件可能位于任何地方(例如Windows快捷方式)。但是,当我检查其中有符号链接的文件夹的磁盘使用情况时,我的文件管理器所说的与du
报告之间不匹配。但是,如果键入du -L
(-L, --dereference; dereference all symbolic links
从手册页),则du -L
文件管理器报告的输出和大小是相同的。
我的问题是:如果我有一个软链接到一个大文件,例如在我的单独home
分区中,我会遇到任何问题吗?
范例:
我的/var/tmp
文件夹现在是空的。让我们创建一个文件:
$ cat /some/file.txt > file.txt
$ du -ac
164 ./file.txt
168 .
168 total
我的文件管理器(在本例中为Thunar)报告
大小:1件,总计163.0 kB
行。现在,让我们在其中创建一个非常大的文件/tmp
并对其进行符号链接:
$ cat /dir/really_big.txt > /tmp/heavy.txt
$ du -a | grep heavy.txt
408 ./heavy.txt
$ ln -s /tmp/heavy.txt heavy.txt
$ du -ac
164 ./file.txt
0 ./heavy.txt
168 .
168 total
现在一切都很好。但是,如果我打开文件管理器:
大小:2件,总计570.3 kB
最后,
$ du -acL
164 ./file.txt
408 ./heavy.txt
576 .
576 total
如果所在的分区/var/tmp
大1 GiB,并且我在其中创建了一个1 GiB文件的链接,那我的硬盘会死吗?我知道这du
将输出168和Thunar 1 GiB,但我不知道哪个是正确的。