Size
文件夾大小 du, ls
有人可以解釋文件夾大小嗎?文件夾僅包含 1 個 360Gb 大小的文件。ls 和 du 顯示使用 440Gb
[root@liz DECSC]# ls -lha total 440G drwxrwxr-x 2 geo geo 4.0K Dec 6 19:56 . drwxrwxr-x 14 geo geo 20K Dec 6 19:39 .. -rwxrwxrwx 1 geo geo 360G Apr 8 2018 vor_gainzp2.dat [root@liz DECSC]# du -hs 440G . [root@liz DECSC]#
聽起來這是在具有直接塊分配而不是擴展區的文件系統上,例如 ext3。
這意味著每個數據塊在表中(inode 中)都有一個條目。前 12 個條目是直接塊,即直接指向數據塊。下一個條目是一個間接塊,它指向一個再次包含塊號的塊。第 13 塊是雙重間接塊,第 14 塊是三重間接塊。
所有這一切意味著,對於諸如 370GB 文件之類的大文件,在定址所有數據塊時涉及大量塊。這可能就是差異的來源;
du
考慮所有塊,而不僅僅是數據塊。ls
顯示文件大小,但目錄中的總空間再次顯示所有已用空間,而不僅僅是數據塊。對於較大的文件,我不建議使用 ext3,當然也不建議使用 ext2。使用現代的基於範圍的文件系統,例如 ext4。對於基於範圍的文件系統,這些塊被索引為“第一個塊在 3874 處,這擴展了 342 個塊”,並且根據需要添加更多的範圍。通過這種方式,只需使用兩個數字就可以找到許多塊。這不僅更節省空間,而且速度也更快,因為不需要載入所有這些額外的塊。