Linux resize 命令用来调整文件系统的大小,它可以扩大或缩小已有的分区大小,并且支持多种文件系统,如ext2、ext3、ext4、XFS等。通过resize命令,可以对文件系统进行在线调整,重启系统,避免了系统停机时间长的问题。同时,该命令还能够保护文件系统数据的完整性,数据不会丢失或损坏。
命令名称
resize
命令功能
用于调整终端的大小,可以用于适配不同分辨率的屏幕。
命令全称
resize - set environment and terminal settings to current xterm window size
命令语法
resize [-su] [-c columns] [-r rows] [-C]
resize [-su] [-c columns] [-r rows] [-C] #[English]
命令参数
resize2fs -p #调整ext2/ext3/ext4文件系统大小并打印进度条信息
resize2fs -M #将文件系统缩小到小可能大小
resize2fs -f #强制执行调整文件系统大小,忽略信息
resize2fs -d #调试模式运行resize2fs命令,打印调试信息
resize2fs -t #指定调整文件系统大小的目标大小,单位为千字节
resize2fs -s #支持系统挂载时调整文件系统大小
resize2fs -c #在文件系统大小有变化时才会执行调整大小
resize2fs -S #使用稀疏文件来调整文件系统大小
resize2fs -e #启用文件系统扩展性,支持大于2TiB的文件系统
resize2fs -y #回答“是”来确认是否调整文件系统大小
resize2fs -n #不调整文件系统大小,打印调整后的文件系统大小信息
命令原理
Linux resize 命令是通过改变文件系统中的大小来改变硬盘分区大小。它使用磁盘管理工具来查看分区和文件系统的大小,然后对它们进行修改。在实际操作中,resize 命令通常会首先将文件系统的大小扩大或缩小,然后再调整分区的大小来适配新的文件系统大小。这种方式避免了数据丢失和文件系统损坏的风险。
用法举例
#用于在线调整ext2/ext3/ext4文件系统的大小
resize2fs
#用于在线调整逻辑卷(logical volume)的大小
lvresize
#用于调整磁盘分区大小
fdisk
#用于创建、删除、调整磁盘分区大小
parted
#图形化的磁盘分区管理工具,可用于调整分区大小
gparted
#类似fdisk,但提供了更友好的图形化界面,用于调整分区大小
cfdisk
#用于通知操作系统重新扫描分区表,以使调整后的分区大小生效
partprobe
#逻辑卷管理工具,可用于创建、删除、调整逻辑卷的大小
lvm
#用于调整btrfs文件系统的大小
btrfs filesystem resize
#用于在线调整xfs文件系统的大小。
xfs_growfs
执行权限
所有用户都可以执行。
系统路径
/usr/bin/resize
注意事项
若没有指定选项,则此命令会根据当前窗口大小调整终端。
系统自带
是
常用命令
否
命令分类
终端命令
参数详解
-p
显示进度条
#将/dev/sda1分区大小扩大并显示进度条
sudo resize2fs -p /dev/sda1
#该命令将显示/dev/sda1分区文件系统缩小的操作过程。
resize2fs -p /dev/sda1
#该命令将对/dev/sda1分区进行扩容操作,并显示扩展进度信息。
resize -p /dev/sda1
-f
强制执行
#强制将/dev/sda1分区大小扩大
sudo resize2fs -f /dev/sda1
#该命令将强制执行/dev/sda1分区文件系统的大小更改,即使该文件系统已被标记为“已清理”。
resize2fs -f /dev/sda1
#该命令将强制执行/dev/sda1分区的大小更改。
resize -f /dev/sda1
-M
缩小到小尺寸
#将/dev/sda1分区大小缩小到小尺寸
sudo resize2fs -M /dev/sda1
#该命令将/dev/sda1分区的文件系统缩小至其小尺寸。
resize2fs -M /dev/sda1
-s
显示操作结果的摘要
#将/dev/sda1分区大小扩大并显示操作结果的摘要
sudo resize -s /dev/sda1
-d debugfs
将调试消息发送到debugfs。
#该命令将发送调试消息到/dev/sda1分区的debugfs。
resize2fs -d /dev/sda1
-S
尝试优化磁盘空间的使用。
#尝试优化/dev/sda1文件系统的磁盘空间使用。
resize2fs -S /dev/sda1
#将/dev/sda1文件系统的块大小设置为4096字节。
resize2fs -S 4096 /dev/sda1
-F
即使文件系统标记为错误,也尝试调整大小。
#即使文件系统标记为错误,也尝试调整/dev/sda1文件系统的大小。
resize2fs -F /dev/sda1
-d
打印出对文件系统的调整操作
#该命令将对/dev/sda1分区进行扩容操作,并打印出对文件系统的调整操作信息。
resize2fs -d /dev/sda1
#该命令将对/dev/sda1分区进行扩容操作,并打印出对文件系统的调整操作信息。
resize -d /dev/sda1
-t
指定文件系统类型
#将sda1分区上的ext4文件系统进行扩容操作
resize2fs -t ext4 /dev/sda1
-P
预览文件系统状况
#预览sda1分区上的文件系统扩容前的状况
resize2fs -P /dev/sda1
-d debug_flag
开启调试模式
#开启/dev/sda1分区resize的调试模式,输出debug级别为3的信息。
resize2fs -d 3 /dev/sda1
-c
检查文件系统是否有错误
#该命令会检查/dev/sda1文件系统是否有错误,如果没有错误,则可以继续使用resize2fs命令进行扩展或缩小分区。
resize2fs -c /dev/sda1
-S 1024
指定使用的块大小。
#将/dev/sda2文件系统的块大小设置为1024字节。
resize2fs -S 1024 /dev/sda2
-S 2048
指定使用的块大小。
#将/dev/sdb1文件系统的块大小设置为2048字节。
resize2fs -S 2048 /dev/sdb1
-S 8192
指定使用的块大小。
#将/dev/sdb2文件系统的块大小设置为8192字节。
resize2fs -S 8192 /dev/sdb2
-S 4096
指定使用的块大小。
#将/dev/sdc1文件系统的块大小设置为4096字节。
resize2fs -S 4096 /dev/sdc1
-e
打开ext4文件系统中的extents性
#打开ext4文件系统中的extents性并扩展/dev/sda1分区大小。
resize2fs -e /dev/sda1
-n
不进行实际的文件系统扩展操作,而是模拟扩展结果并报告出来
#此命令会模拟/dev/sda1文件系统的扩展情况,并报告扩展后的结果,但不会真正对文件系统进行扩展操作。
resize2fs -n /dev/sda1
命令报错原因
* 文件系统没有被卸载;
* 磁盘空间不足;
* 分区表被破坏;
* 分区被锁定;
* 需要重启计算机才能使更改生效;
* 需要在只读模式下进行操作;
* 文件系统类型不支持在线分区扩展;
* 分区正在被使用,无法进行操作;