Linux tar归档及常用压缩解压命令

来源:互联网 发布:矩阵逆时针旋转90度 编辑:程序博客网 时间:2024/04/27 22:14

本文结构包括

  • tar常用用法解释示例
  • tar归档以及压缩解压命令的示例(图例)
  • 压缩命令总结

tar(仅归档不压缩)命令简析

以下为man tar文档的常用内容翻译
名称

   tar - 文件归档管理

摘要

   tar [选项...] [文件]...

描述及参数解释

   GNU命令 `tar'可以保存多个文件到一个单独的磁带或者磁盘归档中(打包但不压缩额),也可以从归档中恢复出多个文件

手册示例

   tar -cf archive.tar foo bar          #将文件files和bar归档到archive.tar中   tar -tvf archive.tar          #列出archive.tar归档中的文件   tar -xf archive.tar          #从归档archive.tar中提取(释放)文件

常用参数解析:

  -A, --catenate, --concatenate      追加一个tar文件到一个归档中去   -c, --create          创建新的归档   -d, --diff, --compare          找出归档与文件系统的差别   --delete          从归档中删除文件   -r, --append          为归档中添加文件   -t, --list          显示归档中的文件   --test-label          测试归档的容量标签并退出   -u, --update          只添加比归档中的文件新的文件   -x, --extract, --get          从归档中提取文件   -C, --directory=DIR          更改目录为DIR   -f, --file=ARCHIVE          使用归档文件或者设备归档   -j, --bzip2          通过bzip过滤归档    -J, --xz          通过xz过滤归档   -p, --preserve-permissions          提取文件权限信息(默认超级用户)   -v, --verbose          列出详细的过程   -z, --gzip          通过gzip过滤归档

压缩选项:
-a, –auto-compress
使用归档的后缀自动选择压缩工具

   -I, --use-compress-program=PROG          通过PROG过滤 (必须接受参数 -d)   -j, --bzip2          通过bzip2过滤归档   -J, --xz          通过xz过滤归档   --lzip       通过lzip过滤归档   --lzma 通过lzma过滤归档   --lzop   --no-auto-compress          不要根据归档后缀决定压缩工具   -z, --gzip, --gunzip, --ungzip          通过gzip过滤归档   -Z, --compress, --uncompress          通过压缩过滤归档   注意:你需要安装额外的工具(lzip/ncompress/lzma...)去使用一些压缩参数

示例:
1. 打包归档文件;查看归档后的文档内容

tar -cf train.tar *#表示将本目录下所有内容归档到train.tartar -tf train.tar#查看归档后的文件内容

这里写图片描述

下图为从归档中提取某个文件和提取所有文件的操作

tar -f train.tar --get unit3#从归档中提取unit这个文件tar -xf train.tar #从归档中提取所有文件

这里写图片描述
2. 首先打包归档文件;然后使用zip压缩文件;最后解压缩zip压缩的文件。这里需要注意tar没有参数可以一步实现打包压缩到zip

zip -r ziptest.tar.zip ziptest.tar#压缩归档好的ziptest.tar文件unzip ziptest.tar.zip#解压缩zip文件

这里写图片描述

3.第一标注的是zip压缩打包归档后的文件
第二标注的为xz压缩打包归档后的文件
第三标注的为gzip压缩打包归档后的文件
第四标注的为bzip2压缩打包归档后的文件
第五步是各个压缩工具压缩后的压缩比比较,可见xz压缩是压缩率最高的

xz train2.tar#单独的xz命令压缩归档文件gzip train3.tar#单独的gzip命令压缩归档文件bzip2 train1.tar#单独的bzip2命令压缩归档文件

这里写图片描述

4.第一标注是tar结合-J参数一步实现文件的打包压缩(xz)
第二标注是tar结合-z参数一步实现文件的打包压缩(gzip)
第三步是各个压缩工具压缩后的压缩比比较,可见xz压缩是压缩率最高的

tar -Jcf train2.tar.xz unit* WESTOS_RH124/tar -zcf train3.tar.gz  unit* WESTOS_RH124/

这里写图片描述
5.图为bz2的解压缩示例

tar jxf train1.tar.bz2

这里写图片描述

6.图为gzip的解压缩示例

tar zxf train3.tar.gz

这里写图片描述

压缩的使用命令总结

gz
gzip etc.tar ##压缩成gz格式
gunzip etc.tar.gz ##解压gz格式压缩包
tar zcf etc.tar.gz /etc ##把文件归档为tar并压缩成gz
tar zxf etc.tar.gz ##解压并解档gz格式压缩包

bz2
bzip2 etc.tar ##压缩成bz2格式
bunzip2 etc.tar.bz2 ##解压bz2格式压缩包
tar jcf etc.tar.bz2 /etc ##把文件归档为tar并压缩成bz2
tar jxf etc.tar.bz2 ##解压并解档bz2格式压缩包

xz
xz etc.tar ##压缩成xz格式
unxz etc.tar.xz ##解压xz格式压缩包
tar Jcf etc.tar.xz /etc ##把文件归档为tar并压缩成zx
tar Jxf etc.tar.xz ##解压并解档xz格式压缩包

zip

zip -r etc.tar.zip etc.tar ##压缩成zip格式
unzip etc.tar.zip ##解压zip格式压缩包

原创粉丝点击