插件窝 干货文章 linux怎么压缩整个文件夹

linux怎么压缩整个文件夹

压缩 tar 文件夹 文件名 571    来源:    2025-05-14

在 Linux 系统中,可以使用多种工具来压缩整个文件夹。以下是几种常见的方法:


1. 使用 tar 命令

tar 是 Linux 中最常用的归档工具,可以结合压缩算法(如 gzipbzip2xz)进行压缩。

压缩为 .tar.gz(gzip 压缩,速度快,压缩率一般):

tar -czvf 压缩包名.tar.gz 文件夹名/
  • -c:创建归档
  • -z:使用 gzip 压缩
  • -v:显示压缩过程(可选)
  • -f:指定压缩文件名

压缩为 .tar.bz2(bzip2 压缩,速度较慢,压缩率更高):

tar -cjvf 压缩包名.tar.bz2 文件夹名/

压缩为 .tar.xz(xz 压缩,速度最慢,压缩率最高):

tar -cJvf 压缩包名.tar.xz 文件夹名/

2. 使用 zip 工具

如果需要与 Windows 兼容,可以使用 zip

zip -r 压缩包名.zip 文件夹名/
  • -r:递归压缩子目录
  • 安装 zip(如未预装):
    bash sudo apt install zip unzip # Debian/Ubuntu sudo yum install zip unzip # CentOS/RHEL

3. 使用 7z 高压缩率工具

7z a 压缩包名.7z 文件夹名/
  • 安装 7z
    bash sudo apt install p7zip-full # Debian/Ubuntu sudo yum install p7zip # CentOS/RHEL

常见解压命令对照表

压缩格式 解压命令
.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

注意事项

  1. 排除文件
    使用 tar 时可通过 --exclude=文件/目录名 排除特定内容,例如:

    tar -czvf backup.tar.gz --exclude="*.tmp" 文件夹名/
    
  2. 压缩速度 vs 压缩率

    • gzip.tar.gz)适合快速压缩。
    • xz.tar.xz)适合节省空间(如发布文件)。
  3. 权限保留
    tar 默认保留文件权限和所有权(加 -p 参数可保留绝对路径权限)。


根据需求选择合适的方法即可!