厦门市建设厅网站彭州网站建设28pz
Linux sfdisk命令介绍
sfdisk是一个用于编辑硬盘分区表的命令。它与fdisk和cfdisk类似,但具有更多的功能。此外,与这两个程序不同,sfdisk可以非交互式地运行。它通常用于从脚本中对驱动器进行分区,或用于分区表的备份和恢复³。
Linux sfdisk命令适用的Linux版本
sfdisk命令在大多数Linux发行版中都可以使用,包括Debian、Ubuntu、Alpine、Arch Linux、Kali Linux、RedHat/CentOS、Fedora、Raspbian等。如果在某些Linux发行版中无法使用sfdisk命令,可能需要安装相关的软件包。例如,在Debian或Ubuntu上,可以使用以下命令进行安装:
[linux@bashcommandnotfound.cn ~]$ sudo apt-get install util-linux
 
在RedHat/CentOS 7上,可以使用以下命令进行安装:
[linux@bashcommandnotfound.cn ~]$ sudo yum install util-linux
 
在RedHat/CentOS 8上,可以使用以下命令进行安装:
[linux@bashcommandnotfound.cn ~]$ sudo dnf install util-linux
 
Linux sfdisk命令的基本语法
sfdisk命令的基本语法如下:
sfdisk [options] device [ -N partition-number ]
sfdisk [options] command
 
Linux sfdisk命令的常用选项或参数说明
以下是sfdisk命令的一些常用选项:
| 选项 | 说明 | 
|---|---|
| -l | 列出指定设备上的分区 | 
| -s | 显示分区的大小 | 
| -V | 对设备上的分区表进行各种一致性检查 | 
| -N | 创建分区表 | 
Linux sfdisk命令实例详解
以下是一些sfdisk命令的使用实例:
实例1:列出分区
[linux@bashcommandnotfound.cn ~]$ sfdisk -l /dev/sda
 
这个命令会列出/dev/sda设备上的所有分区。
实例2:显示分区大小
[linux@bashcommandnotfound.cn ~]$ sfdisk -s /dev/sda1
 
这个命令会显示/dev/sda1分区的大小。
实例3:检查分区表
[linux@bashcommandnotfound.cn ~]$ sfdisk -V /dev/sda
 
这个命令会对/dev/sda设备上的分区表进行一致性检查。
实例4:创建新的分区表
[linux@bashcommandnotfound.cn ~]$ echo ',,L' | sfdisk /dev/sdb
 
这个命令会在/dev/sdb设备上创建一个新的分区表。
实例5:备份分区表
[linux@bashcommandnotfound.cn ~]$ sfdisk -d /dev/sdb > backup.sfdisk
 
这个命令会备份/dev/sdb设备上的分区表到backup.sfdisk文件。
实例6:恢复分区表
[linux@bashcommandnotfound.cn ~]$ sfdisk /dev/sdb < backup.sfdisk
 
这个命令会从backup.sfdisk文件恢复/dev/sdb设备上的分区表。
实例7:显示分区表的大小
[linux@bashcommandnotfound.cn ~]$ sfdisk -s
 
这个命令会显示所有分区的大小。
实例8:显示分区表的详细信息
[linux@bashcommandnotfound.cn ~]$ sfdisk -l -uM /dev/sdb
 
这个命令会以MB为单位显示/dev/sdb设备上的分区表的详细信息。
实例9:删除分区
[linux@bashcommandnotfound.cn ~]$ echo ',,L' | sfdisk --delete /dev/sdb
 
这个命令会删除/dev/sdb设备上的所有分区。
实例10:调整分区大小
[linux@bashcommandnotfound.cn ~]$ echo ',+100M,L' | sfdisk --resize /dev/sdb
 
这个命令会将/dev/sdb设备上的分区大小调整为100MB。
实例11:移动分区
[linux@bashcommandnotfound.cn ~]$ echo ',+100M,L' | sfdisk --move /dev/sdb
 
这个命令会将/dev/sdb设备上的分区向前移动100MB。
实例12:复制分区表
[linux@bashcommandnotfound.cn ~]$ sfdisk -d /dev/sdb | sfdisk /dev/sdb
 
这个命令会将/dev/sdb设备上的分区表复制到/dev/sdb设备上。
实例13:查看分区类型
[linux@bashcommandnotfound.cn ~]$ sfdisk -l -uM /dev/sdb
 
这个命令会显示/dev/sdb设备上的分区类型。
实例14:改变分区类型
[linux@bashcommandnotfound.cn ~]$ echo ',,L' | sfdisk --change-id /dev/sdb 1 82
 
这个命令会将/dev/sdb设备上的第一个分区的类型改变为82(Linux swap)。
实例15:验证分区表
[linux@bashcommandnotfound.cn ~]$ sfdisk --verify /dev/sdb
 
这个命令会验证/dev/sdb设备上的分区表的一致性。
Linux sfdisk命令的注意事项
sfdisk命令不理解GPT(GUID分区表)格式,也不适用于大分区。在这些情况下,使用更高级的GNU parted。sfdisk命令在创建新的磁盘标签时保护第一个磁盘扇区。sfdisk命令使用BLKRRPART(重新读取分区表)ioctl来确保设备不被系统或其他工具使用。
如果在使用sfdisk命令时遇到bash: sfdisk: command not found错误,可以尝试按照上述方法安装util-linux软件包。
Linux sfdisk相关命令
- fdisk命令:用于磁盘分区
 - gparted命令:图形化磁盘分区编辑工具
 - parted命令:用于创建、组织和删除磁盘分区
 - mkfs命令:用于在分区上创建文件系统
 - lsblk命令:列出所有可用的块设备信息
 - blkid命令:用于查找或显示块设备属性
 - mount命令:用于挂载文件系统
 - umount命令:卸载已经加载的文件系统
 - df命令:报告文件系统的磁盘空间使用情况
 - du命令:查看目录/文件所占用的磁盘空间
 - fsck命令:用于检查和维护文件系统的完整性
 - tune2fs命令:调整可扩展文件系统的参数
 - dumpe2fs命令:用于打印ext2/ext3/ext4文件系统信息
 - wipefs命令:擦除磁盘签名
 - wget命令:非交互式网络下载器
 - tar命令:用于打包和压缩/解压缩文件
 - find命令:用来在指定目录下搜索文件
 - chmod命令:用来更改文件或目录的访问权限
 - chown命令:用于更改文件或目录的拥有者和组
 
