fdisk命令说明

 

    fdisk是linux下的磁盘分区工具,能划分磁盘成为若干个区,同时也能为每个分区指定文件系统,比如linux、fat32、linux、linux swap、fat16格式等;
    当然我们用fdisk对磁盘分区后,还要使用mkfs命令对分区进行格式化才能挂载使用。
硬盘分区的表示:
在Linux 是通过hd*x或sd*x表示的,其中“*”表示的是a、b、c等等;x表示的数字 1、2、3等等;hd是IDE硬盘;sd是SCSI或移动存储。


# fdisk -l
Disk /dev/hda: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1         829     6658911    b  W95 FAT32
/dev/hda2             830       14593   110559330    f  W95 Ext'd (LBA)
/dev/hda5             830        3506    21502971    7  HPFS/NTFS
/dev/hda6            3507        4811    10482381   83  Linux
/dev/hda7            4812        4942     1052226   82  Linux swap
/dev/hda8            4943        6217    10241406   83  Linux
… …

Start
表示的一个分区从X cylinder(磁柱)开始;
End
表示一个分区到 Y cylinder(磁柱)结束;
id,System
表示分区类型,分区时通过指定id来确认分区类型,fdisk中通过t指定。
Blocks
分区的容量。


     通过“fdisk –l”可以查看机器所挂硬盘及分区情况。这个硬盘是120G的,有255个磁面;63个扇区;9729个柱面;每个 cylinder(柱面)的容量是 8225280 bytes。hda有两个主分区(包括扩展分区),分别是主分区 hda1和hda2(扩展分区);hda5以后是逻辑分区。硬盘总容量为主分区(包括扩展分区)总容量,而扩展分区为逻辑分区总容量之和。因此,通过上面的例子,我们可以得知 hda=hda1+hda2,其中hda3=hda5+hda6+hda7+hda8+... ...。


fdisk交互式分区操作


# fdisk /dev/sda
Command (m for help): m
Command action
   a toggle a bootable flag              //标识 /勾销 引导分区 
   b edit bsd disklabel
   c toggle the dos compatibility flag
   d delete a partition                     //删除一个分区
   l list known partition types            //列出分区类型
   m print this menu                     //列出帮助信息
   n add a new partition                 //添加一个分区
   o create a new empty DOS partition table
   p print the partition table             //列出分区表
   q quit without saving changes         //不保存退出
   s create a new empty Sun disklabel
   t change a partition's system id         //改变分区类型
   u change display/entry units
   v verify the partition table
   w write table to disk and exit         //把分区表写入硬盘并退出
   x extra functionality (experts only)     //扩展功能

### 解决方案 如果在 Linux 中遇到 `fdisk` 命令未找到的问题,通常是因为系统的环境变量 PATH 中缺少该命令所在的路径。以下是可能的原因以及解决方案: #### 可能原因分析 1. **工具未安装** 如果系统中没有安装 `util-linux` 软件包,则可能导致 `fdisk` 工具不可用[^3]。 2. **PATH 环境变量配置错误** 即使 `fdisk` 存在于系统中,但如果其可执行文件所在目录不在当前用户的 PATH 环境变量中,也会导致命令未被识别[^2]。 3. **权限不足** 部分情况下,用户可能无权访问某些二进制文件或设备节点,这同样会导致类似的错误消息[^4]。 --- #### 解决策略 ##### 方法一:确认并安装 util-linux 包 可以通过以下方式验证是否已安装 `util-linux` 并包含 `fdisk`: ```bash which fdisk ``` 如果没有返回任何结果,说明尚未安装此软件包。可以尝试通过包管理器重新安装它: 对于基于 Debian 的发行版(如 Ubuntu),运行: ```bash sudo apt update && sudo apt install util-linux ``` 对于基于 Red Hat 的发行版(如 CentOS 或 Fedora),运行: ```bash sudo yum install util-linux ``` 完成上述操作后再次测试 `fdisk` 是否可用。 ##### 方法二:手动指定完整路径调用 即使 `fdisk` 安装完毕但仍无法直接使用,可能是由于 PATH 设置不正确所致。此时可以直接定位到实际位置来运行程序。例如,在大多数标准 GNU/Linux 发行版本上,默认位于 `/sbin/fdisk` 下面。因此可以用如下形式强制启动: ```bash /sbin/fdisk --version ``` 如果能够成功打印版本号,则表明只是 PATH 出现了问题而已。接着考虑将其加入全局搜索范围之内或者单独设置临时生效的 shell session 参数即可解决问题。 ##### 方法三:调整 PATH 环境变量 为了永久修正这个问题,编辑个人登录脚本 ~/.bashrc 文件添加额外目录至现有列表之后保存退出再刷新一次使之立即起效: ```bash export PATH=$PATH:/sbin/:/usr/sbin/ source ~/.bashrc ``` 这样以后就不必每次都输入完整的绝对地址也能正常使用这些高级别的实用功能啦! --- ### 总结 综上所述,当面对 “command not found” 类型的错误时,应先排查是否有对应的应用已被预置好却因各种因素未能正常加载的情况发生;然后再依据具体情形采取针对性措施加以修复处理就好咯~
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值