文章目录
- 3.Linux 磁盘管理命令
- 3.26 tune2fs:文件系统调整
- 案例练习
- 3.27 mkisofs:建立ISO9660 映象文件
- 案例练习
- 3.28 cfdisk:磁盘分区
- 案例练习
- 3.29 sfdisk:硬盘分区工具程序
- 案例练习
- 3.30 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 分区,请参考发行版的安装文档。