pzk*_*pfw 7 xfce filesystem xubuntu thunar filemanager
我正在使用 Thunar 1.6.3,目前当我查看一堆文件夹时,它看起来像这样:
Folder 1 8,2 kB
Folder 2 4,1 kB
Folder 3 4,1 kB
Folder 4 0 kB
Run Code Online (Sandbox Code Playgroud)
我不确定这些“大小”数字从何而来,但我确信它们不会反映文件夹中所有内容的实际大小,因为当我右键单击并选择“属性”文件夹时(所有这些都只有千字节大小)加起来超过 100 Gb。
问题
我应该解释一下 Linux 文件系统结构来解释这一点。大多数 linux 文件系统都做类似的事情,但我假设 ext4,这是当前的默认值。
好吧,这可能会让人感到困惑。让我解释。假设您有三个文件夹,A、B、C,如下所示。
C is in B.
B is in A.
Run Code Online (Sandbox Code Playgroud)
现在,有趣的部分是,C 可以指向与 A 相同的 inode,从而创建有时称为循环引用循环的内容。如果您尝试递归,您将遇到一个永无止境的循环。
因此,尝试以递归方式计算大小有其怪癖。默认情况下尝试递归计算大小是一个坏主意。但是,我知道的所有体面的文件管理器的属性对话框都显示递归计算的总大小,因为这是普通用户所期望的。
实际上,Windows 使用一种称为 NTFS 的不同文件系统格式,它维护所有文件及其大小的列表。所以它总是可以很容易地告诉总大小。
它不支持 Unix 的权限概念(分别rwx针对所有者、组和 Universe),并且这个单一的原因使它不适合用作 Linux 文件系统。Ext4 带来了很多问题,这个小小的不便对很多人来说并不重要。
你试了du吗?
du工作?du代表磁盘使用。它实际上对 inode 块进行计数,注意不要重复计算它们。把尺寸加起来,你就有了总尺寸。
使用du -hs <foldername>找到磁盘上的文件夹的实际大小。阅读man du更多信息。
小智 5
在thunar顶部菜单中,转到“编辑”>“配置自定义操作”,添加一个新的自定义操作:
du -h -c %N | grep total | zenity --text-info或du -chs %N | zenity --text-info用于选定的文件夹或/和文件大小,后跟总大小。我在http://crunchbang.org找到了这个解决方案