文件系统管理工具
概述
参考
mkfs 与 mke2fs 用于在磁盘设备上创建 LInux 文件系统,也就是将分区格式化。
dumpe2fs 与 xfs_info 是相似的工具,分别对应 ext 和 xfs 文件系统的信息查看
mkfs
参考:
纯 mkfs 已弃用,使用 mkfs.TYPE 来创建指定类型的文件系统而不用 -t 选项了。事实上,mkfs 只是 Linux 下各种 Filesystem Builder(文件系统构建器) 的前端,仅通过 mkfs.TYPE 来调用各种特定于各种文件系统的构建器程序
比如 mkfs.ext4 就相当于调用了 EXT4 文件系统的构建器,即 mke2fs 命令。mkfs 默认调用的是 ext2 的构建器。
mke2fs
参考:
mke2fs 由 mkfs.ext2、mkfs.ext3、mkfs.ext4 调用。
关联文件与配置
/etc/mke2fs.conf # 控制 mke2fs 命令创建 EXT 文件系统时使用的默认参数。这些默认参数值会被命令行参数指定的值覆盖。
简单示例:
有全局默认值,以及为不同文件系统类型设定的默认值。
[defaults]
base_features = sparse_super,filetype,resize_inode,dir_index
blocksize = 4096
inode_size = 256
inode_ratio = 16384
[fs_types]
ext3 = {
features = has_journal
}
ext4 = {
features = extents,flex_bg
inode_size = 256
}
small = {
blocksize = 1024
inode_ratio = 4096
}
floppy = {
features = ^resize_inode
blocksize = 1024
inode_size = 128
}
Syntax(语法)
mke2fs [OPTIONS]
OPTIONS
- -t <FS_TYPE> # 指定文件系统格式
- -b BYTES # 指定 BlockSize,单位 Bytes。该值的有效大小是从 1024 到 65536 之间的 2 的 次幂,且不可以超过系统中 PageSize 的值。绝大多数情况下,
默认值:4096
- -g NUM # 指定 BlocksPerGroup,每个块组中块的数量。建议不要改变,
默认值:32768
- -i BYTES # 指定 BytesPerInode(比率),即 mke2fs 在创建文件系统时,为每块 BytesPerInode 大小的空间创建一个 Inode。比率越大,创建的 inode 越少。通常情况下,
默认值:16384
- 该值通常不能小于文件系统的 BlockSize。通常为每个 16KiB 的空间创建一个 Inode。
- -I BYTES # 指定 InodeSize,单位 Bytes。 InodeSize 的值比如符合如下条件:128 < InodeSize < 128 * 2X
- 大多数文件系统的默认 InodeSize 大小为 256 Bytes,但小型文件系统的 InodeSize 大小为 128 Bytes
- -N NumberOfInodes # 指定最低的 Inode 数量。这将覆盖通过 BytesPerInode 计算出来的 Inode 数量。mke2fs 可以根据最低值推导出其他参数,
mkfs.xfs
参考:
mkfs.xfs 可以构建一个 XFS 类型的文件系统
关联文件与配置
由 -c 命令行选项指定,没有默认的配置文件。mkfs.xfs 可以接收 INI 格式的配置文件
Syntax(语法)
OPTIONS
- -c STRING # 指定要使用的配置文件
dumpe2fs
参考:
转存 ext2/ext3/ext4 文件系统的信息。说白话就是显示指定设备上存在的各种 ext 格式的文件系统的信息(包括 超级块、块组、等 信息)。
Syntax(语法)
dumpe2fs [-bfghimxV] [-o superblock=<num>] [-o blocksize=<num>] DEVICE
OPTIONS
- -h # 仅显示超级块信息,不显示任何块组描述符详细信息。
xfs_info
显示 XFS 文件系统的几何信息
xfs_info 显示有关现有 XFS 文件系统的几何信息。挂载点参数是挂载文件系统的目录的路径名。块设备或文件映像包含原始 XFS 文件系统。文件系统的现有内容不受干扰。
Syntax(语法)
~]# xfs_info /dev/mapper/vg1-root
meta-data=/dev/mapper/vg1-root isize=512 agcount=4, agsize=32735744 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=130942976, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=63937, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
xfs_repair 命令行工具
参考:
xfs_repair
用于修复 XFS 文件系统。
df
参考:
查看文件系统的容量使用情况
默认显示的单位是 KiB。
Syntax(语法)
df [OPTIONS]… [FILE]…
OPTIONS
- -h, –human-readable # 以人类可读的方式输出信息。磁盘容量以 1024 为除数。效果如下:
- -i, –inodes # 列出 inode 信息
- -T, –print-type # 输出文件系统类型
- -t, –type <TYPE> # 仅列出指定类型的文件系统。(文件系统类型可以通过 -T 选项看到)
EXAMPLE
- df -h / # 以人类易读的方式显示挂载在 / 下的信息,可以显示容量是 M 还是 G 还是 K
du
参考:
查看文件系统下当前目录以及子目录的容量
Syntax(语法)
OPTIONS
- -a # 包括目录下的文件大小也一起显示
- -s # 仅列出当前目录的容量总计,不显示子目录
- -h # 把容量大小转换为人类易读的格式
- -d, –maxdepth <NUM> # 仅列出目录深度 1 层的信息,即当前目录下的目录的大小,不往下列出子目录
- –exclude=PATTERN # 排除 匹配到的文件
EXAMPLE
- du -d 1 | sort -rn | head -n 2 # 列出不含子目录的当前目录下的目录大小,并以数字进行降序排列,且只显示前两行
常见问题
df -h 中 Used + Avail != Size
]# df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 795M 1.5M 794M 1% /run
/dev/vda4 252G 12G 241G 5% /
https://blog.51cto.com/weili163/1738183
比 du 更快的工具
ncdu
参考:
sn
参考:
Syntax(语法)
sn <SUBCOMMAND>
sn 工具完全通过子命令来执行具体操作
SUBCOMMAND
- sort #
OPTIONS:
- -d, –depth <NUMBER> # 目录深度
EXAMPLE
- 显示根目录下一层深度的容量大小,并排序
- sn sort -d 1 /
erdtree
参考:
反馈
此页是否对你有帮助?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.