linux df

Linux df 命令用于显示目前在Linux系统上的文件系统的磁盘使用情况统计。

参数

文件-a, --all 包含所有的具有 0 Blocks 的文件系统

文件--block-size={SIZE} 使用 {SIZE} 大小的 Blocks

文件-h, --human-readable 使用人类可读的格式(预设值是不加这个选项的...)

文件-H, --si 很像 -h, 但是用 1000 为单位而不是用 1024

文件-i, --inodes 列出 inode 资讯,不列出已使用 block

文件-k, --kilobytes 就像是 --block-size=1024

文件-l, --local 限制列出的文件结构

文件-m, --megabytes 就像 --block-size=1048576

文件--no-sync 取得资讯前不 sync (预设值)

文件-P, --portability 使用 POSIX 输出格式

文件--sync 在取得资讯前 sync

文件-t, --type=TYPE 限制列出文件系统的 TYPE

文件-T, --print-type 显示文件系统的形式

文件-x, --exclude-type=TYPE 限制列出文件系统不要显示 TYPE

文件-v (忽略)

文件--help 显示这个帮手并且离开

文件--version 输出版本资讯并且离开

实战

查看信息

$ df 
Filesystem     1K-blocks     Used Available Use% Mounted on
/dev/vda1       41152832  3491024  35548324   9% /
devtmpfs         1930632        0   1930632   0% /dev
tmpfs            1940960        0   1940960   0% /dev/shm
tmpfs            1940960      536   1940424   1% /run
tmpfs            1940960        0   1940960   0% /sys/fs/cgroup
/dev/vdb1      103079864 27745036  70075616  29% /app
tmpfs             388192        0    388192   0% /run/user/3001
tmpfs             388192        0    388192   0% /run/user/3003
tmpfs             388192        0    388192   0% /run/user/3002

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        40G  3.4G   34G   9% /
devtmpfs        1.9G     0  1.9G   0% /dev
tmpfs           1.9G     0  1.9G   0% /dev/shm
tmpfs           1.9G  536K  1.9G   1% /run
tmpfs           1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/vdb1        99G   27G   67G  29% /app
tmpfs           380M     0  380M   0% /run/user/3001
tmpfs           380M     0  380M   0% /run/user/3003
tmpfs           380M     0  380M   0% /run/user/3002

第一列指定文件系统的名称,第二列指定一个特定的文件系统1K-块1K是1024字节为单位的总内存。

用和可用列正在使用中,分别指定的内存量。

使用列指定使用的内存的百分比,而最后一栏”安装在”指定的文件系统的挂载点。

所有信息

$ df --total -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        40G  3.4G   34G   9% /
devtmpfs        1.9G     0  1.9G   0% /dev
tmpfs           1.9G     0  1.9G   0% /dev/shm
tmpfs           1.9G  536K  1.9G   1% /run
tmpfs           1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/vdb1        99G   27G   67G  29% /app
tmpfs           380M     0  380M   0% /run/user/3001
tmpfs           380M     0  380M   0% /run/user/3003
tmpfs           380M     0  380M   0% /run/user/3002
total           147G   30G  110G  22% -

chat

Q1-详细介绍一下 linux df 命令

df(磁盘空间)命令是用于显示文件系统的磁盘空间使用情况的Linux命令。

以下是df命令的详细介绍:

命令格式:

df [选项] [文件/目录]

常用选项:

  • -h:以人类可读的格式显示磁盘使用情况,以K、M、G等单位。
  • -T:显示文件系统类型。
  • -a:显示所有文件系统,包括虚拟文件系统。
  • --total:显示所有文件系统的总计。

示例:

  1. 基本用法:显示所有挂载点的磁盘使用情况。

     df
    
  2. 以人类可读的格式:使用-h选项,以更易读的单位显示磁盘使用情况。

     df -h
    
  3. 显示文件系统类型:使用-T选项,显示文件系统的类型。

     df -T
    
  4. 显示所有文件系统:使用-a选项,显示所有文件系统,包括虚拟文件系统。

     df -a
    
  5. 显示所有文件系统的总计:使用--total选项,显示所有文件系统的总计。

     df --total
    

输出解释:

df命令的输出包括以下列:

  • 文件系统:文件系统的设备或者远程资源。
  • 1K-块:文件系统的总块数,每个块大小为1K。
  • 已用:已经使用的块数。
  • 可用:还剩下多少块可用。
  • 已用%:已用块数占总块数的百分比。
  • 挂载点:文件系统被挂载到的目录。

示例输出:

文件系统         1K-块    已用    可用 已用% 挂载点
/dev/sda1       2048000 918120 1029880  48% /
tmpfs            102400      0  102400   0% /dev/shm
/dev/sdb1      10240000 121500 10036800   2% /mnt/data

上述输出中,/dev/sda1是一个文件系统,已用48%,挂载在根目录/下。

tmpfs是一个虚拟文件系统,挂载在/dev/shm下。

/dev/sdb1是另一个文件系统,已用2%,挂载在/mnt/data下。

Q2-实际测试例子

下面是一个实际测试的例子,对应的

$ df -haT
Filesystem     Type           Size  Used Avail Use% Mounted on
none           tmpfs          3.9G  4.0K  3.9G   1% /mnt/wsl
none           9p             120G   99G   22G  83% /usr/lib/wsl/drivers
none           overlay        3.9G     0  3.9G   0% /usr/lib/wsl/lib
/dev/sdc       ext4          1007G  1.4G  955G   1% /
none           tmpfs          3.9G   88K  3.9G   1% /mnt/wslg
/dev/sdc       ext4          1007G  1.4G  955G   1% /mnt/wslg/distro
rootfs         rootfs         3.9G  1.9M  3.9G   1% /init
none           devtmpfs       3.9G     0  3.9G   0% /dev
sysfs          sysfs             0     0     0    - /sys
proc           proc              0     0     0    - /proc
devpts         devpts            0     0     0    - /dev/pts
none           tmpfs          3.9G  920K  3.9G   1% /run
none           tmpfs          3.9G     0  3.9G   0% /run/lock
none           tmpfs          3.9G     0  3.9G   0% /run/shm
none           tmpfs          3.9G     0  3.9G   0% /dev/shm
none           tmpfs          3.9G     0  3.9G   0% /run/user
binfmt_misc    binfmt_misc       0     0     0    - /proc/sys/fs/binfmt_misc
tmpfs          tmpfs          4.0M     0  4.0M   0% /sys/fs/cgroup
cgroup2        cgroup2           0     0     0    - /sys/fs/cgroup/unified
cgroup         cgroup            0     0     0    - /sys/fs/cgroup/cpuset
cgroup         cgroup            0     0     0    - /sys/fs/cgroup/cpu
cgroup         cgroup            0     0     0    - /sys/fs/cgroup/cpuacct
cgroup         cgroup            0     0     0    - /sys/fs/cgroup/blkio
cgroup         cgroup            0     0     0    - /sys/fs/cgroup/memory
cgroup         cgroup            0     0     0    - /sys/fs/cgroup/devices
cgroup         cgroup            0     0     0    - /sys/fs/cgroup/freezer
cgroup         cgroup            0     0     0    - /sys/fs/cgroup/net_cls
cgroup         cgroup            0     0     0    - /sys/fs/cgroup/perf_event
cgroup         cgroup            0     0     0    - /sys/fs/cgroup/net_prio
cgroup         cgroup            0     0     0    - /sys/fs/cgroup/hugetlb
cgroup         cgroup            0     0     0    - /sys/fs/cgroup/pids
cgroup         cgroup            0     0     0    - /sys/fs/cgroup/rdma
cgroup         cgroup            0     0     0    - /sys/fs/cgroup/misc
none           overlay        3.9G   72K  3.9G   1% /mnt/wslg/versions.txt
none           overlay        3.9G   72K  3.9G   1% /mnt/wslg/doc
none           tmpfs          3.9G   88K  3.9G   1% /tmp/.X11-unix
drvfs          9p             120G   99G   22G  83% /mnt/c
drvfs          9p             340G   87G  254G  26% /mnt/d
cgroup         cgroup            0     0     0    - /sys/fs/cgroup/systemd
hugetlbfs      hugetlbfs         0     0     0    - /dev/hugepages
mqueue         mqueue            0     0     0    - /dev/mqueue
debugfs        debugfs           0     0     0    - /sys/kernel/debug
tracefs        tracefs           0     0     0    - /sys/kernel/tracing
fusectl        fusectl           0     0     0    - /sys/fs/fuse/connections
/dev/sdc       ext4          1007G  1.4G  955G   1% /snap
snapfuse       fuse.snapfuse  128K  128K     0 100% /snap/bare/5
snapfuse       fuse.snapfuse   73M   73M     0 100% /snap/core22/607
snapfuse       fuse.snapfuse   92M   92M     0 100% /snap/gtk-common-themes/1535
snapfuse       fuse.snapfuse   54M   54M     0 100% /snap/snapd/18933
snapfuse       fuse.snapfuse  151M  151M     0 100% /snap/ubuntu-desktop-installer/967
none           tmpfs          3.9G   88K  3.9G   1% /run/user/1000
snapfuse       fuse.snapfuse   74M   74M     0 100% /snap/core22/864
snapfuse       fuse.snapfuse  132M  132M     0 100% /snap/ubuntu-desktop-installer/1272

Q2.1-介绍一下 df 中常见 Filesystem 和 Type

df命令的输出中,常见的两列是”Filesystem”和”Type”,它们分别表示文件系统和文件系统类型。

下面对它们进行详细介绍:

  1. Filesystem(文件系统)

    • 这一列显示了磁盘空间使用情况的文件系统。

    文件系统是一种组织和存储数据的方法,通常与硬盘或分区相关联。

    在Linux系统中,常见的文件系统包括ext4、ext3、ext2、XFS、Btrfs等。

    • 示例:/dev/sda1tmpfs/dev/sdb1
  2. Type(类型)

    • “Type”列显示了相应文件系统的类型。不同的文件系统有不同的特性和用途。常见的文件系统类型包括:
      • ext2, ext3, ext4:Linux的标准文件系统,分别为第二、第三、第四扩展文件系统。
      • tmpfs:临时文件系统,通常用于存储临时文件。
      • xfs:高性能文件系统,适用于大容量磁盘和文件。
      • btrfs:B-tree文件系统,支持快照和其他先进特性。
      • swap:Linux中用于交换空间的文件系统类型。
      • nfs:网络文件系统,用于在网络上共享文件。
    • 示例:ext4tmpfsxfs

df -T命令中,你可以看到”Filesystem”列的输出还包括文件系统类型,而在df命令的基本输出中,你只会看到文件系统。

这两列的信息对于了解系统中不同文件系统的使用情况和特性都是很有帮助的。

参考资料

Linux df命令