tar命令用于Linux下打包压缩文件,常用选项包括-c(创建)、-x(解压)、-v(显示过程)、-f(指定文件名)、-z(gzip压缩)、-j(bzip2)、-J(xz);例如tar -czvf archive.tar.gz /path打包并gzip压缩,tar -xzvf archive.tar.gz解压,支持-C指定路径及-t查看内容,结合grep可过滤文件列表,gzip速度快,bzip2和xz压缩率高但耗时长。

在Linux系统中,打包和压缩文件是日常运维、备份或传输数据时的常见操作。其中最常用的工具就是 tar 命令。它不仅可以将多个文件打包成一个归档文件(打包),还能结合压缩程序如 gzip、bzip2、xz 实现压缩功能。
tar 命令基本语法
tar [选项] [归档文件名] [文件或目录]
常用选项说明:
- -c:创建新的归档文件(create)
- -x:解压并解包归档文件(extract)
- -v:显示处理过程中的详细信息(verbose)
- -f:指定归档文件名(file)
- -z:使用 gzip 压缩或解压(生成 .tar.gz 或 .tgz 文件)
- -j:使用 bzip2 压缩(生成 .tar.bz2 文件,压缩率更高)
- -J:使用 xz 压缩(生成 .tar.xz 文件,压缩率最高)
- -t:查看归档文件内容,不提取
打包并压缩文件或目录
将某个目录打包并压缩为 .tar.gz 格式:
tar -czvf archive.tar.gz /path/to/directory
说明:
- -c 表示创建新归档
- -z 表示用 gzip 压缩
- -v 显示文件处理过程
- -f 指定输出文件名为 archive.tar.gz
如果想用 bzip2 压缩,命令改为:
tar -cjvf archive.tar.bz2 /path/to/directory
使用 xz 压缩:
tar -cJvf archive.tar.xz /path/to/directory
解压 tar 归档文件
解压 .tar.gz 文件到当前目录:
tar -xzvf archive.tar.gz
解压到指定目录:
tar -xzvf archive.tar.gz -C /target/directory/
如果是 .tar.bz2 文件:
tar -xjvf archive.tar.bz2
如果是 .tar.xz 文件:
tar -xJvf archive.tar.xz
查看归档文件内容
不解压的情况下查看 tar 包里有哪些文件:
tar -tvf archive.tar.gz
可以结合 grep 过滤特定文件:
tar -tvf archive.tar.gz | grep "filename"
基本上就这些。tar 命令灵活强大,掌握几个核心参数就能应对大多数打包压缩需求。注意压缩格式的选择:gzip 速度快,bzip2 和 xz 压缩率高但耗时稍长。根据实际场景选择合适的方式即可。










