我经历了很多文档.在文件系统中占用任何空间的硬链接或软链接有很多不一致.任何人都可以为我清除这些内容吗?
对于硬链接,我发现了这个:
我在我的主目录中有一个文件c1,它与同一目录中的d1硬连接.b1和b1的大小为11字节.现在我正在执行"ls -lrt"列出的所有文件的总字节数(不包括d个隐藏文件) (当然)是64个字节.现在,当我删除硬链接d1并再次做一个ls -lrt它给了我60个字节.这并不意味着硬链接占用硬盘空间,但很多docs.negate这个事实,为什么?
我可以检查相同的方式为文件创建一个软链接,然后删除它,但由于我的软链接只有2bytes大小,我不认为删除它会对ls输出中列出的舍入总大小有任何重大影响-lrt.
那是什么呢?
glg*_*lgl 10
当然他们占据(一点点)空间:
硬链接文件有多个目录条目.每个条目占用目录本身的空间,但从那时起,它们共享相同的结构:共享inode和数据区域.但我不确定这是如何计算的; 也许目录条目总是占用一定大小的倍数左右.
符号链接也占用了目录条目的空间,另外还有一个inode,它保存有关链接属性以及链接目标本身的信息.
使用这些小尺寸(文件中的11个字节的数据),开销比实际数据更重要.但是,对于较大的文件,这几个字节的小开销可以忽略不计.
小智 6
是.它们都占用空间,因为它们都有目录条目.
硬链接条目(实际上,[通常]共享inode的"正常条目")占用空间,符号链接条目必须以某种方式存储链接路径(文本本身).由于确切的文件系统实现确定的分配/布局规则(例如块/树大小以及如何存储符号链接),所需的实际空间略有不同.
然而,空间量是最小的,并且[几乎总是]被认为与文件本身中的数据无关.
ls 是错的!
它多次计算硬链接文件.ls -l只会添加每个条目的块编号,无论它有多少个硬链接.
(ls -1si用于显示每个文件的inode编号以及块使用情况)
试试吧du -Ssb ..这将为您提供正确的磁盘使用量,以字节为单位.除非你使用-l开关,这将重现ls的行为.