Linux分卷学习指南:涵盖磁盘分区与文件分卷两大部分
Linux中的“分卷”主要有两个核心方向:一是磁盘分区(物理/逻辑卷划分),二是文件/目录分卷(压缩包分割)。以下从基础概念、操作步骤、实用技巧及注意事项展开,帮助你系统学习。
磁盘分区是将物理磁盘划分为多个逻辑区域的过程,适用于需要独立管理存储空间的场景(如划分系统盘、数据盘)。常用工具包括fdisk(命令行,适合传统分区)、parted(命令行,支持大磁盘)、GParted(图形界面,适合新手)。
使用fdisk -l命令列出所有磁盘及其分区信息,明确目标磁盘(如/dev/sdb):
sudo fdisk -l
输出会显示磁盘大小、已分区情况及文件系统类型。
/dev/sdb为例)sudo fdisk /dev/sdb
n创建新分区,依次选择:
p/扩展分区e,通常选主分区);+10G表示10GB,或直接输入数值);w保存更改并退出。sudo parted /dev/sdb
mkpart命令,指定分区类型、起始位置和结束位置(如创建10GB主分区):mkpart primary ext4 0% 100%
quit退出。创建分区后,需格式化为文件系统(如ext4)才能使用:
sudo mkfs.ext4 /dev/sdb1 # /dev/sdb1是分区设备名(如sdb的第一个分区)
/mnt/data):sudo mkdir /mnt/data
sudo mount /dev/sdb1 /mnt/data
/etc/fstab文件,添加一行:/dev/sdb1 /mnt/data ext4 defaults 0 0
parted的resizepart命令(如将/dev/sdb1扩展到20GB):sudo parted /dev/sdb
resizepart 1 20G # 1是分区号,20G是新的结束位置
quit
调整后需用resize2fs(ext4)或xfs_growfs(xfs)扩展文件系统:sudo resize2fs /dev/sdb1
blkid命令获取分区唯一标识符,便于fstab中配置:sudo blkid /dev/sdb1
fdisk/parted命令中的w(保存)、q(退出不保存)需谨慎使用。文件分卷是将大型文件(如目录、备份文件)分割成多个小文件的过程,适用于存储(如U盘容量有限)、传输(如网络传输限制)场景。常用命令包括tar(归档+分卷)、split(单纯分割)、zip(压缩+分卷)。
/path/to/source目录打包为data.tar):tar -cvf data.tar /path/to/source
data_split_):split -b 100M data.tar data_split_
输出文件为data_split_aa、data_split_ab等。通过管道将tar输出直接传给split,简化操作:
tar -cvf - /path/to/source | split -b 100M - data_split_
-表示标准输入/输出。
zip -s 100m -r output.zip /path/to/source
-s 100m指定每个分卷100MB,-r递归压缩目录。
使用cat命令将分卷文件合并为原始文件:
cat data_split_* > data.tar # 合并tar分卷
# 或
unzip -s output.z01 # 合并zip分卷(自动识别顺序)
合并后解压:
tar -xvf data.tar # 解压tar文件
# 或
unzip output.zip # 解压zip文件
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
data_split_aa→data_split_ab→…),否则解压失败。tar -tzf data.tar(查看tar内容)或unzip -t output.zip(测试zip完整性)验证文件是否损坏。split后再gzip),避免压缩后的文件难以分割。通过以上内容,你可以掌握Linux下磁盘分区与文件分卷的核心技能。建议先在虚拟机或测试环境中练习,熟悉命令后再操作生产环境。