NASA/JPL/Space Science Institute
784 字
4 分钟
Linux 解压缩命令整理
省流
tar cavf archive.tar file1 file2 dir1 # 打包成无压缩的 tar 文件tar cavf archive.tar.gz file1 file2 dir1 # 打包成 gzip 压缩的 tar 文件tar cavf archive.tar.zst file1 file2 dir1 # 打包成 zstd 压缩的 tar 文件
tar xvf archive.tar # 解压 tar 文件tar xvf archive.tar -C /path/to/extract # 解压到指定目录
zip -r archive.zip dir1 # 压缩成 zip 文件unzip archive.zip # 解压 zip 文件
unrar x archive.rar # 解压 rar 文件
unar archive.rar # 解压 rar 文件unar archive.zip # 解压 zip 文件unar archive.7z # 解压 7z 文件
7z a archive.7z dir1 # 压缩成 7z 文件7z x archive.7z # 解压 7z 文件tar
tar 是 Linux 环境最常用的打包/归档工具,除了打包成无压缩的 .tar 文件外,也可以直接打包成带压缩的归档文件,如 .tar.gz、.tar.xz、.tar.zst 等,十分方便。它的一大优势是能够完整保留文件的权限和元数据,因此非常适合在 Linux/Unix 系统之间打包、备份和迁移文件。
压缩:tar cavf
建议使用 -a 参数,这样 tar 会根据归档文件的后缀名自动选择压缩程序,从而避免忘加或者加错压缩参数的问题。
tar cavf archive.tar file1 file2 dir1tar cavf archive.tar.gz file1 file2 dir1tar cavf archive.tar.xz file1 file2 dir1tar cavf archive.tar.zst file1 file2 dir1解压:tar xvf
tar xvf archive.tartar xvf archive.tar -C /path/to/extract # 解压到指定目录查看内容:tar tvf
tar tvf archive.tar参数含义
-c: create,创建新的归档文件。-x: extract,从归档文件中提取文件。-t: list,列出归档文件中的内容。-v: verbose,显示详细的操作过程。-f: file,指定归档文件的名称。-a: auto-compress,根据归档文件的后缀名自动选择压缩程序。
zip
在需要和 Windows 系统交换文件时,为了兼容 Windows,可能需要选择 zip 格式。要知道,有些 Windows 用户解压 zip 文件都要看教程
压缩
zip -r archive.zip file1 file2 dir1zip -r archive.zip dir1-r表示递归地压缩目录
解压
unzip archive.zip查看内容
unzip -l archive.zipunrar
RAR 是一种闭源、专有的压缩格式,只能通过 WinRAR 压缩,因此在 Linux 上通常只能解压而不能创建。如果没有 RAR 压缩需求,可以用开源的 unrar 工具来解压 RAR 文件。
解压
unrar x archive.rar查看内容
unrar l archive.rarunar
unar 是一个开源的统一解压工具,基本可以替代 unzip, unrar 和 7z 的解压功能。它支持 zip, rar, 7z 等绝大多数常见格式,不过可惜的是目前不支持 zstd。
此外,unar 最大的亮点是能自动处理文件名编码,有时候用 unzip 解压 zip 压缩包会出现中文文件名乱码,换成 unar 解压通常就没有问题。
解压
unar archive.rarunar archive.7zunar archive.zip查看内容
lsar archive.rarlsar archive.7zlsar archive.zip7z
7z 的优势在于跨平台兼容性,以及很高的压缩比。在 Windows 上有不少人用,不过如果不考虑跨平台兼容性,个人认为 tar.zst 是更好的选择,zstd 的压缩和解压速度明显更快,压缩比也很高。
压缩
7z a archive.7z file1 file2 dir1解压
7z x archive.7z查看内容
7z l archive.7z