AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 775529
Accepted
Jez
Jez
Asked: 2024-04-30 15:54:41 +0800 CST2024-04-30 15:54:41 +0800 CST 2024-04-30 15:54:41 +0800 CST

为什么 df 包含多个 tmpfs 条目?

  • 772

据我所知,这df -a包括“伪、重复和无法访问的文件系统”。这会导致相当多的坐骑被隐藏,例如:

udev             8055632         0   8055632   0% /dev
devpts                 0         0         0    - /dev/pts

-a...除非我通过该选项,否则不会出现。但是,我对未通过时包含的内容感兴趣-a:

Filesystem     1K-blocks      Used Available Use% Mounted on
tmpfs            1624300      3292   1621008   1% /run
/dev/sda1      122485360  12664524 103552780  11% /
tmpfs            8121496     60308   8061188   1% /dev/shm
tmpfs               5120         4      5116   1% /run/lock
/dev/sdb1      460366888 154205092 282702932  36% /home
tmpfs            1624296      1688   1622608   1% /run/user/1000
/dev/sdc2      488282108 324162964 164119144  67% /media/jez/Picard - Main [C]

从我的角度来看,三个“真实”分区是sda1、sdb1、 和 ,sdc2它们指向物理磁盘上的实际分区。如何df决定其默认输出还包括一些其他坐骑;显然tmpfs是?难道不是tmpfs“伪”文件系统吗?

disk-usage
  • 2 2 个回答
  • 182 Views

2 个回答

  • Voted
  1. Best Answer
    Stephen Kitt
    2024-04-30T17:23:12+08:002024-04-30T17:23:12+08:00

    tmpfs不是一个伪文件系统,它是一个将其内容存储在虚拟内存中的真实文件系统。不同之处在于伪文件系统提供其他内容的表示,而真实文件系统直接存储工件。

    重要的是df,伪文件系统无法以通常的方式耗尽存储空间,因为无法直接向其中添加数据。真实的文件系统可能会耗尽存储空间,这才是df真正“关心”的。由于 tmpfs 文件系统可能会填满,因此默认情况下会列出它们。

    • 4
  2. Chris Davies
    2024-04-30T16:21:52+08:002024-04-30T16:21:52+08:00

    (使用 GNU 工作,df因为 POSIX 没有该-a标志。)默认情况下df将显示已安装的具有非零大小的文件系统。

    例子

    df -ah
    
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/root       7.9G  5.6G  2.0G  74% /
    devtmpfs        458M     0  458M   0% /dev
    proc               0     0     0    - /proc
    sysfs              0     0     0    - /sys
    tmpfs           462M  1.1M  461M   1% /dev/shm
    devpts             0     0     0    - /dev/pts
    tmpfs           185M  1.5M  184M   1% /run
    tmpfs           5.0M  8.0K  5.0M   1% /run/lock
    cgroup2            0     0     0    - /sys/fs/cgroup
    systemd-1          -     -     -    - /proc/sys/fs/binfmt_misc
    mqueue             0     0     0    - /dev/mqueue
    sunrpc             0     0     0    - /run/rpc_pipefs
    debugfs            0     0     0    - /sys/kernel/debug
    tracefs            0     0     0    - /sys/kernel/tracing
    fusectl            0     0     0    - /sys/fs/fuse/connections
    configfs           0     0     0    - /sys/kernel/config
    ramfs              0     0     0    - /run/credentials/systemd-sysctl.service
    ramfs              0     0     0    - /run/credentials/systemd-sysusers.service
    ramfs              0     0     0    - /run/credentials/systemd-tmpfiles-setup-dev.service
    /dev/mmcblk0p1   63M   22M   42M  35% /boot
    ramfs              0     0     0    - /run/credentials/systemd-tmpfiles-setup.service
    binfmt_misc        0     0     0    - /proc/sys/fs/binfmt_misc
    tmpfs            93M     0   93M   0% /run/user/1001
    

    默认情况下,大小为零的条目(第二列)将被省略,即这些文件系统:

    Filesystem      Size  Used Avail Use% Mounted on
    proc               0     0     0    - /proc
    sysfs              0     0     0    - /sys
    devpts             0     0     0    - /dev/pts
    cgroup2            0     0     0    - /sys/fs/cgroup
    systemd-1          -     -     -    - /proc/sys/fs/binfmt_misc
    mqueue             0     0     0    - /dev/mqueue
    sunrpc             0     0     0    - /run/rpc_pipefs
    debugfs            0     0     0    - /sys/kernel/debug
    tracefs            0     0     0    - /sys/kernel/tracing
    fusectl            0     0     0    - /sys/fs/fuse/connections
    configfs           0     0     0    - /sys/kernel/config
    ramfs              0     0     0    - /run/credentials/systemd-sysctl.service
    ramfs              0     0     0    - /run/credentials/systemd-sysusers.service
    ramfs              0     0     0    - /run/credentials/systemd-tmpfiles-setup-dev.service
    ramfs              0     0     0    - /run/credentials/systemd-tmpfiles-setup.service
    binfmt_misc        0     0     0    - /proc/sys/fs/binfmt_misc
    

    导致此处显示的默认输出:

    df -h
    
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/root       7.9G  5.6G  2.0G  74% /
    devtmpfs        458M     0  458M   0% /dev
    tmpfs           462M  1.1M  461M   1% /dev/shm
    tmpfs           185M  1.5M  184M   1% /run
    tmpfs           5.0M  8.0K  5.0M   1% /run/lock
    /dev/mmcblk0p1   63M   22M   42M  35% /boot
    tmpfs            93M     0   93M   0% /run/user/1001
    

    这与其文档不一致,来自info和man,其中说,

    不带参数,df报告所有当前安装的文件系统(所有类型)上已使用和可用的空间

    但是也

    -a --all在列表中包含虚拟、重复或无法访问的文件系统,默认情况下会忽略这些系统。

    这在源代码(coreutils,df.c)中得到了证实。以下fsu_blocks是文件系统块的数量,show_all_fs由命令行上明确列出的文件系统设置-a:show_listed_fs

    if (fsu.fsu_blocks == 0 && !show_all_fs && !show_listed_fs)
      return;
    
    • 1

相关问题

  • 如何使用df计算总磁盘空间?

  • 使用 DD 在外部读取器中写入原始磁盘时出现磁盘空间错误?

  • 如何提高磁盘空间使用率?

  • 具有更细粒度的人类可读的“du”

  • 除了完全使用的文件夹之外,“设备上没有剩余空间”的其他原因是什么?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve