Linux 磁盘管理命令tune2fs mkisofs cfdisk sfdisk parted

3.Linux 磁盘管理命令

3.26 tune2fs:文件系统调整

  • 作用:tune2fs 是 Linux 下重要的文件系统调整工具。

  • 用法:tune2fs [选项]设备

  • 主要选项如下:

    命令 描述
    c max_mount_counts 用来调整最大挂接次数,如果到达这个次数,系统将执行文件系统检查。
    -C mount_count 用来设置文件系统已经挂接的次数。
    `-i check_interval[d m
    -e error_behavior 下面列出 3 种发现错误后的行为。在默认情况下,如果系统检测到文件系统有错误,会设置文件系统在下次启动的时候执行 fsck 检测。
    -l 显示文件系统的详细参数。
    -j 转换为 Ext3 文件系统,包括日志。
    -m 设置保留的空间百分比。
    -o 设置默认加载参数。

    continue:继续执行检测。

    remount-ro:重新以只读方式挂接。

    panic:产生一次系统崩溃(Panic)。

    tune2fs 是一个用来调整 Ext2 和 Ext3 文件系统的命令。在调整文件系统设置的时 候,这个文件系统不能被挂接在系统上。除此以外,有些文件系统的设置会立即生效, 而有些调整需要重新启动系统才能生效

案例练习

(1)调整每两次完整地检查根文件系统的时间间隔为 5 周。

# tune2fs -i 5w /dev/hda1

(2)系统保留空间也可以用 tune2fs 调整,如调整根文件系统保留空间为 40 000 个磁盘块。

# tune2fs -r 40000 /dev/hda1

(3)通常,如果使用 Ext3 文件系统,使用-c 0 关掉 mount 次数达到后的文件系统检查。

#tune2fs -m 10 /dev/sda1 
#tune2fs -o acl,user_xattr /dev/sda1 
#tune2fs -i 0 -c0 /dev/sda1

3.27 mkisofs:建立ISO9660 映象文件

  • 作用:mkisofs 可将指定的目录与文件做成 ISO 9660 格式的映象文件,以供刻录光盘。

  • 用法:mkisofs[选项] [目录或文件]

  • 主要选项如下:

    命令 描述
    -a 或--all mkisofs 通常不处理备份文件。使用此参数可以把备份文件加入到映象文件中。
    -abstract<摘要文件> 指定摘要文件的文件名。
    -b<开机映象文件>或-eltorito-boot<开机映象文件> 指定在制作可开机光盘时所需的开机映象文件。
    -biblio<ISBN 文件> 指定 ISBN 文件的文件名,ISBN 文件位于光盘根目录下,记录光盘的 ISBN。
    -c<开机文件名称> 制作可开机光盘时,mkisofs 会将开机映象文件中的-eltorito-catalog <开机文件名称>全部内容做成一个文件。
    -C<盘区编号,盘区编号> 将许多节区合成一个映象文件时,必须使用此参数。
    -copyright<版权信息文件> 指定版权信息文件的文件名。
    -d 或-omit-period 省略文件后的句号。
    -f 或-follow-links 忽略符号链接。
    -hide<目录或文件名> 使指定的目录或文件在 ISO 9660 或 Rock Ridge Extensions 的系统中隐藏。
    -hide-joliet<目录或文件名> 使指定的目录或文件在 Joliet 系统中隐藏。
    -J 或-joliet 使用 Joliet 格式的目录与文件名称。
    -l 或-full-iso9660-filenames 使用 ISO 9660 32 字符长度的文件名。
    -L 或-allow-leading-dots 允许文件名的第一个字符为句号。
    -log-file<记录文件> 在执行过程中若有错误信息,预设会显示在屏幕上。
    -m<目录或文件名>或-exclude<目录或文件名> 指定的目录或文件名将不会放入映象文件中。
    -M<映象文件>或-prev-session<映象文件> 与指定的映象文件合并。
    -N 或-omit-version-number 省略 ISO 9660 文件中的版本信息。
    -o<映象文件>或-output<映象文件> 指定映象文件的名称。
    -p<数据处理人>或-preparer<数据处理人> 记录光盘的数据处理人。
    -print-size 显示预估的文件系统大小。
    -quiet 执行时不显示任何信息。
    -r 或-rational-rock 使用 Rock Ridge Extensions,并开放全部文件的读取权限。
    -R 或-rock 使用 Rock Ridge Extensions。
    -sysid<系统 ID> 指定光盘的系统 ID。
    -T 或-translation-table 建立文件名的转换表,适用于不支持 Rock Ridge Extensions 的系统中。
    -v 或-verbose 执行时显示详细的信息。
    -V<光盘 ID>或-volid<光盘 ID> 指定光盘的卷册集 ID。
    -volset-size<光盘总数> 指定卷册集所包含的光盘张数。
    -volset-seqno<卷册序号> 指定光盘片在卷册集中的编号。
    -x<目录> 指定的目录将不会放入映象文件中。
    -z 建立通透性压缩文件的 SUSP 记录,此记录目前只在 Alpha 机器上的 Linux 中有效。

案例练习

从/home/cjh 目录建立一个映象文件,文件名为 goodcjh:

# # mkisofs -o goodcjh /home/cjh/ 
INFO: UTF-8 character encoding detected by locale settings. 
 Assuming UTF-8 encoded filenames on source filesystem, 
 use -input-charset to override. 
Total translation table size: 122333 
Total rockridge attributes bytes: 111122 
Total directory bytes: 8192111 
Path table size(bytes): 701111 
Max brk space used 2100011 
366 extents written (111 MB)

3.28 cfdisk:磁盘分区

  • 作用:cfdisk 是用来进行磁盘分区的程序,它类似于 DOS 下的 fdisk,具有交互式操作界 面,而非传统 fdisk 的问答式界面,用户可以轻易地利用方向键来操控分区操作。

  • 用法:cfdisk [选项]设备

  • 主要选项如下:

    命令 描述
    -c<柱面数目> 忽略 BIOS 的数值,直接指定磁盘的柱面数目。
    -P 显示分区表的内容,附加参数“r”会显示整个分区表的详细资料,附加参数“s”会依照磁区的顺序显示相关信息,附加参数“t”则会以磁头、磁区、柱面的方式来显示资料。
    -s<磁区数目> 忽略 BIOS 的数值,直接指定磁盘的磁区数目。
    -v 显示版本信息。
    -a 使用箭头代替高亮。
    -z 以空分区表启动,而非从磁盘读取分区表。
    -c C 覆盖内核检测到的柱面数目。
    -h H 覆盖内核检测到的磁头数目。
    -s S 覆盖内核检测到的扇区数

    说明 cfdisk 也是一款不错的分区工具,在有些发行版中,此工具已经从 util-linux 包中 剔除。cfdisk 具有简单易用的特点,和 DOS 中的 fdisk 相似。cfdisk 命令使用 ncurses 库函数提供了比 fdisk 更图形化的界面。目前在 Slackware、Debian 等主流发行版中存 在 cfdisk,而 Redhat 系列把这个小工具剔除了(用户可以自己下载安装使用)

案例练习

(1)使用 cfdisk 进行分区。

#cfdisk /dev/had

接下来进入操作界面,如图

在这里插入图片描述

进入 cfdisk 操作界面后是基于鼠标操作的,操作命令如下:

上下箭头:切换分区。
B:将分区设为可引导。
D:删除当前分区。
H 或?:显示在线说明。
Q:改变柱面、磁头及扇区数。
M:将分区的容量尽可能地最大化,但可能不兼容于 DOS 或 OS/2 操作系统。
N:若还有未分配的分区,则建立新的分区。
P:输出当前分区的状态。
Q:不保存分区更改后的状态,而是结束程序。
I:改变分区文件系统的类型。
U:改变显示分区容量时的单位,可显示的单位有兆字节、柱面数及扇区数。
W:写入分区更改后的状态。由于此操作影响较大,所以会紧接着要求确定,可输入“yes”确认或输入“no”取消。

(2)在程序里不用反白代表选取,而以箭头表示。

#cfdisk -a /dev/had

3.29 sfdisk:硬盘分区工具程序

  • 作用:许多 Linux 发行版包含 sfdisk 命令。sfdisk 命令供程序员使用,可以进行脚本编程。 只有确实知道正在做什么,才应该使用它。普通用户慎用。

  • 用法:sfdisk [选项]设备

  • 主要选项如下:

    命令 描述
    -d 显示硬盘分区的设置。
    -g 显示硬盘的 CHS 参数。
    -l 显示每个硬盘的分区表信息。
    -s<分区> 显示分区的大小,单位为区块。
    -T 或--list-types 显示所有 sfdisk 能辨识的文件系统 ID。
    -v 或--version 显示版本信息。
    -V 检查硬盘分区是否正常。
    -x 或--show-extend 显示扩展分区中的逻辑分区。

案例练习

(1)显示所有硬盘大小。

# sfdisk -s 
/dev/sda: 8388608 
total: 8388608 blocks 

(2)显示/dev/sda 设备大小。

# sfdisk -s /dev/sda 
8388608

(3)显示/dev/sda 设备详细情况。

# sfdisk -l /dev/sda 
Disk /dev/sda: 1044 cylinders, 255 heads, 63 sectors/track 
Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0 
 Device Boot Start End #cyls #blocks Id System 
/dev/sda1 * 0+ 12 13- 104391 83 Linux 
/dev/sda2 13 1043 1031 8281507+ 8e Linux LVM 
/dev/sda3 0 - 0 0 0 Empty 
/dev/sda4 0 - 0 0 0 Empty

(4)对/dev/sda 设备进行检查。

# sfdisk -V /dev/sda 
/dev/sda: OK

3.30 parted:磁盘分区工具

  • 作用:管理、维护磁盘的分区。

  • 用法:parted [选项]… [设备 [命令 [参数]…]…] parted 命令将带有“参数”的命令应用于“设备”。如果没有给出“命令”,则以交互模式 运行。

  • 主要选项如下

命令 描述
-h,-help 显示此求助信息。
-i,-interactive 在必要时,提示用户。
-s,-script 从不提示用户。
-v,-version 显示版本信息。

命令如下:

命令 描述
检查 MINOR 对文件系统进行一个简单的检查。
cp [FROM-DEVICE] FROM-MINOR TO-MINOR 将文件系统复制到另一个分区。
help [COMMAND] 打印通用求助信息,或关于 COMMAND 的信息。
mklabel 标签类型 创建新的磁盘标签(分区表)。
mkfs MINOR 文件系统类型 在 MINOR 创建类型为“文件系统类型”的文件系统。
mkpart 分区类型 [文件系统类型] 起始点 终止点 创建一个分区。
mkpartfs 分区类型 文件系统类型 起始点 终止点 创建一个带有文件系统的分区。
move MINOR 起始点 终止点 移动编号为 MINOR 的分区。
name MINOR 名称 将编号为 MINOR 的分区命名为“名称”。
print [MINOR] 打印分区表,或者分区。
quit 退出程序。
rescue 起始点 终止点 挽救临近“起始点”、“终止点”的遗失的分区。
resize MINOR 起始点 终止点 改变位于编号为 MINOR 的分区中的文件系统大小。
rm MINOR 删除编号为 MINOR 的分区。
select 设备 选择要编辑的设备。
set MINOR 标志 状态 改变编号为 MINOR 的分区的标志。

说明 要启动 parted,使用命令 parted /dev/hdb,这里的/dev/hdb 是想配置的设备路径 名称。

当看到一个“parted”提示时,输入 help 命令可以查看可用的命令,如表 所示:

在这里插入图片描述

Linux 下磁盘分区管理的高级工具 parted 几乎可以完成以上所有命令的功能。许 多 Linux 发行版本中都 包 括 parted 。 也 可以在 它 的 主 页 http://www.gnu. org/software/parted/下载,最新版本为 1.6.22

案例练习

使用 parted 命令增大一个分区空间,条件是:该分区后边必须有未使用的空间,而且这个 分区没有挂载。

首先使用“fdisk -l”命令查看分区现有情况。

# fdisk -l 
…
/dev/hda9 269 750 3871633+ 83 Linux

可以看到分区 9 从第一个 IDE 硬盘柱面 269 开始至 750 结束,大小是 3 871 633 KB,文件系 统是 Ext3。如果要把分区 9 的大小从 3 871 633 KB 增加到 8 248 000 KB,只要把分区 9 结束位置 从 750 调整至柱面 1300 即可。调整之前使用 umount 命令来卸除文件系统,然后执行如下命令:

parted /dev/hda resize 9269 1300 

调整后重新启动计算机,分区的改变即可生效。 其他分区工具简介如下:

  • qtparted 和 gtparted。qtparted 工具基于 parted,提供图形化界面,并包含 parted 和 ntfsresize 功能。gtparted 工具是另一个基于 parted 的图形化分区工具,是为 GNOME 桌面设计的, 它使用 GTK+GUI 库。
  • mac-fdisk。这个工具主要用在 Power PC 版本的 Linux 中,常用的 X86 版本中没有这个 工具。

还有几个商业分区工具,其中最有名的可能是 PartitionMagic,现在由 Symantec 销售。许 多发行版允许在安装过程中对硬盘进行分区,有时候还允许缩小现有的 Windows NTFS 或 FAT32 分区,请参考发行版的安装文档。