目录
内容来源:
GUN : Coreutils - GNU core utilities
busybox v1.36.1 : 【busybox记录】【shell指令】基于的Busybox的版本和下载方式-CSDN博客
【GUN】【df】指令介绍
df:报告文件系统空间使用情况
df 报告文件系统上已使用和可用的空间量。
简介:
df [option]... [file]...
在不带参数的情况下,df报告所有当前挂载的文件系统(所有类型)上使用的和可用的空间。否则,df报告包含每个参数文件的文件系统。
通常以1024字节为单位打印空间,但这可以被覆盖(参见第2.2节[块大小],第3页)。非整数数量四舍五入到下一个更高的单位。
对于绑定挂载且不带参数,df只输出文件系统列表(mtab)中具有最短挂载点名称的设备的统计信息,也就是说,它隐藏重复条目,除非指定了-a选项。
使用相同的逻辑,如果在该挂载点上有另一个具有相同设备编号的真实块设备的挂载条目,则df会忽略虚拟伪设备的挂载条目,例如,当已经挂载了真正的根设备时,默认情况下不会显示早期引导伪文件系统' rootfs '。
如果一个参数文件解析到一个包含挂载文件系统的特殊文件,df将显示该文件系统上的可用空间,而不是包含设备节点的文件系统上的可用空间。GNU df并不试图确定未挂载的文件系统上的用法,因为在大多数类型的系统上,这样做需要对文件系统结构有非常不可移植的深入了解。
程序接受以下选项。请参见第2章[常用选项],第2页。
‘-a’
‘--all’
在清单中包括虚拟的、重复的或不可访问的文件系统,它们在默认情况下被省略。虚拟文件系统通常是特殊用途的伪文件系统,如' /proc ',没有关联的存储。重复文件系统是挂载在本地文件层次结构中不同位置或绑定挂载位置的本地或远程文件系统。不可访问的文件系统是指那些已经挂载但随后被另一个文件系统挂载的文件系统,或者由于挂载点的权限等原因无法访问的文件系统。
‘-B size’
‘--block-size=size’
在打印它们之前按大小缩放大小(参见第2.2节[块大小],第3页)。例如,-BG以1,073,741,824字节为单位打印大小。
‘-h’
‘--human-readable’
在每个大小后面附加一个大小字母,例如“M”表示mebibytes。使用1024的幂,而不是1000;' M '代表1,048,576字节。这个选项相当于——block-size=human-readable。如果您喜欢1000的幂,请使用——si选项。
‘-H’
等于 --si。
‘-i’
‘--inodes’
列出索引节点使用信息,而不是块使用情况。inode(索引节点的简称)包含有关文件的信息,例如文件的所有者、权限、时间戳和文件系统上的位置。
‘-k’
以1024字节的块打印大小,覆盖默认的块大小(参见2.2节[块大小],第3页)。这个选项相当于——block-size=1K。
‘-l’
‘--local’
将列表限制为本地文件系统。默认情况下,还会列出远程文件系统。
‘--no-sync’
在获得任何使用数据之前,不要调用同步系统调用。这可能会使df在具有许多文件系统的系统上运行得更快,但在某些系统(特别是Solaris)上,结果可能会有点过时。这是默认值。
‘--output’
‘--output[=field_list]’
使用字段列表定义的输出格式,如果省略字段列表,则打印所有字段。在后一种情况下,列的顺序与下面字段描述的顺序一致。
--output与选项-i、-P和-T一起使用是互斥的。
FIELD LIST是一个逗号分隔的列列表,将包含在df的输出中,因此可以有效地控制输出列的顺序。因此,每个字段可以在选择的位置使用,但必须只使用一次。
字段列表中有效的字段名是:
‘source’ 挂载点的源,通常是一个设备。
‘fstype’ 文件系统类型。
‘itotal’ 节点总数。
‘iused’ 已使用的索引节点数。
‘iavail’ 可用索引节点数。
‘ipcent’ 使用的百分比除以总数。
‘size’ 块总数。
‘used’ 已使用的块数。
‘avail’ 可用块的数目。
‘pcent’ 使用的百分比除以大小。
‘file’ 在命令行中指定的文件名。
‘target’ 挂载点。
块和索引节点统计信息的字段通常会受到-h等缩放选项的影响。
字段列表的定义甚至可以在几个输出使用中分开。
#!/bin/sh
#打印目标(即挂载点)及其百分比
# statistic关于block和inode的信息。
df --out=target --output=pcent,ipcent
#打印所有可用字段。
df --o
‘-P’
‘--portability’
使用POSIX输出格式。除了以下内容之外,这与默认格式类似:
1. 每个文件系统的信息总是精确地打印在一行上;挂载设备永远不会单独放在一条线上。这意味着,如果挂载设备名称长度超过20个字符(例如,对于某些网络挂载),列将不对齐。
2. 标头输出行中的标签被更改为符合POSIX。
3. 默认块大小和输出格式不受DF_BLOCK_SIZE, BLOCK_SIZE和BLOCKSIZE环境变量的影响。但是,默认的块大小仍然受POSIXLY_CORRECT的影响:如果设置了POSIXLY_CORRECT,则为512,否则为1024。参见第2.2节[块大小],第3页。
‘--si’
在每个大小后面附加一个si样式的缩写,例如“M”表示兆字节。这里使用的是1000的幂,而不是1024;' M '代表1,000,000字节。这个选项相当于——block-size=si。如果您喜欢1024的幂,请使用-h或——human-readable选项。
‘--sync’
在获取任何使用数据之前调用同步系统调用。在某些系统上(特别是Solaris),这样做会产生更多的最新结果,但通常这个选项会使df慢得多,特别是当有许多文件系统或非常繁忙的文件系统时。
‘--total’
在处理完所有参数后,打印所有参数的总和。
这可以用来找出所有列出的设备的总大小、使用情况和可用空间。如果没有指定参数,df将通过抑制重复的远程文件系统,更努力地删除对总可用空间不重要的文件系统。
对于grand total行,df将' total '打印到源列,并将' - '打印到目标列。如果没有源列(参见——output),那么df将‘total’打印到目标列(如果存在)中。
‘-t fstype’
‘--type=fstype’
将清单限制为fstype类型的文件系统。可以通过提供多个-t选项来指定多个文件系统类型。默认情况下,不省略任何内容。
‘-T’
‘--print-type’
打印每个文件系统的类型。这里打印的类型与您可以使用-t和-x包含或排除的类型相同。打印的特定类型是系统支持的任何类型。下面是一些常见的名字(这个列表当然不是详尽无遗的):
‘nfs’
NFS文件系统,即从另一台机器通过网络挂载的文件系统。这是一个似乎被所有系统统一使用的类型名称。
‘ext2, ext3, ext4, xfs, btrfs...’
本地挂载设备上的文件系统。(系统甚至可能支持不止一种类型;GNU / Linux。)
‘iso9660, cdfs’
CD或DVD驱动器上的文件系统。HP-UX使用' cdfs ',大多数其他系统使用' iso9660 '。
‘ntfs,fat’
MS-Windows / MS-DOS使用的文件系统。
‘-x fstype’
‘--exclude-type=fstype’
将列表限制为非fstype类型的文件系统。可以通过提供多个-x选项来消除多个文件系统类型。缺省情况下,不省略任何文件系统类型。
‘-v’
忽略;以与System V版本的df兼容。
df 只安装在具有可用挂载表的系统上,因此可移植脚本不应该依赖于它的存在。
退出状态为0表示成功,非0表示失败。失败包括没有生成输出的情况,因此您可以检查像' df -t ext3 -t reiserfs dir '这样的命令的退出状态,以测试dir是否位于类型为' ext3 '或' reiserfs '的文件系统上。
由于需要文件系统列表(mtab)来确定文件系统类型,因此失败包括无法读取该列表以及一个或多个选项-a、-l、-t或-x与文件名参数一起使用的情况。
【busybox】【df】指令介绍
[root@localhost bin]# ./df --h
./df: unrecognized option '--h'
BusyBox v1.36.1 (2024-04-16 11:16:28 EDT) multi-call binary.
Usage: df [-PkmhTai] [-B SIZE] [-t TYPE] [FILESYSTEM]...
Print filesystem usage statistics
-P POSIX output format
-k 1024-byte blocks (default)
-m 1M-byte blocks
-h Human readable (e.g. 1K 243M 2G)
-T Print filesystem type
-t TYPE Print only mounts of this type
-a Show all filesystems
-i Inodes
-B SIZE Blocksize
【linux】【df】指令介绍
[root@localhost bin]# df --help
用法:df [选项]... [文件]...
Show information about the file system on which each FILE resides,
or all file systems by default.
必选参数对长短选项同时适用。
-a, --all include pseudo, duplicate, inaccessible file systems
-B, --block-size=SIZE scale sizes by SIZE before printing them; e.g.,
'-BM' prints sizes in units of 1,048,576 bytes;
see SIZE format below
--direct show statistics for a file instead of mount point
-h, --human-readable print sizes in powers of 1024 (e.g., 1023M)
-H, --si print sizes in powers of 1000 (e.g., 1.1G)
-i, --inodes 显示inode 信息而非块使用量
-k 即--block-size=1K
-l, --local 只显示本机的文件系统
--no-sync 取得使用量数据前不进行同步动作(默认)
--output[=FIELD_LIST] use the output format defined by FIELD_LIST,
or print all fields if FIELD_LIST is omitted.
-P, --portability use the POSIX output format
--sync invoke sync before getting usage info
--total elide all entries insignificant to available space,
and produce a grand total
-t, --type=TYPE limit listing to file systems of type TYPE
-T, --print-type print file system type
-x, --exclude-type=TYPE limit listing to file systems not of type TYPE
-v (ignored)
--help 显示此帮助信息并退出
--version 显示版本信息并退出
所显示的数值是来自 --block-size、DF_BLOCK_SIZE、BLOCK_SIZE
及 BLOCKSIZE 环境变量中第一个可用的 SIZE 单位。
否则,默认单位是 1024 字节(或是 512,若设定 POSIXLY_CORRECT 的话)。
The SIZE argument is an integer and optional unit (example: 10K is 10*1024).
Units are K,M,G,T,P,E,Z,Y (powers of 1024) or KB,MB,... (powers of 1000).
FIELD_LIST is a comma-separated list of columns to be included. Valid
field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent',
'size', 'used', 'avail', 'pcent', 'file' and 'target' (see info page).
GNU coreutils 在线帮助:<https://www.gnu.org/software/coreutils/>
请向 <http://translationproject.org/team/zh_CN.html> 报告 df 的翻译错误
完整文档请见:<https://www.gnu.org/software/coreutils/df>
或者在本地使用:info '(coreutils) df invocation'
使用示例:
使用后记录