[ Content contribution] Linux 入门教程(九):文件压缩、打包与磁盘分区
Tofloor
poster avatar
玄圭SwenGway
deepin
2025-01-06 12:34
Author

Linux 入门教程(九):文件压缩、打包与磁盘分区

欢迎来到我们 Linux 教程的新篇章!本节内容超硬核:从文件压缩、打包,到磁盘分区和 swap 配置,一网打尽。我们不仅教你如何操作,还会深入解析背后的机制,帮助你真正理解 Linux 的强大之处!🛠️


一、文件压缩与解压:工具与格式详解

Linux 系统中,压缩与解压是日常操作的重要部分。我们通过几个常见工具来理解各种格式的压缩包是如何生成和解压的。

1. gzip:快速又简单的压缩工具

  • 特点:压缩单个文件,速度快,占用资源少,但压缩率相对一般。

  • 压缩文件

    gzip filename
    

    压缩后生成 filename.gz

  • 解压文件

    gzip -d filename.gz
    
  • 查看压缩率

    gzip -l filename.gz
    

2. bzip2:压缩率更高,但速度略慢

  • 特点:压缩效果更好,适合需要极小体积的场景。

  • 压缩文件

    bzip2 filename
    

    压缩后生成 filename.bz2

  • 解压文件

    bzip2 -d filename.bz2
    

3. zip:跨平台神器

  • 特点:支持多文件压缩,兼容 Windows。
  • 压缩多个文件
    zip archive.zip file1 file2 file3
    
  • 解压压缩包
    unzip archive.zip
    

4. rar:高压缩率,支持分卷压缩

  • 特点:提供分卷压缩功能,适合分片传输。
  • 压缩文件
    rar a archive.rar file1 file2
    
  • 解压压缩包
    rar x archive.rar
    

提示rar 工具需要额外安装,命令如下:

sudo apt install rar unrar

二、什么是打包?Linux 文件打包与压缩的秘密

在 Linux 中,打包和压缩是两回事:

  • 打包:把多个文件或目录合并成一个文件(不压缩体积)。
  • 压缩:将文件体积变小。

使用 tar 打包与压缩

tar 是 Linux 的打包神器,同时支持压缩功能。常用方法有:

  1. 仅打包(不压缩)

    tar -cvf archive.tar file1 file2 file3
    
    • -c:创建打包文件。
    • -v:显示详细信息。
    • -f:指定打包文件名。
  2. 打包并压缩(gzip 格式)

    tar -czvf archive.tar.gz file1 file2 file3
    
    • -z:使用 gzip 压缩。
  3. 打包并压缩(bzip2 格式)

    tar -cjvf archive.tar.bz2 file1 file2 file3
    
    • -j:使用 bzip2 压缩。
  4. 解压与解包

    tar -xzvf archive.tar.gz    # 解压 gzip 压缩包
    tar -xjvf archive.tar.bz2   # 解压 bzip2 压缩包
    

三、dd 命令:数据转移与磁盘操作

dd 是一个功能强大的工具,可以用来复制数据、制作磁盘镜像、备份分区等。

什么是块大小(block size)?

块大小(bs)决定了 dd 命令一次处理的数据量。较大的块大小会提高速度,但会占用更多内存;较小的块大小会更精细,但速度较慢。

1. 制作磁盘镜像

/dev/sda 磁盘的所有内容复制到一个镜像文件中:

dd if=/dev/sda of=/path/to/backup.img bs=4M
  • if(input file):输入设备。
  • of(output file):输出文件。
  • bs=4M:一次处理 4MB 数据块,提升速度。

2. 恢复磁盘镜像

将备份的镜像恢复到硬盘:

dd if=/path/to/backup.img of=/dev/sda bs=4M

3. 清空磁盘

用零填充整个磁盘,彻底清空数据:

dd if=/dev/zero of=/dev/sda bs=1M

fdisk使用教程---

一、什么是 fdisk

fdisk 是 Linux 中用于磁盘分区的经典命令行工具。它支持对硬盘进行分区管理,包括查看磁盘、创建新分区、删除分区、调整分区等操作。

适用场景

  • 配置新硬盘。
  • 重新划分现有磁盘。
  • 修复分区表错误。

二、fdisk 的基本操作

运行以下命令,进入交互式的分区管理界面:

sudo fdisk /dev/sdX
  • /dev/sdX:表示目标磁盘(如 /dev/sda/dev/sdb 等)。

提示:别手抖选错磁盘!运行 sudo fdisk -l 查看所有磁盘,确保你选的是正确的目标设备。


三、fdisk 常用选项与功能详解

进入 fdisk 界面后,你会看到类似这样的提示:

Command (m for help):

输入 m,可以看到所有支持的命令:

Command action
  d   delete a partition
  n   add a new partition
  p   print the partition table
  q   quit without saving changes
  w   write table to disk and exit

以下是常用命令的详解:

  1. p:查看分区表
    显示当前磁盘的分区信息,包括分区编号、大小、类型等。
  2. n:新建分区
    • n:进入创建分区模式。
    • p:选择主分区(primary)。
    • e:选择扩展分区(extended)。
    • 输入分区编号(如 1, 2, 3...)。
    • 指定分区的起始扇区(可以直接按 Enter 使用默认值)。
    • 指定分区的结束扇区或大小(如 +20G 表示分区大小为 20GB)。
  3. d:删除分区
    输入分区编号,删除对应分区。
  4. w:保存并退出
    将更改写入磁盘表并退出 fdisk
  5. q:退出不保存
    丢弃所有未保存的更改。
    注:什么是主分区和扩展分区(逻辑分区)
特性 主分区 逻辑分区
数量限制 最多4个 基本无限制
存储方式 直接存储数据 扩展分区中的一部分
分区号 /dev/sda1-sda4 /dev/sda5及以上
用途 安装系统、存储数据 存储数据
兼容性 旧系统兼容性好 需要扩展分区支持

四、实战演练:创建分区并格式化

1. 查看磁盘信息

首先查看系统中所有磁盘:

sudo fdisk -l

假设新硬盘是 /dev/sdb

2. 启动 fdisk

进入目标磁盘的分区管理界面:

sudo fdisk /dev/sdb

3. 创建一个主分区

fdisk 界面中,按以下步骤操作:

  1. 输入 n,新建分区。
  2. 选择 p,创建主分区。
  3. 输入分区编号(如 1)。
  4. 设置起始扇区(直接按 Enter 使用默认值)。
  5. 设置结束扇区或指定大小(如 +20G)。

4. 查看新分区

输入 p 查看当前分区表。你应该能看到新创建的分区 /dev/sdb1

5. 保存分区表并退出

输入 w 保存分区表并退出 fdisk


五、格式化分区

新建的分区需要格式化为文件系统才能使用。

格式化为 ext4 文件系统

sudo mkfs.ext4 /dev/sdb1

挂载分区

创建一个挂载点:

sudo mkdir /mnt/newdisk

挂载分区:

sudo mount /dev/sdb1 /mnt/newdisk

验证挂载

df -h

你应该能看到 /dev/sdb1 已挂载到 /mnt/newdisk

自动挂载(可选)

编辑 /etc/fstab,使分区开机自动挂载:

sudo nano /etc/fstab

添加以下内容:

/dev/sdb1    /mnt/newdisk    ext4    defaults    0    2

六、扩展:如何设置 Swap 交换分区

创建 Swap 分区

  1. fdisk 创建新的分区(步骤同上)。
  2. 格式化为 Swap 类型:
    sudo mkswap /dev/sdb2
    

激活 Swap 分区

sudo swapon /dev/sdb2

持久化 Swap 分区

/etc/fstab 中添加:

/dev/sdb2    none    swap    sw    0    0

七、注意事项与小贴士

  1. 分区类型
    使用 t 命令可以更改分区类型(如设置为 82 表示 Swap 分区)。
  2. 不要操作系统所在磁盘
    误删或修改系统分区可能导致系统无法启动。
  3. 对数据做好备份
    操作分区前请备份重要数据,以免误操作造成不可恢复的损失。


六、重启系统

完成以上操作后,为了确保所有配置生效,可以重启系统:

sudo reboot

总结

本节教程,我们详细介绍了文件压缩与解压、打包、dd 数据转移、安装新硬盘、分区与格式化,以及 swap 配置。无论是处理文件还是管理磁盘,这些操作都是 Linux 日常使用中的核心技能。希望你能通过这部分内容,进一步感受到 Linux 的强大与灵活!

Reply Favorite View the author
All Replies

No replies yet