🧾 压缩/解压速查表
# === gzip 压缩与解压 ===
gzip file.txt # 压缩为 file.txt.gz
gunzip file.txt.gz # 解压为 file.txt
# === bzip2 压缩与解压 ===
bzip2 file.txt # 压缩为 file.txt.bz2
bunzip2 file.txt.bz2 # 解压为 file.txt
# === xz 压缩与解压 ===
xz file.txt # 压缩为 file.txt.xz
unxz file.txt.xz # 解压为 file.txt
# === tar 打包与压缩 ===
tar -cvf archive.tar dir/ # 仅打包
tar -xvf archive.tar # 解包
tar -czvf archive.tar.gz dir/ # tar + gzip
tar -xzvf archive.tar.gz # 解压 .tar.gz
tar -cjvf archive.tar.bz2 dir/ # tar + bzip2
tar -xjvf archive.tar.bz2 # 解压 .tar.bz2
tar -cJvf archive.tar.xz dir/ # tar + xz
tar -xJvf archive.tar.xz # 解压 .tar.xz
# === zip 与 unzip ===
zip -r archive.zip dir/ # 压缩为 .zip
unzip archive.zip # 解压 .zip
# === 7z 压缩与解压(需安装 p7zip) ===
7z a archive.7z dir/ # 压缩
7z x archive.7z # 解压
🔧 Bash 脚本:压缩/解压助手
这个脚本叫 compressor.sh,支持快速打包压缩和解压。
#!/bin/bash
# 用法说明
usage() {
echo "用法: $0 compress|extract 文件/目录 [格式]"
echo " compress file_or_dir [gz|bz2|xz|zip|7z]"
echo " extract file"
exit 1
}
# 检查参数数量
[ $# -lt 2 ] && usage
mode=$1
target=$2
format=$3
# 压缩功能
compress() {
case "$format" in
gz) tar -czvf "$target.tar.gz" "$target" ;;
bz2) tar -cjvf "$target.tar.bz2" "$target" ;;
xz) tar -cJvf "$target.tar.xz" "$target" ;;
zip) zip -r "$target.zip" "$target" ;;
7z) 7z a "$target.7z" "$target" ;;
*) echo "不支持的格式: $format" ; exit 2 ;;
esac
}
# 解压功能
extract() {
case "$target" in
*.tar.gz) tar -xzvf "$target" ;;
*.tar.bz2) tar -xjvf "$target" ;;
*.tar.xz) tar -xJvf "$target" ;;
*.tar) tar -xvf "$target" ;;
*.zip) unzip "$target" ;;
*.7z) 7z x "$target" ;;
*.gz) gunzip "$target" ;;
*.bz2) bunzip2 "$target" ;;
*.xz) unxz "$target" ;;
*) echo "无法识别的压缩格式: $target" ; exit 2 ;;
esac
}
# 执行操作
if [ "$mode" = "compress" ]; then
compress
elif [ "$mode" = "extract" ]; then
extract
else
usage
fi
💡 使用方式:
chmod +x compressor.sh
# 压缩:
./compressor.sh compress myfolder gz
# 解压:
./compressor.sh extract myfolder.tar.gz
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
