当前位置:首页 > Linux > 正文

Linux怎样快速压缩文件夹?

在Linux中压缩文件夹常用命令:,1. 使用tar压缩: tar -czvf 压缩包名.tar.gz 文件夹名,2. 使用zip压缩: zip -r 压缩包名.zip 文件夹名,3. 使用7z高压缩率: 7z a 压缩包名.7z 文件夹名

核心工具:tar 命令

tar(Tape Archive)是 Linux 下归档文件的基石工具,通常结合压缩算法(如 gzip、bzip2、xz)使用。
基础语法

Linux怎样快速压缩文件夹?  第1张

tar [选项] [压缩文件名] [待压缩文件夹]

压缩为 .tar.gz(gzip 格式)

  • 特点:速度快、通用性强
  • 命令
    tar -czvf 压缩包名称.tar.gz 文件夹路径/
    • -c:创建新压缩包
    • -z:调用 gzip 压缩
    • -v:显示压缩过程(可选)
    • -f:指定压缩文件名

压缩为 .tar.bz2(bzip2 格式)

  • 特点:压缩率高于 gzip,速度稍慢
  • 命令
    tar -cjvf 压缩包名称.tar.bz2 文件夹路径/
    • -j:调用 bzip2 压缩

压缩为 .tar.xz(xz 格式)

  • 特点:最高压缩率,适合大文件
  • 命令
    tar -cJvf 压缩包名称.tar.xz 文件夹路径/
    • -J:调用 xz 压缩

其他常用压缩工具

zip 工具(跨平台兼容)

  • 适用场景:需在 Windows/macOS 中解压
  • 安装(如未预装):
    sudo apt install zip    # Debian/Ubuntu
    sudo yum install zip    # CentOS/RHEL
  • 压缩命令
    zip -r 压缩包名称.zip 文件夹路径/
    • -r:递归压缩子目录

7z 工具(超高压缩率)

  • 安装
    sudo apt install p7zip-full   # Debian/Ubuntu
    sudo yum install p7zip-plugins # CentOS/RHEL
  • 压缩命令
    7z a -t7z 压缩包名称.7z 文件夹路径/
    • a:添加文件到压缩包
    • -t7z:指定 7z 格式(可省略)

高级操作技巧

排除特定文件/目录

tar -czvf backup.tar.gz --exclude='*.log' --exclude='tmp/' 文件夹路径/
  • --exclude='模式':按通配符忽略文件(如 *.tmp)或目录(如 cache/

分卷压缩大文件

tar -czvf - 文件夹路径/ | split -b 2G - 压缩包前缀.tar.gz.
  • 输出 压缩包前缀.tar.gz.aa, 压缩包前缀.tar.gz.ab
  • -b 2G:每卷大小设为 2GB(可调整)

保留文件权限与属性

tar -cpzvf backup.tar.gz 文件夹路径/
  • -p:保留原始权限(常用于系统备份)

解压操作参考

压缩格式 解压命令
.tar.gz tar -xzvf 文件.tar.gz
.tar.bz2 tar -xjvf 文件.tar.bz2
.tar.xz tar -xJvf 文件.tar.xz
.zip unzip 文件.zip
.7z 7z x 文件.7z

格式选择建议

场景 推荐格式 理由
快速压缩/通用传输 .tar.gz 速度快,兼容性极佳
有限空间存储 .tar.xz 超高压缩率
跨平台共享(非Linux) .zip Windows/macOS 无需额外工具
超大文件归档 .tar.bz2 平衡压缩率与资源占用

注意事项

  1. 路径规范
    • 压缩时建议进入目标目录的父目录操作(避免压缩包包含冗长路径)
      cd /path/to/parent/
      tar -czvf output.tar.gz target_folder/
  2. 空间检查
    • 压缩前用 df -h 确认磁盘空间充足
  3. 后台运行
    • 耗时任务可添加 nohupscreen 防止中断
      nohup tar -czvf large_data.tar.gz big_folder/ > log.txt &

通过灵活组合这些命令,可高效完成各类文件夹压缩需求,建议根据实际场景(压缩率、时间、兼容性)选择最佳方案,复杂操作前先在小目录测试验证。

引用说明基于 GNU tar 官方文档、Linux man-pages 及 Filesystem Hierarchy Standard (FHS) 标准实践,命令测试环境为 Ubuntu 22.04/CentOS 7,核心工具均属开源生态标准组件。

0