Skip to content

文件压缩

tar 命令

打包文件

bash
#!/bin/bash

# 打包文件
tar -cvf archive.tar file1 file2 file3

解包文件

bash
#!/bin/bash

# 解包文件
tar -xvf archive.tar

查看打包内容

bash
#!/bin/bash

# 查看打包内容
tar -tvf archive.tar

gzip 压缩

压缩文件

bash
#!/bin/bash

# 压缩文件
gzip file.txt

# 压缩多个文件
gzip file1.txt file2.txt file3.txt

解压文件

bash
#!/bin/bash

# 解压文件
gunzip file.txt.gz

# 解压多个文件
gunzip file1.txt.gz file2.txt.gz file3.txt.gz

bzip2 压缩

压缩文件

bash
#!/bin/bash

# 压缩文件
bzip2 file.txt

# 压缩多个文件
bzip2 file1.txt file2.txt file3.txt

解压文件

bash
#!/bin/bash

# 解压文件
bunzip2 file.txt.bz2

# 解压多个文件
bunzip2 file1.txt.bz2 file2.txt.bz2 file3.txt.bz2

zip 压缩

压缩文件

bash
#!/bin/bash

# 压缩文件
zip archive.zip file1 file2 file3

# 压缩目录
zip -r archive.zip directory

解压文件

bash
#!/bin/bash

# 解压文件
unzip archive.zip

# 解压到指定目录
unzip archive.zip -d /path/to/directory

tar.gz 压缩

压缩文件

bash
#!/bin/bash

# 压缩文件
tar -czvf archive.tar.gz file1 file2 file3

# 压缩目录
tar -czvf archive.tar.gz directory

解压文件

bash
#!/bin/bash

# 解压文件
tar -xzvf archive.tar.gz

# 解压到指定目录
tar -xzvf archive.tar.gz -C /path/to/directory

tar.bz2 压缩

压缩文件

bash
#!/bin/bash

# 压缩文件
tar -cjvf archive.tar.bz2 file1 file2 file3

# 压缩目录
tar -cjvf archive.tar.bz2 directory

解压文件

bash
#!/bin/bash

# 解压文件
tar -xjvf archive.tar.bz2

# 解压到指定目录
tar -xjvf archive.tar.bz2 -C /path/to/directory

实用示例

示例1:备份文件

bash
#!/bin/bash

# 备份文件
tar -czvf backup_$(date +%Y%m%d).tar.gz /path/to/directory

# 备份多个目录
tar -czvf backup_$(date +%Y%m%d).tar.gz /path/to/dir1 /path/to/dir2

示例2:压缩日志

bash
#!/bin/bash

# 压缩日志文件
gzip *.log

# 压缩并删除原文件
gzip -k *.log

示例3:解压文件

bash
#!/bin/bash

# 解压 tar.gz 文件
tar -xzvf archive.tar.gz

# 解压 tar.bz2 文件
tar -xjvf archive.tar.bz2

# 解压 zip 文件
unzip archive.zip

示例4:查看压缩文件

bash
#!/bin/bash

# 查看 tar 文件内容
tar -tvf archive.tar

# 查看 tar.gz 文件内容
tar -tzvf archive.tar.gz

# 查看 zip 文件内容
unzip -l archive.zip

最佳实践

1. 使用 tar.gz

bash
# 好的做法
tar -czvf archive.tar.gz directory

# 不好的做法
zip -r archive.zip directory

2. 使用 gzip

bash
# 好的做法
gzip file.txt

# 不好的做法
zip archive.zip file.txt

3. 使用日期命名

bash
# 好的做法
tar -czvf backup_$(date +%Y%m%d).tar.gz directory

# 不好的做法
tar -czvf backup.tar.gz directory

总结

文件压缩的关键点:

  1. tar 命令:打包和解包文件
  2. gzip 压缩:压缩和解压文件
  3. bzip2 压缩:压缩和解压文件
  4. zip 压缩:压缩和解压文件
  5. tar.gz 压缩:压缩和解压文件
  6. tar.bz2 压缩:压缩和解压文件
  7. 实用示例:备份文件、压缩日志、解压文件、查看压缩文件
  8. 最佳实践:使用 tar.gz、使用 gzip、使用日期命名

下一节我们将学习进程管理的使用。