【Linux命令大全】009.备份压缩
✨ 本文为Linux系统备份压缩相关命令的全面汇总与深度优化,结合图标、结构化排版与实用技巧,专为高级用户和系统管理员打造。 覆盖常见备份压缩命令,按字母序排列,便于快速定位与查阅。
(关注不迷路哈!!!)
文章目录
- 【Linux命令大全】009.备份压缩
-
- 🗃️ ar 命令
- 📦 bunzip2 命令
- 📤 bzip2 命令
- 📂 compress 命令
- 📁 cpio 命令
- 📦 dump 命令
- 📤 freeze 命令
- 📦 gunzip 命令
- 📤 gzexe 命令
- 📦 gzip 命令
- 📁 jar 命令
- 📦 lha 命令
- 📦 restore 命令
- 📦 tar 命令
- 📦 unarj 命令
- 📦 unrar 命令
- 📦 unzip 命令
- 📤 zip 命令
- 📁 zipinfo 命令
🗃️ ar 命令
功能与作用 创建、修改和提取归档文件(archive),主要用于打包多个文件为单一文件,常用于软件包管理和静态库构建。
参数详解
| r | 插入文件到归档中 |
| [x](file://e:\\Linux常用命令大全\\新建%20Microsoft%20Word%20文档.docx) | 从归档中提取文件 |
| [t](file://e:\\Linux常用命令大全\\001.文件管理\\001.cat命令\\config.txt) | 列出归档中的文件 |
| c | 创建新的归档文件 |
| v | 显示详细过程 |
| [f](file://e:\\Linux常用命令大全\\Linux学习笔记(强悍总结值得一看).pdf) | 指定归档文件名 |
使用示例
# 创建归档文件
ar rcs libmylib.a file1.o file2.o
# 查看归档内容
ar t libmylib.a
# 提取归档中的文件
ar x libmylib.a
# 向归档添加新文件
ar r libmylib.a newfile.o
# 删除归档中的文件
ar d libmylib.a oldfile.o
# 显示归档详细信息
ar tv libmylib.a
# 在脚本中创建归档
#!/bin/bash
OBJECTS="file1.o file2.o file3.o"
ar rcs mylib.a $OBJECTS
echo "Archive created successfully"
# 查看归档文件属性
ls -l libmylib.a
# 使用通配符创建归档
ar rcs liball.a *.o
# 创建带索引的归档
ar rcs libwithindex.a *.o
# 更新归档中的文件
ar u libmylib.a updated.o
小贴士
- 常用于 C/C++ 静态库构建。
- 结合 ranlib 创建符号索引。
- 使用 tar 处理更复杂的归档需求。
📦 bunzip2 命令
功能与作用 解压缩 .bz2 格式的压缩文件,是 bzip2 压缩算法的解压工具。
参数详解
| -c | 将解压结果输出到标准输出 |
| -f | 强制覆盖已存在的文件 |
| -k | 保留原压缩文件 |
| -v | 显示详细过程 |
| -s | 减少内存使用(限制在 2MB) |
使用示例
# 解压文件(默认删除原文件)
bunzip2 archive.tar.bz2
# 解压并保留原文件
bunzip2 -k archive.tar.bz2
# 将解压结果输出到标准输出
bunzip2 -c archive.tar.bz2 > archive.tar
# 强制覆盖已存在文件
bunzip2 -f archive.tar.bz2
# 显示解压过程
bunzip2 -v archive.tar.bz2
# 在脚本中批量解压
#!/bin/bash
for file in *.bz2; do
bunzip2 -k "$file"
echo "Decompressed: $file"
done
# 解压并重定向输出
bunzip2 -c largefile.bz2 | tar xf –
# 限制内存使用解压
bunzip2 -s hugefile.bz2
# 静默解压
bunzip2 -q archive.bz2
# 解压到特定目录
bunzip2 -c archive.bz2 > /target/directory/archive
小贴士
- 与 bzip2 命令配套使用。
- 可通过管道与其他命令组合使用。
- 对于大型文件考虑使用 -s 参数降低内存消耗。
📤 bzip2 命令
功能与作用 使用 bzip2 算法压缩文件,生成 .bz2 格式的压缩文件,压缩率高于 gzip。
参数详解
| -c | 将压缩结果输出到标准输出 |
| -d | 解压缩(等同于 bunzip2) |
| -f | 强制覆盖已存在的文件 |
| -k | 保留原文件 |
| -v | 显示详细过程 |
| -z | 强制压缩(默认行为) |
| -1 至 -9 | 设置压缩级别(-1 最快,-9 最佳压缩) |
使用示例
# 压缩文件(默认删除原文件)
bzip2 document.txt
# 压缩并保留原文件
bzip2 -k document.txt
# 设置压缩级别(最高压缩率)
bzip2 -9 largefile.log
# 将压缩结果输出到标准输出
bzip2 -c document.txt > document.txt.bz2
# 强制覆盖已存在文件
bzip2 -f document.txt
# 显示压缩过程
bzip2 -v document.txt
# 在脚本中批量压缩
#!/bin/bash
for file in *.log; do
bzip2 -k -9 "$file"
echo "Compressed: $file"
done
# 压缩目录(需先打包)
tar cf – mydir | bzip2 > mydir.tar.bz2
# 通过管道压缩
cat largefile.txt | bzip2 > compressed.bz2
# 压缩多个文件
bzip2 file1.txt file2.txt file3.txt
# 查看压缩前后大小对比
ls -lh document.*
小贴士
- 压缩率优于 gzip,但速度较慢。
- 可通过管道与其他命令组合使用。
- 压缩级别越高耗时越长,但压缩率更好。
📂 compress 命令
功能与作用 使用 LZW 算法压缩文件,生成 .Z 格式的压缩文件,是 Unix 系统传统的压缩工具。
参数详解
| -c | 将压缩结果输出到标准输出 |
| -d | 解压缩 |
| -f | 强制压缩 |
| -v | 显示详细过程 |
| -V | 显示版本和压缩比率 |
| -r | 递归处理目录 |
使用示例
# 压缩文件
compress document.txt
# 压缩并输出到标准输出
compress -c document.txt > document.txt.Z
# 显示压缩过程和比率
compress -v document.txt
# 显示版本和压缩信息
compress -V document.txt
# 强制压缩
compress -f document.txt
# 递归压缩目录中的文件
compress -r /path/to/directory
# 解压缩文件
compress -d document.txt.Z
# 在脚本中批量压缩
#!/bin/bash
for file in *.txt; do
compress -v "$file"
done
# 保留原文件并压缩
compress -c original.txt > original.txt.Z
# 查看压缩文件内容(不解压)
zcat document.txt.Z
# 比较压缩前后文件大小
ls -lh document.txt*
小贴士
- 已被 gzip/bzip2 取代,但仍广泛支持。
- 生成 .Z 格式文件。
- 使用 uncompress 解压或 zcat 查看内容。
📁 cpio 命令
功能与作用 文件归档工具,可以从文件列表创建归档或将归档内容提取到文件系统,常用于备份和系统安装。
参数详解
| -o | 创建归档(输出模式) |
| -i | 提取归档(输入模式) |
| -p | 传递模式(复制文件) |
| -t | 列出归档内容 |
| -d | 自动创建目录 |
| -m | 保留文件修改时间 |
| -v | 显示详细过程 |
使用示例
# 创建归档
find /path/to/dir -print | cpio -ov > archive.cpio
# 提取归档
cpio -idmv < archive.cpio
# 列出归档内容
cpio -it < archive.cpio
# 使用通配符提取特定文件
cpio -idmv "*.txt" < archive.cpio
# 通过管道创建压缩归档
find . -print | cpio -ov | gzip > archive.cpio.gz
# 从归档中提取特定文件
echo "specific_file.txt" | cpio -iv < archive.cpio
# 复制文件到另一目录
find . -name "*.conf" | cpio -pdm /backup/configs
# 保留文件属性创建归档
find /etc -type f -print | cpio -pdmv /backup/etc
# 在脚本中创建系统备份
#!/bin/bash
find /important/files -print | cpio -ov > backup_$(date +%Y%m%d).cpio
# 查看归档中文件列表
cpio -it < backup.cpio | head -20
# 恢复特定目录
find /restore/path -print | cpio -pdmv /target/directory
小贴士
- 适用于系统级备份和恢复。
- 可与 find 命令结合使用。
- 支持通过管道与其他工具集成。
📦 dump 命令
功能与作用 备份 ext2/ext3 文件系统,创建完整的文件系统快照,常用于系统级备份。
参数详解
| 0-9 | 备份级别(0 为完整备份) |
| -f | 指定备份文件 |
| -u | 更新 /etc/dumpdates |
| -v | 显示详细过程 |
| -W | 显示需要备份的文件系统 |
| -j | 启用压缩(使用 bzip2) |
使用示例
# 完整备份文件系统
dump -0uf /backup/root.dump /dev/sda1
# 增量备份(级别 1)
dump -1uf /backup/root.incremental.dump /dev/sda1
# 显示需要备份的文件系统
dump -W
# 启用 bzip2 压缩备份
dump -0ujf /backup/compressed.dump /dev/sda1
# 显示备份过程
dump -0uvf /backup/root.dump /dev/sda1
# 指定密度和大小
dump -0uf -b 120 /backup/root.dump /dev/sda1
# 在脚本中自动备份
#!/bin/bash
DUMPFILE="/backup/system_$(date +%Y%m%d).dump"
dump -0uf "$DUMPFILE" /dev/sda1
echo "Backup completed: $DUMPFILE"
# 查看上次备份记录
cat /etc/dumpdates
# 通过网络备份
dump -0uf – /dev/sda1 | ssh user@remote "cat > backup.dump"
# 设置备份保留策略
find /backup -name "*.dump" -mtime +30 -delete
小贴士
- 需要 root 权限。
- 与 restore 命令配合使用进行恢复。
- 适用于 ext2/ext3 文件系统。
📤 freeze 命令
功能与作用 文件压缩工具,使用 LZ77 算法压缩文件,生成 .F 格式的压缩文件。
参数详解
| -c | 输出到标准输出 |
| -d | 解压缩 |
| -f | 强制操作 |
| -v | 显示详细过程 |
使用示例
# 压缩文件
freeze document.txt
# 压缩并输出到标准输出
freeze -c document.txt > document.F
# 解压缩文件
freeze -d document.F
# 显示压缩过程
freeze -v document.txt
# 强制压缩
freeze -f document.txt
# 在脚本中批量处理
#!/bin/bash
for file in *.txt; do
freeze -v "$file"
done
# 保留原文件压缩
freeze -c original.txt > original.F
# 查看压缩文件内容
fcat document.F
# 比较压缩前后大小
ls -lh document.*
小贴士
- 较少使用的压缩工具。
- 可通过 fcat 查看压缩文件内容。
- 已被 gzip 等现代工具取代。
📦 gunzip 命令
功能与作用 解压缩 .gz 格式的压缩文件,是 gzip 压缩算法的解压工具。
参数详解
| -c | 输出到标准输出 |
| -f | 强制覆盖 |
| -l | 列出压缩文件信息 |
| -t | 测试压缩文件完整性 |
| -v | 显示详细过程 |
| -r | 递归处理目录 |
使用示例
# 解压文件
gunzip archive.tar.gz
# 解压并输出到标准输出
gunzip -c archive.tar.gz > archive.tar
# 列出压缩文件信息
gunzip -l archive.tar.gz
# 测试压缩文件完整性
gunzip -t archive.tar.gz
# 显示解压过程
gunzip -v archive.tar.gz
# 强制覆盖已存在文件
gunzip -f archive.tar.gz
# 递归解压目录中的所有文件
gunzip -r /compressed/files/
# 在脚本中批量解压
#!/bin/bash
for file in *.gz; do
gunzip -k "$file"
echo "Decompressed: $file"
done
# 解压并通过管道处理
gunzip -c largefile.gz | tar xf –
# 静默解压
gunzip -q archive.gz
小贴士
- 与 gzip 命令配套使用。
- 可通过 zcat 达到同样效果。
- 支持通过管道与其他命令集成。
📤 gzexe 命令
功能与作用 压缩可执行文件,使它们在执行时自动解压,节省磁盘空间。
参数详解
| 无 | 压缩指定的可执行文件 |
使用示例
# 压缩可执行文件
gzexe /usr/local/bin/myapp
# 查看压缩后的文件
ls -l /usr/local/bin/myapp*
# 运行压缩后的程序
/usr/local/bin/myapp
# 比较压缩前后大小
ls -lh /usr/local/bin/myapp*
# 在脚本中批量处理
#!/bin/bash
for exe in /usr/local/bin/*; do
if [ -x "$exe" ] && [ ! -d "$exe" ]; then
gzexe "$exe"
fi
done
# 恢复原始可执行文件
rm /usr/local/bin/myapp
mv /usr/local/bin/myapp~ /usr/local/bin/myapp
# 查看文件类型
file /usr/local/bin/myapp
小贴士
- 压缩后文件会变大(包含解压代码)。
- 执行时会自动解压到临时文件。
- 适用于不常用的大型可执行文件。
📦 gzip 命令
功能与作用 使用 Lempel-Ziv 编码压缩文件,生成 .gz 格式的压缩文件,是最常用的压缩工具之一。
参数详解
| -c | 输出到标准输出 |
| -d | 解压缩(等同于 gunzip) |
| -f | 强制压缩 |
| -l | 列出压缩文件信息 |
| -r | 递归处理目录 |
| -t | 测试压缩文件完整性 |
| -v | 显示详细过程 |
| -1 至 -9 | 设置压缩级别 |
使用示例
# 压缩文件
gzip document.txt
# 压缩并输出到标准输出
gzip -c document.txt > document.txt.gz
# 设置压缩级别(最快压缩)
gzip -1 largefile.log
# 设置压缩级别(最佳压缩)
gzip -9 important.doc
# 显示压缩过程
gzip -v document.txt
# 强制压缩
gzip -f document.txt
# 递归压缩目录
gzip -r /path/to/logs/
# 测试压缩文件完整性
gzip -t archive.gz
# 列出压缩文件信息
gzip -l archive.gz
# 在脚本中批量压缩
#!/bin/bash
for file in *.log; do
gzip -k -9 "$file"
echo "Compressed: $file"
done
# 通过管道压缩
tar cf – mydir | gzip > mydir.tar.gz
# 压缩并保留原文件
gzip -k document.txt
# 查看压缩文件内容
zcat document.txt.gz
小贴士
- 最广泛使用的压缩工具。
- 与 tar 结合使用效果更佳(tar.gz)。
- 压缩级别可根据需要调整。
📁 jar 命令
功能与作用 Java ARchive 工具,用于打包 Java 类文件、相关元数据和资源文件到一个文件中。
参数详解
| c | 创建新的归档文件 |
| [t](file://e:\\Linux常用命令大全\\001.文件管理\\001.cat命令\\config.txt) | 列出归档内容 |
| [x](file://e:\\Linux常用命令大全\\新建%20Microsoft%20Word%20文档.docx) | 提取归档文件 |
| u | 更新归档文件 |
| v | 显示详细过程 |
| [f](file://e:\\Linux常用命令大全\\Linux学习笔记(强悍总结值得一看).pdf) | 指定归档文件名 |
| C | 切换到指定目录 |
使用示例
# 创建 JAR 文件
jar cf myapp.jar *.class
# 创建 JAR 并显示过程
jar cvf myapp.jar *.class
# 列出 JAR 内容
jar tf myapp.jar
# 提取 JAR 文件
jar xf myapp.jar
# 创建可执行 JAR
jar cfm MyApp.jar manifest.txt *.class
# 更新 JAR 文件
jar uf myapp.jar newclass.class
# 切换目录后创建 JAR
jar cf myapp.jar -C src .
# 显示详细过程
jar cvf myapp.jar *.class
# 在脚本中创建 JAR
#!/bin/bash
jar cf app_$(date +%Y%m%d).jar -C build/classes .
# 查看 MANIFEST 文件
jar xf myapp.jar META-INF/MANIFEST.MF
cat META-INF/MANIFEST.MF
# 运行 JAR 文件
java -jar myapp.jar
小贴士
- Java 开发必备工具。
- 可包含 MANIFEST.MF 文件定义主类。
- 与 zip 格式兼容。
📦 lha 命令
功能与作用 LHA(Lzh)压缩工具,用于创建和解压 .lzh 格式的压缩文件,常见于早期 Unix 和 DOS 系统。
参数详解
| -a | 添加文件到归档 |
| -e | 提取文件 |
| -l | 列出归档内容 |
| -v | 显示详细过程 |
| -f | 强制操作 |
| -r | 递归处理目录 |
使用示例
# 创建 LHA 归档
lha a archive.lzh file1.txt file2.txt
# 列出归档内容
lha l archive.lzh
# 提取归档文件
lha e archive.lzh
# 递归压缩目录
lha a -r archive.lzh mydir/
# 显示详细过程
lha av archive.lzh
# 强制操作
lha af archive.lzh
# 在脚本中批量压缩
#!/bin/bash
for dir in */; do
lha a -r "${dir%.}/.lzh" "$dir"
done
# 查看归档信息
lha l archive.lzh | head -10
小贴士
- 主要用于旧系统或特定场景。
- 与 zip 相比,压缩率较低。
- 可通过 lzham 或 lhas 工具替代。
📦 restore 命令
功能与作用 从由 dump 命令创建的备份文件中恢复文件系统,是 dump 的配套恢复工具。
参数详解
| -i | 交互模式,允许选择恢复文件 |
| -r | 恢复文件系统 |
| -f | 指定备份文件 |
| -v | 显示详细过程 |
| -n | 干运行,不实际恢复 |
| -o | 保持文件所有权 |
使用示例
# 交互模式恢复
restore -i -f /backup/root.dump
# 恢复整个文件系统
restore -rf /backup/root.dump
# 恢复特定文件
restore -if /backup/root.dump
# 在提示中选择文件
# 干运行测试
restore -nf /backup/root.dump
# 显示恢复过程
restore -rvf /backup/root.dump
# 保持文件所有权
restore -rof /backup/root.dump
# 在脚本中恢复
#!/bin/bash
RESTORE_FILE="/backup/system_$(date +%Y%m%d).dump"
restore -rf "$RESTORE_FILE"
echo "Restore completed"
小贴士
- 必须与 dump 配合使用。
- 恢复前建议先测试。
- 需要 root 权限。
📦 tar 命令
功能与作用 创建、提取和查看归档文件(tape archive),是 Linux 中最常用的归档工具,常与压缩工具结合使用。
参数详解
| -c | 创建归档 |
| -x | 提取归档 |
| -t | 列出归档内容 |
| -f | 指定归档文件名 |
| -v | 显示详细过程 |
| -z | 使用 gzip 压缩 |
| -j | 使用 bzip2 压缩 |
| -J | 使用 xz 压缩 |
| -r | 向归档追加文件 |
| -u | 更新归档中的文件 |
| -p | 保留文件权限 |
| -P | 保留路径 |
使用示例
# 创建归档
tar cf archive.tar file1.txt file2.txt
# 创建并压缩归档(gzip)
tar czf archive.tar.gz file1.txt file2.txt
# 创建并压缩归档(bzip2)
tar cjf archive.tar.bz2 file1.txt file2.txt
# 创建并压缩归档(xz)
tar cJf archive.tar.xz file1.txt file2.txt
# 列出归档内容
tar tf archive.tar
# 提取归档
tar xf archive.tar
# 提取并解压
tar xzf archive.tar.gz
# 提取并解压(bzip2)
tar xjf archive.tar.bz2
# 提取并解压(xz)
tar xJf archive.tar.xz
# 递归压缩目录
tar czf mydir.tar.gz mydir/
# 向归档追加文件
tar rf archive.tar newfile.txt
# 更新归档中的文件
tar uf archive.tar updated.txt
# 保留文件权限
tar cpf archive.tar file1.txt
# 保留路径
tar cPf archive.tar /home/user/
# 在脚本中创建备份
#!/bin/bash
DATE=$(date +%Y%m%d)
tar czf backup_$DATE.tar.gz /important/data/
# 查看归档信息
tar tzf archive.tar.gz | head -10
# 仅提取特定文件
tar xzf archive.tar.gz "specific_file.txt"
小贴士
- 最常用且功能强大的归档工具。
- 与压缩工具结合使用效果更佳。
- 支持多种压缩格式。
📦 unarj 命令
功能与作用 解压 ARJ 格式的压缩文件,ARJ 是一种早期的压缩格式,主要在 DOS 和 Windows 上使用。
参数详解
| -x | 完全路径解压 |
| -e | 忽略路径解压 |
| -l | 列出压缩文件内容 |
| -v | 显示详细过程 |
| -p | 密码保护 |
| -f | 强制操作 |
使用示例
# 列出 ARJ 文件内容
unarj l archive.arj
# 解压到当前目录
unarj e archive.arj
# 完全路径解压
unarj x archive.arj
# 显示解压过程
unarj v archive.arj
# 解压到指定目录
unarj x archive.arj /target/directory/
# 解压带密码的文件
unarj x -pPASSWORD archive.arj
# 在脚本中批量解压
#!/bin/bash
for file in *.arj; do
unarj x "$file" /extract/path/
done
# 查看压缩文件信息
unarj vb archive.arj
小贴士
- 主要用于旧系统或特定场景。
- 需要安装 unarj 工具。
- 支持密码保护。
📦 unrar 命令
功能与作用 解压 RAR 格式的压缩文件,在 Linux 系统中需要单独安装。
参数详解
| [x](file://e:\\Linux常用命令大全\\新建%20Microsoft%20Word%20文档.docx) | 完全路径解压文件 |
| e | 忽略路径解压文件 |
| l | 列出压缩文件内容 |
| [t](file://e:\\Linux常用命令大全\\001.文件管理\\001.cat命令\\config.txt) | 测试压缩文件完整性 |
| v | 显示详细过程 |
使用示例
# 列出 RAR 文件内容
unrar l archive.rar
# 解压到当前目录
unrar e archive.rar
# 完全路径解压
unrar x archive.rar
# 测试压缩文件完整性
unrar t archive.rar
# 显示解压过程
unrar v archive.rar
# 解压到指定目录
unrar x archive.rar /target/directory/
# 在脚本中批量解压
#!/bin/bash
for file in *.rar; do
unrar x "$file" /extract/path/
done
# 解压带密码的文件
unrar x -pPASSWORD archive.rar
# 查看压缩文件信息
unrar vb archive.rar
# 解压最新文件
unrar e -o+ archive.rar
小贴士
- 需要安装 unrar 或 rar 工具。
- 支持密码保护的压缩文件。
- 可通过 wine 运行 Windows 版本。
📦 unzip 命令
功能与作用 解压 ZIP 格式的压缩文件,是最常见的解压工具之一。
参数详解
| -l | 列出压缩文件内容 |
| -t | 测试压缩文件完整性 |
| -x | 排除指定文件 |
| -d | 指定解压目录 |
| -v | 显示详细过程 |
| -n | 不覆盖已存在文件 |
| -o | 覆盖已存在文件 |
使用示例
# 列出 ZIP 文件内容
unzip -l archive.zip
# 解压到当前目录
unzip archive.zip
# 解压到指定目录
unzip archive.zip -d /target/directory/
# 测试压缩文件完整性
unzip -t archive.zip
# 排除特定文件解压
unzip archive.zip -x "*.tmp"
# 显示解压过程
unzip -v archive.zip
# 覆盖已存在文件
unzip -o archive.zip
# 不覆盖已存在文件
unzip -n archive.zip
# 在脚本中批量解压
#!/bin/bash
for file in *.zip; do
unzip -q "$file" -d "${file%.zip}"
done
# 解压特定文件
unzip archive.zip "specific_file.txt"
# 查看压缩文件信息
unzip -Z archive.zip
# 解压加密文件
unzip -P PASSWORD archive.zip
小贴士
- 最广泛支持的压缩格式。
- 图形界面也普遍支持。
- 可通过 zipinfo 查看详细信息。
📤 zip 命令
功能与作用 创建 ZIP 格式的压缩文件,支持跨平台使用。
参数详解
| -r | 递归处理目录 |
| -q | 静默模式 |
| -v | 显示详细过程 |
| -u | 更新文件 |
| -d | 从压缩文件中删除文件 |
| -m | 压缩后删除原文件 |
| -e | 加密压缩文件 |
| -0 至 -9 | 设置压缩级别 |
使用示例
# 压缩文件
zip archive.zip file1.txt file2.txt
# 递归压缩目录
zip -r archive.zip mydirectory/
# 设置压缩级别(最佳压缩)
zip -9 archive.zip *.txt
# 显示压缩过程
zip -v archive.zip *.txt
# 更新压缩文件
zip -u archive.zip newfile.txt
# 从压缩文件中删除文件
zip -d archive.zip unwanted.txt
# 加密压缩
zip -e secure.zip confidential/*
# 静默压缩
zip -q backup.zip *.doc
# 压缩后删除原文件
zip -m archive.zip *.log
# 在脚本中创建备份
#!/bin/bash
DATE=$(date +%Y%m%d)
zip -r backup_$DATE.zip /important/data/
# 查看压缩文件内容
unzip -l archive.zip
# 创建分卷压缩文件
zip -s 100m large_archive.zip large_directory/
小贴士
- 跨平台兼容性最好。
- 支持密码保护。
- 可创建分卷压缩文件。
📁 zipinfo 命令
功能与作用 显示 ZIP 压缩文件的详细信息,包括文件列表、压缩率、时间戳等。
参数详解
| -l | 长格式显示 |
| -m | 显示压缩方法 |
| -s | 显示总计信息 |
| -v | 详细模式 |
| -h | 显示帮助 |
使用示例
# 显示 ZIP 文件信息
zipinfo archive.zip
# 长格式显示
zipinfo -l archive.zip
# 显示压缩方法
zipinfo -m archive.zip
# 显示总计信息
zipinfo -s archive.zip
# 详细模式
zipinfo -v archive.zip
# 只显示文件列表
zipinfo -1 archive.zip
# 显示特定文件信息
zipinfo archive.zip "*.txt"
# 在脚本中检查压缩文件
#!/bin/bash
if zipinfo -t archive.zip > /dev/null 2>&1; then
echo "Valid ZIP file"
else
echo "Invalid ZIP file"
fi
# 比较压缩率
zipinfo -l archive.zip | tail -1
# 查找大文件
zipinfo -l archive.zip | sort -k4 -n | tail -10
小贴士
- 提供比 unzip -l 更详细的信息。
- 可用于验证 ZIP 文件完整性。
- 支持通配符筛选文件。
总结:以上是Linux系统中最重要的备份压缩命令的完整汇总,从传统的归档工具(ar、cpio)到现代压缩算法(gzip、bzip2、zip),再到专门的备份工具(dump、restore),涵盖了日常文件打包、压缩存储、系统备份和数据迁移的各个方面。这些命令广泛应用于 Linux 系统管理、软件发布、数据保护和网络传输等场景,是每个Linux系统管理员和开发者必备的核心技能。建议结合实际操作练习掌握,并根据具体需求选择合适的工具和参数。



