文章目录

  • 查看帮助文档
  • tar、rar、zip压缩解压实例
    • tar压缩解压实例
    • rar压缩解压实例
    • zip压缩解压实例
  • tar常用参数
  • 总结
  • 项目问题记录---tar解压失败
  • .lzme包
  • LZMA压缩/解压缩工具命令行用法参考
  • 参考资料

查看帮助文档

tar --help
#和
man tar

tar、rar、zip压缩解压实例

tar压缩解压实例

//.tar压缩解压:
tar -cvf webs.tar webs      //将webs目录里所有文件打包到webs.tar
tar -xvf file.tar           //解压 tar包
//.tar.gz压缩解压:
tar -czf webs.tar.gz webs   //将webs目录里所有文件打包成webs.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为webs.tar.gz
tar -xzvf file.tar.gz       //解压 tar.gz包
//.tar.bz2压缩解压:
tar -cjf webs.tar.bz2 webs  //将webs目录里所有文件打包成webs.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为webs.tar.bz2
tar -xjvf file.tar.bz2      //解压 tar.bz2包
//.tar.Z压缩解压:
tar -cZf webs.tar.Z webs    //将webs目录里所有文件打包成webs.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为webs.tar.Z
tar -xZvf file.tar.Z        //解压 tar.Z包//解压到指定目录
tar -xaf /home/app/webs.tar -C /var/www/webs

注意:v参数是可选参数,表示是否显示压缩/解压过程。
注意:用什么参数必须用配套的命名,否则难以识别用什么方式解压;

rar压缩解压实例

rar a webs.rar webs      //rar格式的压缩,需要先下载rar for linux
unrar x webs.rar        //解压 rar包的完整路径
unrar e webs.rar        //解压 rar包到当前路径#加密示例
rar -hp a webs.rar webs     #输入后,开始输入两次密码,密码一样则开始压缩

zip压缩解压实例

zip webs.zip webs        //zip格式的压缩,需要先下载zip for linux
unzip webs.zip          //解压 zip包//压缩这个目录下所有文件和文件夹
zip -q -r test.zip *//解压到指定目录
unzip -d ./test test.zip

注意:压缩目录时,比如webs目录,命令不能为zip webs.zip webs/否则解压后只是一个空文件夹。
https://www.runoob.com/linux/linux-comm-zip.html

tar常用参数

-c:建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件

这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。

-z:有gzip属性的,通过 gzip 过滤归档
-j:有bz2属性的,通过 bzip2 过滤归档
-v:显示所有过程
-Z:有compress属性的,通过 compress 过滤归档
-O:将文件解开到标准输出
-a:使用归档后缀来决定如何压缩/解压程序
–lzma:通过 lzma 过滤归档
-C:解压至目录DIR

下面的参数-f是必须的
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。

总结

1、*.tar 用 tar -xvf 解压

2、*.gz 用 gzip -d或者gunzip 解压

3、.tar.gz和.tgz 用 tar -xzf 解压

4、*.bz2 用 bzip2 -d或者用bunzip2 解压

5、*.tar.bz2用tar -xjf 解压

6、*.Z 用 uncompress 解压

7、*.tar.Z 用tar -xZf 解压

8、*.rar 用 unrar e解压

9、*.zip 用 unzip 解压

项目问题记录—tar解压失败

在使用tar进行压缩时,压缩包的命令原则上是根据属性来命名后缀,例如上面的示例。

其实这里的命名是自由命名的,如:

tar -cvf webs.mz webs        //直接打tar包并命名为webs.mz
tar -czf webs.mz webs       //将文件打包成tar包,然后用gzip压缩,再命名为webs.mz
tar -cjf webs.mz webs       //将文件打包成tar包,然后用bzip2压缩,再命名为webs.mz

当看到webs.mz压缩包时,我们并不能根据后缀".mz"知道压缩包的属性。

注意:使用tar压缩时,一定注意是否需要带-z属性,当某机器压缩袋-z属性,但另外的机器解压时不支持gzip时,就会出现解压失败的情况

如:

编译服务器:tar -czf webs.tar webs                          //带有z属性
嵌入式设备:tar xaf /home/app/webs.tar -C /var/www/webs        //设备不支持gzip

解压失败提示:tar: invalid tar magic

.lzme包

项目嵌入式设备中,有压缩包 xxx.tar.lzma ,设备执行的解压命令为:

 /bin/tar xaf /home/xxx.tar.lzma -C /home/app

现程序改动需要更新打包更新 xxx.tar.lzma 升级到设备里,升级后发现设备解压 xxx.tar.lzma失败,但是又不知道前人是如何压缩得到的 xxx.tar.lzma,并且原 xxx.tar.lzma 压缩包只有612KB

尝试如下:

尝试一:tar czvf xxx.tar.lzma xxxs        //本质是.tar.gz包,压缩包大约954KB
结果:解压失败尝试二:tar cvf xxx.tar.lzma xxxs      //本质是.tar包,但是过于大,有3070KB
设备解压:tar xaf xxx.tar.lzma -C ./test
结果:解压失败,提示 tar: short read,失败原因是-a属性解析后缀lzma,发现并不是.lzma格式的包
修改解压:tar xf xxx.tar.lzma -C ./test   //去掉-a参数
结论:虽然如此能解压了,但是存在两个问题:1.需要修改设备解压命令;2.xxx.tar.lzma包文件过大;所以还是压缩存在问题;尝试三:tar -c --lzma -f xxxs.tar.lzma xxxs
结果:解压失败尝试四:
tar czvf xxx.tar xxxs           //954KB
lzma xxx.tar                    //964KB
结果:解压失败,并且这里有一个问题,使用lzma后,压缩包到更大了。尝试五:
在设备中执行压缩操作:tar czvf xxx.tar.lzma tests
设备提示:tar: can't execute 'gzip': No such file or directory
结论:说明设备不支持带z熟悉大压缩和解压,所以尝试一和尝试四均失败;

最后实在是头大,就想通过查找现有.sh文件,看看有没有相关信息。终于让我给找到了:

tar cf tests.tar test        //3070KB
lzma -f tests.tar           //712KB,该操作默认生成tests.tar.lzma,删除tests.tar,若不需删除执行lzma -kf tests.tar

将压缩包拷贝到设备里,通过设备解压命令 /bin/tar xaf /home/xxx.tar.lzma -C /home/app 解压成功。

LZMA压缩/解压缩工具命令行用法参考

原文:https://blog.csdn.net/lihangde1990/article/details/22172525

LZMA (Lempel-Ziv-Markov chain-Algorithm) 基于著名的LZ77压缩算法改进的压缩/解压工具,特点:高压缩率,高解压速度,低内存消耗,lzma命令行工具使用方式和gzip,bzip2类似,对已经熟悉gzip,bzip2这类工具的用户来说,上手并不难。
对比两大主流压缩工具:gzip,bzip2:
1,lzma和bzip2在速度上面远远输给gzip,但在压缩率方面,lzma算法占优势。
2,lzma拥有比gzip,bzip2更高的压缩比率,压缩后文件更小,纯文本文件压缩更加明显,在解压方面比bzip2速度快出数倍,对于想要有较高的压缩率,又不想消耗太多内存,lzma是首先。
3,文件属性,lzma压缩和解压缩能保持文件所有人,权限和修改时间等信息,但是gzip不保存这些信息。

速度: bzip2 < lzma < gzip
压缩率: gzip < bzip2 < lzma
文件信息:gzip 不保留, bzip2 , lzma 保留
这么看来,好像没有太多理由再用 bzip2 了?呵呵,不过bzip2仍是我的最爱,目前还没有办法一下子接受lzma,
虽然lzma很优秀,但我已经习惯了 tar cjvf 和 tar xjvf 了!

lzma在绝大多数Linux和Unix系统中默认安装。

几个主要参数:
-d --decompress --uncompress
指定解压缩,比如 lzma -d test.lzma,该命令相当于 unlzma test.lzma
-f --force
强制解压/压缩,忽略一切问题,比如:目标文件已经存在,直接覆盖等。
-h --help
显示帮助
-k --keep
不删除原始文件,
-t --test
测试,不解压
-v --verbose
显示进度等信息,
-z --compress
强制压缩

用法示例

压缩文件:lzma  test.tar
压缩后生成:lzma.tar.lzma 并且原文件 test.tar会被删除,要想保留,添加 -k 选项
lzma -k test.tar解压:
lzma -d test.tar.lzma 或 unlzma test.tar.lzma
解压后 test.tar.lzma默认被删除,如果想保留,添加-k选项,如果目标文件已经存在,lzma不会覆盖,而报错退出执行,
添加 -f忽略:
lzma -kf test.tar
覆盖已经存在的 lzma.tar.lzma 同时保留原文件 test.tar解压:
lzma -dkf test.tar.lzma
覆盖已经存在的 test.tar 同时保留 test.tar.lzma

linux tar 不支持 lzma 如何添加呢

https://zhidao.baidu.com/question/624367443315083564.html

sudo apt-get install lzma 不行
没lzma 这个程序 源码找不到

gnu tar的1.26版本开始支持lzma和xz压缩,下载tar源码编译安装就行了

参考资料

https://www.cnblogs.com/lhm166/articles/6604852.html

Linux 压缩、解压缩文件(invalid tar magic 报错)
https://blog.csdn.net/iamplane/article/details/64442366

tar linux 命令 在线中文手册
http://cache.baiducontent.com/c?m=9d78d513d98512ef4caad420024c91205b43811021ca8e4e2393d95f93135c420c3da1ac275541598cd83d3052ef1806f7b66532&p=882a9645dc8a12a05aab8e215843c6&newp=8c769a47c58850fb1ebd9b7d0d1c8f231610db2151d0da01298ffe0cc4241a1a1a3aecbf22201a01d1c779670aa54b58e9f73d78320234f1f689df08d2ecce7e3cc3366036&user=baidu&fm=sc&query=tar&qid=9d9ae03400028987&p1=9

Linux使用高压缩率的lzma和xz
http://blog.chinaunix.net/uid-23065002-id-3282684.html

linux tar.gz zip 解压缩命令
https://blog.csdn.net/u014296316/article/details/82120091

Linux下的tar压缩解压缩命令使用相关推荐

  1. linux下tar命令解压缩,tar解压缩命令 Linux下的tar压缩解压缩命令详解

    <tar解压缩命令 Linux下的tar压缩解压缩命令详解>由会员分享,可在线阅读,更多相关<tar解压缩命令 Linux下的tar压缩解压缩命令详解(14页珍藏版)>请在人人 ...

  2. linux下的tar压缩解压缩命令详解,Linux下的tar压缩解压缩命令详解

    linux下tar gz bz2 tgz z等众多压缩文件的压缩与解压方法,需要的朋友可以参考下 Linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命 ...

  3. linux压缩命令 实例子,Linux下的tar压缩解压缩命令详解及使用实例分析

    格式:tar zcvf 压缩后的路径及包名 你要压缩的文件 z:gzip压缩 c:创建压缩包 v:显示打包压缩解压过程 f:接着压缩 t:查看压缩包内容 x:解压 X:指定文件列表形式排除不需要打包压 ...

  4. Linux——Linux下的tar压缩解压缩命令详解

    转自:http://www.cnblogs.com/qq78292959/archive/2011/07/06/2099427.html tar 参数 作用 -c 建立压缩档案 -x 解压 -t 查看 ...

  5. Linux下的tar压缩解压缩命令详解(转)

    tar -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个 ...

  6. 【Linux命令】Linux下的tar压缩解压缩命令详解(转)

    tar-c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个.下 ...

  7. Linux下的tar压缩解压缩命令详解

    tar -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个 ...

  8. bz2解压命令_Linux下的tar压缩解压缩命令

    tar -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个 ...

  9. tar压缩解压缩命令详解

    tar压缩解压缩命令详解 tar命令详解 -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个, ...

最新文章

  1. python爬虫(五)_urllib2:urlerror和httperror
  2. “压扁数组”技巧(flattening the array)
  3. linux内核同步之信号量、顺序锁、RCU、完成量、关闭中断【转】
  4. Spring中ApplicationContext和beanfactory区别
  5. NOIP2013NOIP2018USACO 三倍经验铺路题巧妙解法
  6. undefined与null
  7. RN对接京东支付sdk(Android)
  8. Android音视频开发之——音频非压缩编码和压缩编码,神级Android进阶笔记
  9. 一文揭秘字节跳动、华为、京东的薪资职级
  10. 爆炸三角形如何用计算机实现,爆炸三角形原理
  11. 前后端交互之——AJAX提交
  12. 如何利用Slack客户端漏洞窃取Slack用户下载的所有文件
  13. php实现aes ecb模式加密,PHP、Python、Java的AES ECB加密实现-Fun言
  14. 彩色图像、灰度图像、二值图像和索引图像
  15. 专利申请成功后已超过4年,如何延长专利保护期?
  16. 小程序项目:基于微信小程序的快递取件及上门服务——计算机毕业设计
  17. c 中的ajax异步刷新,jstl中c:foreach下的表格实现异步刷新
  18. WPF教程UpdateSourceTrigger属性
  19. 开发集团正版小型OA办公软件系统收费标准是多少?
  20. 一个c加一个g是什么牌子_皮带有个g是什么牌子?皮带上有g是哪个品牌?

热门文章

  1. 节省3000元!教你如何自考一举拿下PMP!
  2. Oracle 使用coe_xfr_sql_profile.sql迁移执行计划
  3. Java并发——Synchronized和Volatile
  4. golang 实现solidity keccak256(abi.encode(xxx))签名
  5. Linux搭建泰拉瑞亚(原版/模组/插件)服务器之原版服务器
  6. The Machines 测评、下载及黑屏解决办法
  7. “把电脑音量调高,音箱音量调低”和“把电脑音量调低,音箱音量调高”两种情况达到同一分贝时音质有区别吗?...
  8. python反向缩进_pycharm 多行批量缩进和反向缩进快捷键介绍
  9. VC++屏幕捕获并保存成图片(附源码)
  10. oracle spool命令