温馨提示×

Linux分卷如何学习

小樊
51
2025-10-05 11:29:06
栏目: 智能运维

Linux分卷学习指南:涵盖磁盘分区与文件分卷两大部分

Linux中的“分卷”主要有两个核心方向:一是磁盘分区(物理/逻辑卷划分),二是文件/目录分卷(压缩包分割)。以下从基础概念、操作步骤、实用技巧及注意事项展开,帮助你系统学习。

一、磁盘分区(物理/逻辑卷划分)

磁盘分区是将物理磁盘划分为多个逻辑区域的过程,适用于需要独立管理存储空间的场景(如划分系统盘、数据盘)。常用工具包括fdisk(命令行,适合传统分区)、parted(命令行,支持大磁盘)、GParted(图形界面,适合新手)。

1. 基础操作步骤

(1)查看当前磁盘分区情况

使用fdisk -l命令列出所有磁盘及其分区信息,明确目标磁盘(如/dev/sdb):

sudo fdisk -l

输出会显示磁盘大小、已分区情况及文件系统类型。

(2)使用fdisk创建分区(以/dev/sdb为例)
  • 运行命令进入交互式界面:
    sudo fdisk /dev/sdb
    
  • 输入n创建新分区,依次选择:
    • 分区类型(主分区p/扩展分区e,通常选主分区);
    • 分区号(默认1,按回车);
    • 起始扇区(默认,按回车);
    • 结束扇区/大小(如+10G表示10GB,或直接输入数值);
  • 输入w保存更改并退出。
(3)使用parted创建分区(更灵活)
  • 启动parted:
    sudo parted /dev/sdb
    
  • 输入mkpart命令,指定分区类型、起始位置和结束位置(如创建10GB主分区):
    mkpart primary ext4 0% 100%
    
  • 输入quit退出。
(4)格式化分区

创建分区后,需格式化为文件系统(如ext4)才能使用:

sudo mkfs.ext4 /dev/sdb1  # /dev/sdb1是分区设备名(如sdb的第一个分区)
(5)挂载分区
  • 创建挂载点(如/mnt/data):
    sudo mkdir /mnt/data
    
  • 临时挂载:
    sudo mount /dev/sdb1 /mnt/data
    
  • 设置开机自动挂载:编辑/etc/fstab文件,添加一行:
    /dev/sdb1 /mnt/data ext4 defaults 0 0
    

2. 实用技巧

  • 调整分区大小:使用partedresizepart命令(如将/dev/sdb1扩展到20GB):
    sudo parted /dev/sdb
    resizepart 1 20G  # 1是分区号,20G是新的结束位置
    quit
    
    调整后需用resize2fs(ext4)或xfs_growfs(xfs)扩展文件系统:
    sudo resize2fs /dev/sdb1
    
  • 查看分区UUID:使用blkid命令获取分区唯一标识符,便于fstab中配置:
    sudo blkid /dev/sdb1
    

3. 注意事项

  • 备份数据:分区操作会清除磁盘数据,务必提前备份重要文件。
  • 文件系统选择:根据需求选择(ext4适合Linux系统,NTFS适合Windows兼容,FAT32适合U盘)。
  • 分区大小:合理分配(如系统盘20-50GB,数据盘根据实际需求)。
  • 避免误操作fdisk/parted命令中的w(保存)、q(退出不保存)需谨慎使用。

二、文件/目录分卷(压缩包分割)

文件分卷是将大型文件(如目录、备份文件)分割成多个小文件的过程,适用于存储(如U盘容量有限)、传输(如网络传输限制)场景。常用命令包括tar(归档+分卷)、split(单纯分割)、zip(压缩+分卷)。

1. 基础操作步骤

(1)使用tar+split组合(推荐,先归档再分卷)
  • 步骤1:创建tar归档文件(将/path/to/source目录打包为data.tar):
    tar -cvf data.tar /path/to/source
    
  • 步骤2:分割tar文件(每个分卷100MB,前缀为data_split_):
    split -b 100M data.tar data_split_
    
    输出文件为data_split_aadata_split_ab等。
(2)使用tar直接分卷(一步完成)

通过管道将tar输出直接传给split,简化操作:

tar -cvf - /path/to/source | split -b 100M - data_split_

-表示标准输入/输出。

(3)使用zip分卷(适合跨平台)
zip -s 100m -r output.zip /path/to/source

-s 100m指定每个分卷100MB,-r递归压缩目录。

2. 分卷解压缩

(1)合并分卷文件

使用cat命令将分卷文件合并为原始文件:

cat data_split_* > data.tar  # 合并tar分卷
# 或
unzip -s output.z01  # 合并zip分卷(自动识别顺序)
(2)解压缩

合并后解压:

tar -xvf data.tar  # 解压tar文件
# 或
unzip output.zip  # 解压zip文件

3. 实用技巧

  • 实时监控进度:使用pv命令(需安装)显示压缩/分卷进度:
    tar -czvf - /path/to/source | pv -s $(du -sb /path/to/source | awk '{print $1}') | split -b 100M - data_split_
    
  • 自动脚本:编写脚本自动化分卷压缩(如按目录大小自动分割):
    #!/bin/bash
    SOURCE=$1
    SIZE=$2
    tar -cvf - "$SOURCE" | split -b "$SIZE" - "${SOURCE}_split_"
    
    赋予执行权限后运行:
    chmod +x split_compress.sh
    ./split_compress.sh /path/to/source 500M
    

4. 注意事项

  • 分卷大小:根据存储介质调整(如U盘常用1G、2G,网络传输常用500M)。
  • 文件顺序:分卷文件需按顺序合并(如data_split_aadata_split_ab→…),否则解压失败。
  • 完整性验证:合并后可通过tar -tzf data.tar(查看tar内容)或unzip -t output.zip(测试zip完整性)验证文件是否损坏。
  • 压缩与分卷顺序:建议先分割再压缩(如split后再gzip),避免压缩后的文件难以分割。

通过以上内容,你可以掌握Linux下磁盘分区与文件分卷的核心技能。建议先在虚拟机或测试环境中练习,熟悉命令后再操作生产环境。

0