Linux中的“分卷”主要涉及磁盘分区(将物理磁盘划分为多个逻辑分区)和LVM(逻辑卷管理)分卷(动态管理磁盘空间的高级方式),以下是具体操作指南:
适用于需要精细控制分区布局的场景(如创建系统分区、数据分区等)。
fdisk -l
命令列出所有磁盘及分区,确认目标磁盘(如/dev/sdb
)未被使用。sudo fdisk /dev/sdb
进入交互模式:
n
创建新分区,选择分区类型(主分区p
/扩展分区e
),设置分区号(默认1),指定起始扇区(默认)和结束扇区(或直接输入大小,如+10G
表示10GB)。w
保存并退出,磁盘将生成新分区(如/dev/sdb1
)。mkfs
命令将分区格式化为所需文件系统(如ext4):sudo mkfs.ext4 /dev/sdb1
。sudo mkdir /mnt/newpart
。sudo mount /dev/sdb1 /mnt/newpart
。df -h | grep newpart
。/etc/fstab
文件,添加以下内容(推荐使用UUID提升可靠性):UUID=$(blkid /dev/sdb1 | awk '{print $2}' | sed 's/"//g')
echo "UUID=$UUID /mnt/newpart ext4 defaults 0 2" | sudo tee -a /etc/fstab
适用于需要动态调整磁盘空间(如扩容、缩容)的场景,是生产环境的常用方案。
sudo yum install lvm2
(CentOS/RHEL)或sudo apt install lvm2
(Ubuntu/Debian)安装。/dev/sdb
或分区/dev/sdb1
):sudo pvcreate /dev/sdb
。my_vg
):sudo vgcreate my_vg /dev/sdb
。my_lv
):sudo lvcreate -L 10G -n my_lv my_vg
(-L
指定大小,-n
指定名称)。sudo mkfs.ext4 /dev/my_vg/my_lv
。适用于大文件/目录拆分存储或传输(如日志文件、备份文件)。
zip
命令的-s
参数指定分卷大小(如100MB):cd /data && zip -r -s 100m project_split.zip project/
(-r
递归压缩目录,-s
设置分卷大小)。project_split.zip
),unzip
会自动合并前置分卷(.z01
、.z02
等)。tar
(打包)与split
(拆分)命令:tar -zcvf - /data/logs | split -b 500m - logs_split.tar.gz.
(-zcvf -
生成压缩流,split -b 500m
拆分为500MB/卷,后缀为.aa
、.ab
等)。cat logs_split.tar.gz.* > logs_merged.tar.gz
),再用tar -zxvf logs_merged.tar.gz
解压。root
权限(使用sudo
)。/dev/sdb
可能变为/dev/sdc
),建议使用UUID
替代设备名(通过blkid
命令获取)。