Linux分卷學習指南:涵蓋磁盤分區與文件分卷兩大部分
Linux中的“分卷”主要有兩個核心方向:一是磁盤分區(物理/邏輯卷劃分),二是文件/目錄分卷(壓縮包分割)。以下從基礎概念、操作步驟、實用技巧及注意事項展開,幫助你系統學習。
磁盤分區是將物理磁盤劃分為多個邏輯區域的過程,適用于需要獨立管理存儲空間的場景(如劃分系統盤、數據盤)。常用工具包括fdisk(命令行,適合傳統分區)、parted(命令行,支持大磁盤)、GParted(圖形界面,適合新手)。
使用fdisk -l命令列出所有磁盤及其分區信息,明確目標磁盤(如/dev/sdb):
sudo fdisk -l
輸出會顯示磁盤大小、已分區情況及文件系統類型。
/dev/sdb為例)sudo fdisk /dev/sdb
n創建新分區,依次選擇:
p/擴展分區e,通常選主分區);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下磁盤分區與文件分卷的核心技能。建議先在虛擬機或測試環境中練習,熟悉命令后再操作生產環境。