3.Linux 磁盘管理命令

3.13 mkswap:建立交换分区

  • 作用:设置交换区(swap area)。

  • 用法:mkswap [选项] [设备名称或文件] [交换区大小]

  • 主要选项如下:

    命令 描述
    -c 建立交换区前,先检查是否有损坏的区块。
    -f 在 SPARC 计算机上建立交换区时,要加上此参数。
    -v0 建立旧式交换区,此为预设值。
    -v1 建立新式交换区。
    [交换区大小] 指定交换区的大小,单位为 1024 字节。

    mkswap 可将磁盘分区或文件设为 Linux 的交换区。在一个文件或者设备上建立 交换区,在建立完之后要使用 swapon 指令开始使用这个交换区。最后一个选择性参 数指定了交换区的大小,但是这个参数是为了后向兼容设置的,没有使用的必要。一 般都将整个文件或设备作为交换区。

案例练习

指定一个设备作为交换区

# mkswap -c -v1 -L swapnew /dev/hda3 

3.14 swapon:使用交换空间

  • 作用:swapon 命令用于激活 Linux 系统中的交换空间,Linux 系统的内存管理必须使用交 换区来建立虚拟内存。

  • 用法:swapon [选项] [<指定>]

  • 主要选项如下:

    命令 描述
    -a,--all 启用/etc/fstab 中的所有交换区。
    -d,--discard 在释放的页重新使用前忽略它们。
    -e,--ifexists 直接跳过不存在的设备。
    -f,--fixpgsz 需要时重新初始化交换空间。
    -p,--priority<prio> 指定交换设备的优先级为<prio>。
    -s,--summary 显示已使用交换设备的摘要。
    --show[=<列>] 定义所显示摘要表格中的列。
    --noheadings 不打印标题,与--show 一起使用。
    --raw 使用原生输出格式,与--show 一起使用。
    --bytes 在--show 选项输出中以字节显示交换区大小。
    -v,--verbose 详尽模式。
    -h,--help 显示此帮助并退出。
    -V,--version 输出版本信息并退出。

    <spec>参数如下:

    命令 描述
    -L<标签> 同 LABEL=<标签>。
    -U<uuid> 同 UUID=<uuid>。
    LABEL=<标签> 按交换区标签指定设备。
    UUID=<uuid> 按交换区 UUID 指定设备。
    PARTLABEL=<标签> 按分区标签指定设备。
    PARTUUID=<uuid> 按分区 UUID 指定设备。
    <设备> 要使用设备的名称。
    <文件> 要使用文件的名称。

    可用列(用于--show)如下:

    命令 描述
    NAME 设备文件或分区路径。
    TYPE 设备的类型。
    SIZE 交换区大小。
    USED 已使用字节数。
    PRIO 交换优先级。

案例练习

(1)创建大小为 512MB 的交换文件

# dd if=/dev/zero of=/swapfile1 bs=1024 count=524288 [root@linux ~]

(2)使用 mkswap 命令设置交换文件

# mkswap /swapfile1 
# 启用交换分区
# swapon /swapfile1 

3.15 swapoff:关闭系统交换分区

  • 作用:swapoff 命令用于关闭交换分区,swapon 命令用于打开交换分区。

  • 用法:swapoff [选项] [<指定>]

  • 主要选项如下:

    命令 描述
    -a,--all 禁用/proc/swaps 中的所有交换区。
    -v,--verbose 显示详细输出信息。
    -h,--help 显示此帮助并退出。
    -V,--version 输出版本信息并退出。

    <指定>参数主要有如下几个:

    命令 描述
    -L<标签> 要使用设备的标签。
    -U<uuid> 要使用设备的 UUID。
    LABEL=<标签> 要使用设备的标签。
    UUID=<uuid> 要使用设备的 UUID。
    <设备> 要使用设备的名称。
    <文件> 要使用文件的名称。

案例练习

关闭交换分区

# swapoff /dev/sda2 

3.16 sync:写入磁盘

  • 作用:将内存缓冲区内的数据写入磁盘。

  • 用法:sync

    说明 在 Linux 系统中,当数据需要存入磁盘时,通常会先放到缓冲区内,等到适当的 时刻再写入磁盘,如此可提高系统的执行效率。本命令无参数。

3.17 e2label:设置卷标

  • 作用:设定或显示 Ext2 或 Ext3 分区的卷标。

  • 用法:e2label device [new-label]

  • 主要选项如下:

    命令 描述
    device 分区设备名称。
    new-label 新设定的卷标名称,不能超过 16 个字符。

案例练习

为一个新创建的分区建立卷标名称 goodcjh。

#e2label /dev/hda9 goodcjh

3.18 badblocks:检查磁盘

  • 作用:检查磁盘中损坏的区块。

  • 用法:badblocks [选项] device [last_block [start_count]

  • 主要选项如下:

    命令 描述
    -b block_size 指定磁盘的区块大小,单位为字节。
    -i input_file 读出上次检查结果中的坏块列表。
    -o output_file 将检查的结果写入指定的输出文件。
    -s 在检查时显示进度。
    -v 在执行时显示详细的信息。
    -w 在检查时执行写入测试。
    -c blocks_at_once 每个区块检查的次数,默认值为 16 次。
    -p num_passes 通过的数量,默认值为 0。
    start_count 指定要从哪个区块开始检查。
    last_block 指定结束检查的区块。
    device 指定要检查的磁盘装置。

案例练习

**以 4096 字节的一个区块(Block)为例,每个区块检查 16 次,将结果输入 badblocks-list (badblocks-list 是一个文本文件)**。

#badblocks -b 4096 /dev/hda1 -o badblocks-list

如果硬盘正常的话,badblocks-list 中应该是没有任何内容的。