在Linux系统中,total
通常出现在命令输出中(如ls -l
或du
),其含义取决于具体命令的上下文:
ls -l
中的 total
当执行 ls -l
(或 ll
)时,输出的第一行会显示类似:
total 24
drwxr-xr-x 2 user group 4096 Jan 1 10:00 dir1
-rw-r--r-- 1 user group 512 Jan 1 09:00 file1
total
的值:表示当前目录下所有文件和目录占用的 磁盘块(block)总数,单位为 1K(1024字节)。
total 24
表示子项共占用约24KB磁盘空间。du
命令中的 total
当执行 du
(查看磁盘使用情况)时,输出的最后一行可能显示:
12 ./dir1
8 ./file1
20 total
total
的值:表示当前目录及其所有子项 实际占用的磁盘空间总和(默认单位为KB)。
ls -l
不同,du
会递归计算所有子目录的真实空间占用。20 total
表示该目录实际占用20KB。df
命令中的 total
在 df -h
(查看文件系统使用情况)中,total
可能指:
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 20G 5G 15G 25% /
Size
列即文件系统的总容量(类似total
概念),单位为GB。为什么ls -l
的total
比实际文件大小之和大?
因为文件系统按块分配空间(如4KB/块),小文件会填满整个块。例如,1字节的文件仍占用4KB。
如何精确计算目录总大小?
使用 du -sh <目录>
,其中 -s
表示汇总,-h
以人类可读格式显示(如KB/MB/GB)。
命令/场景 | total 含义 |
单位 | 是否递归统计 |
---|---|---|---|
ls -l |
子项占用的磁盘块总数 | 1K块 | 否 |
du (无参数) |
目录及其子项的实际磁盘占用总和 | KB | 是 |
df |
文件系统的总容量(Size 列) |
自定义 | - |
根据具体命令选择合适工具:
- 查看文件元信息 → ls -l
- 查看真实磁盘占用 → du
- 查看文件系统容量 → df