linux df

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

参数

  [plaintext]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
文件-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 输出版本资讯并且离开

实战

查看信息

  [plaintext]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$ 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字节为单位的总内存。

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

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

所有信息

  [plaintext]
1
2
3
4
5
6
7
8
9
10
11
12
$ 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命令的详细介绍:

命令格式:

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

常用选项:

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

示例:

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

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

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

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

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

      [bash]
    1
    df --total

输出解释:

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

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

示例输出:

  [plaintext]
1
2
3
4
文件系统 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-实际测试例子

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

  [plaintext]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
$ 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命令