我将从示例开始:
$ ls -l dir1
total 4
-rw-r--r-- 4 maythux maythux 1650 2008-01-10 16:33 file
lrwxrwxrwx 1 maythux maythux 7 2008-01-15 15:17 symfile -> file
symfile
是文件的符号链接 file
而且据我所知1650
,文件的大小file
是多少,但是7
在size列下放置的数字是多少?
编辑:运行du
:
$ du -sh symfile
0 symfile
那么,如何证明符号链接大小为7 ?!
更新:
尝试这个
$ touch file
$ du -sh file
0 file
$ ls -l file
-rw-rw-r-- 1 maythux maythux 0 Jun 1 19:42 file
请注意,这里的大小也为0。
现在:
$ ln -s file sym
$ du -sh sym
0 sym
$ ls -l sym
lrwxrwxrwx 1 maythux maythux 4 Jun 1 19:44 sym -> file
所以,我想这不仅是尺寸
它是一个大小,但是大小取决于文件系统(btrfs可能存储的元数据比ext4多,而ext4的存储量比tmpfs多)。您可以使用链接填充磁盘。我只是说,如果您在不同的文件系统上看到不同的数字,请不要感到惊讶。
—
muru 2015年
目录条目的最小大小大于所需大小。输入足够的条目,目录的大小将增加。检查:
—
muru 2015年
mkdir foo; ls -ld foo; for i in {1..1000}; do ln -s foo/bar foo/$i; done; ls -ld foo
。
7
依赖于文件系统(以及可能的其它参数)。在ext4上为7,但在btrfs上为13,在tmpfs上为3。