Linux partprobe命令介绍
partprobe
是一个由GNU Parted软件包提供的实用程序,用于通知操作系统内核重新检测指定磁盘分区的大小和布局。当你创建、删除或修改硬盘分区后,partprobe
可以强制内核读取分区表而无需重启系统。
Linux partprobe命令适用的Linux版本
partprobe
命令通常适用于大多数Linux发行版,包括但不限于Ubuntu, Fedora, Debian, CentOS 和 Arch Linux。不过,CentOS 7和CentOS 8在安装工具上略有不同,具体安装命令如下:
CentOS 7
[linux@bashcommandnotfound.cn ~]$ sudo yum install parted
CentOS 8
[linux@bashcommandnotfound.cn ~]$ sudo dnf install parted
在其他基于Debian的系统上,可以使用以下命令安装:
[linux@bashcommandnotfound.cn ~]$ sudo apt-get install parted
Linux partprobe命令的基本语法
语法格式如下:
partprobe [options] [devices...]
Linuxpartprobe命令的常用选项或参数说明
选项 | 说明 |
---|---|
-d, --dry-run | 仅显示将要执行的操作,但实际上不执行 |
-s, --summary | 显示分区表的摘要 |
-h, --help | 显示帮助信息并退出 |
-v, --version | 显示版本信息并退出 |
Linux partprobe
命令实例详解
实例1:刷新所有磁盘的分区表
如果你不确定哪个磁盘的分区表需要刷新,可以运行partprobe
不带任何参数,这将刷新所有磁盘的分区表。
[linux@bashcommandnotfound.cn ~]$ sudo partprobe
实例2:刷新特定磁盘的分区表
当您只想刷新特定磁盘的分区表时,可以指定磁盘设备。
[linux@bashcommandnotfound.cn ~]$ sudo partprobe /dev/sda
实例3:查看将要执行的操作(模拟运行)
在实际刷新分区表之前,你可能想知道partprobe
将执行哪些操作,可以使用--dry-run
选项。
[linux@bashcommandnotfound.cn ~]$ sudo partprobe --dry-run
实例4:显示分区表摘要
有时候你可能想要快速查看分区表的摘要信息,可以使用--summary
选项。
[linux@bashcommandnotfound.cn ~]$ sudo partprobe --summary
实例5:刷新特定分区
如果你只修改了一个磁盘上的特定分区,比如 /dev/sda1
,你可以只刷新这个分区:
[linux@bashcommandnotfound.cn ~]$ sudo partprobe /dev/sda1
这条命令将仅刷新 /dev/sda1
这个分区。
实例6:在脚本中检测partprobe是否成功
在自动化脚本中,你可能需要检测 partprobe
是否成功执行。可以通过检查退出状态码来实现:
[linux@bashcommandnotfound.cn ~]$ sudo partprobe /dev/sda
[linux@bashcommandnotfound.cn ~]$ if [ $? -eq 0 ]; then echo "Partprobe succeeded"; else echo "Partprobe failed"; fi
如果 partprobe
成功执行,退出状态码 ($?
) 将为0,否则非0。
实例7:在创建新分区后使用partprobe
当你使用 fdisk
或 gdisk
创建新分区后,你可以使用 partprobe
使新分区立即可用:
# 假设你已经创建了 /dev/sda3
[linux@bashcommandnotfound.cn ~]$ sudo partprobe /dev/sda
这样你就不需要重启系统来访问新创建的 /dev/sda3
分区。
实例8:查看partprobe版本
有时候了解 partprobe
的版本很重要,尤其是在调试或报告错误时:
[linux@bashcommandnotfound.cn ~]$ partprobe --version
实例9:在使用partprobe前卸载分区
在刷新分区之前,确保分区未被挂载或正在使用。如果需要,可以先卸载它:
[linux@bashcommandnotfound.cn ~]$ sudo umount /dev/sda1
[linux@bashcommandnotfound.cn ~]$ sudo partprobe /dev/sda
首先卸载 /dev/sda1
然后执行 partprobe
。
实例10:结合lsblk使用partprobe查看更新结果
在使用 partprobe
更新分区表后,可以使用 lsblk
查看更新结果:
[linux@bashcommandnotfound.cn ~]$ sudo partprobe /dev/sda
[linux@bashcommandnotfound.cn ~]$ lsblk /dev/sda
lsblk
命令将列出 /dev/sda
的所有分区,包括新刷新的分区。
实例11:使用partprobe和mkfs创建和格式化新分区
如果你创建了一个新分区并且想要格式化它,可以在 partprobe
之后立即使用 mkfs
:
[linux@bashcommandnotfound.cn ~]$ sudo partprobe /dev/sda
[linux@bashcommandnotfound.cn ~]$ sudo mkfs.ext4 /dev/sda3
这将格式化 /dev/sda3
分区为 ext4
文件系统。
实例12:使用partprobe后检查dmesg
有时候,更新分区表后,内核会输出一些消息。使用 dmesg
可以查看这些消息:
[linux@bashcommandnotfound.cn ~]$ sudo partprobe /dev/sda
[linux@bashcommandnotfound.cn ~]$ dmesg | tail
这将显示最新的内核消息,其中可能包含分区更新的相关信息。
Linux partprobe命令的注意事项
- 使用
partprobe
时需要具有root权限,因为它可能会修改内核的分区表。 - 如果执行
partprobe
后发现命令不可用,可能是因为系统中未安装parted
包,你需要按照上面的指引进行安装。 - 在使用
partprobe
之前,请确保没有任何程序正在使用你要操作的分区,否则这可能会导致数据丢失。 - 如果收到
bash: partprobe: command not found
的错误提示,意味着你需要安装parted
包来获取partprobe
命令。 - 在生产环境中使用
partprobe
时应格外小心,因为它可能会影响正在运行的系统和服务。
评论区