Linux 常用的压缩与解压文件类型:.tar,.gz、.tar.gz,.bz2、.tar.bz2,.Z、.tar.Z,.zip,.rar等。

Linux 常用的压缩与解压缩命令有:tar,gzip、gunzip,bzip2、bunzip2,compress 、uncompress, zip、 unzip,rar、unrar 等。

Summary:

压缩:

tar –cvf jpg.tar *.jpg       // 将目录里所有jpg文件打包成 jpg.tar
tar –czf jpg.tar.gz *.jpg // 将目录里所有jpg文件打包成 jpg.tar 后,并且将其用 gzip 压缩,生成一个命名为 jpg.tar.gz 的压缩包
tar –cjf jpg.tar.bz2 *.jpg // 将目录里所有jpg文件打包成 jpg.tar 后,并且将其用 bzip2 压缩,生成一个命名为jpg.tar.bz2 的压缩包
tar –cZf jpg.tar.Z *.jpg // 将目录里所有jpg文件打包成 jpg.tar 后,并且将其用 compress 压缩,生成一个命名为jpg.tar.Z 的压缩包
rar a jpg.rar *.jpg // rar格式的压缩,需要先下载 rar for linux
zip jpg.zip *.jpg // zip格式的压缩,需要先下载 zip for linux

解压:

tar –xvf file.tar         // 解压 tar 包
tar -xzvf file.tar.gz // 解压 tar.gz
tar -xjvf file.tar.bz2 // 解压 tar.bz2
tar –xZvf file.tar.Z // 解压 tar.Z
unrar e file.rar // 解压 rar
unzip file.zip // 解压 zip

小结:

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 解压

1. 压缩

1.1 打包成 .tar 文件:

  最常用的打包命令是 tar,使用 tar 程序打出来的包我们常称为 tar 包,tar 包文件的命令通常都是以 .tar 结尾的。生成 tar 包后,就可以用其它的程序来进行压缩了。

实例:

  下面这条命令是将所有 .jpg 的文件打成一个名为 all.tar 的包。-c 是表示产生新的包,-f 指定包的文件名。

# tar -cf all.tar *.jpg

  下面这条命令是将所有 .gif 的文件增加到 all.tar 的包里面去,-r 是表示增加文件的意思。

# tar -rf all.tar *.gif

  下面这条命令是更新原来 tar 包 all.tar 中 logo.gif 文件,-u 是表示更新文件的意思。   

# tar -uf all.tar logo.gif

  下面这条命令是列出 all.tar 包中所有文件,-t 是列出文件的意思。

# tar -tf all.tar

  为了方便用户在打包解包的同时可以压缩或解压文件,tar 提供了一种特殊的功能。这就是 tar 可以在打包或解包的同时调用其它的压缩程序,比如调用 gzip、bzip2 等。

tar 参数:

  这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。

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

  下面的参数是根据需要在压缩或解压档案时可选的。

-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出

  下面的参数 -f 是必须的:

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

  

1.2 压缩成 .tar.gz 文件

  这条命令是将所有 .jpg 的文件打成一个 tar 包,并且将其用 gzip 压缩,生成一个 gzip 压缩过的包,包名为 all.tar.gz。

# tar -czf all.tar.gz *.jpg  //tar 中使用 -z 这个参数来调用gzip

  gzip 是 GNU 组织开发的一个压缩程序,.gz 结尾的文件就是 gzip 压缩的结果。与 gzip 相对的解压程序是 gunzip。tar 中使用 -z 这个参数来调用gzip。

1.3 压缩成 .tar.bz2 文件

  这条命令是将所有 .jpg 的文件打成一个 tar 包,并且将其用 bzip2 压缩,生成一个 bzip2 压缩过的包,包名为 all.tar.bz2。  

# tar -cjf all.tar.bz2 *.jpg  //tar 中使用 -j 这个参数来调用 bzip2

1.4 压缩成 .tar.Z 文件

  这条命令是将所有 .jpg 的文件打成一个 tar 包,并且将其用 compress 压缩,生成一个 compress 压缩过的包,包名为 all.tar.Z。

# tar -cZf all.tar.Z *.jpg  //tar 中使用 -Z 这个参数来调用 compress

1.5 压缩成 .zip 文件

# zip all.zip *.jpg        // 将所有 .jpg 的文件压缩成一个 zip 包
# zip -r filename.zip filename // 压缩单个目录命令
# zip -r filename.zip file1 file2 file3 /usr/work/school  // 把 file1、file2、 file3、以及 /usr/work/school 目录的内容(假设这个目录存在)压缩起来,然后放入 filename.zip 文件中

  Liunx服务器上默认没有安装zip命令,所以使用时需安装:

apt-get install zip 或  yum install zip

  Linux安装unzip命令:

apt-get install unzip 或  yum install unzip

1.6 压缩成 .rar 文件

  要在 linux 下处理 .rar 文件,需要安装 RAR for Linux。下载地址:http://www.rarsoft.com/download.htm,下载后安装即可。

# tar -xzpvf rarlinux-x64-5.6.b5.tar.gz
# cd rar
# make

  这样就安装好了,安装后就有了 rar 和 unrar 这两个程序,rar 是压缩程序,unrar 是解压程序。

  这条命令是将所有 .jpg 的文件压缩成一个 rar 包,名为 all.rar,该程序会将 .rar 扩展名将自动附加到包名后。

# rar a all *.jpg

2.解压

2.1 解压 .tar 结尾的文件:

# tar -xf all.tar  //-x 是解开的意思,-f 指定包的文件名

2.2 解压 .tar.gz 或 .tgz 文件:

# tar -xzf all.tar.gz  //-x 是解开的意思,tar 中使用 -z 这个参数来调用gunzip,-f 指定包的文件名
# tar -xzf all.tgz

  解压 .gz 文件:

gunzip all.gz

2.3 解压 .tar.bz2 文件

# tar -xjf all.tar.bz2  //-x 是解开的意思,tar 中使用 -j 这个参数来调用bunzip2,-f 指定包的文件名

  解压 .bz2 文件:

bunzip2 all.bz2   

2.4 解压 .tar.Z 文件

# tar -xZf all.tar.Z  //-x 是解开的意思,tar 中使用 -Z 这个参数来调用uncompress,-f 指定包的文件名

  解压 .Z 文件:

uncompress all.Z

2.5 解压 .zip 文件

unzip all.zip

2.6 解压 .rar 文件

  要在 linux 下处理 .rar 文件,需要安装 RAR for Linux。详情请看章节1.6。

# unrar e all.rar

References

Linux tar.gz、tar、bz2、zip 等解压缩、压缩命令详解


【Linux基础】压缩和解压的更多相关文章

  1. linux下压缩和解压

    .tar 解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)———————————————.gz解压1:gun ...

  2. Linux tar压缩和解压

    经常会忘记 tar 压缩和解压命令的使用,故记下来. 1. 打包压缩 tar -zcvf pack.tar.gz pack/ #打包压缩为一个.gz格式的压缩包 tar -jcvf pack.tar. ...

  3. linux之压缩和解压

    归档:也称为打包,指的是一个文件或目录的集合,而这个集合被存储在一个文件中.归档文件没有经过压缩,因此,它占用的空间是其中所有文件和目录的总和.压缩:压缩文件也是一个文件和目录的集合,且这个集合也被存 ...

  4. Linux使用——Linux命令——Linux文件压缩和解压使用记录

    一:tar(可压缩可解压) tar命令是Unix/Linux系统中备份文件的可靠方法,几乎可以工作于任何环境中,它的使用权限是所有用户.但是tar本身只是一个文件打包工具,只有和其他工具组合时才具有压 ...

  5. Linux 基础——压缩解压命令

    时间过的真快,周末不会学习Linux,每天就是下班后学习.这周工作很忙,要几天总结一次了. 一.处理数据文件 sort dest:将目标文件的内容进行排序,默认是按字符顺序排序的. sort -n d ...

  6. Linux常用压缩和解压命令

    .tar 解包 tar xvf filename.tar.tar 打包 tar cvf filename.tar dirname.gz 解压1 gunzip filename.gz.gz 解压2 gz ...

  7. linux zip压缩和解压的各种操控

    1.把/home文件夹以下的mydata文件夹压缩为mydata.zip zip -r mydata.zip mydata #压缩mydata文件夹 2.把/home文件夹以下的mydata.zip解 ...

  8. Linux下压缩和解压命令

    http://man.linuxde.net/tar

  9. Linux下tar bz gz等压缩包的压缩和解压

    Linux下用户经常需要备份计算机系统中的数据,为了节省存储空间,常常将备份文件进行压缩,本文是对压缩和解压命令的大致总结 .tar.gz  解压:tar zxvf FileName.tar.gz  ...

  10. Linux下tar bz gz等压缩包的压缩和解压【转】

    Linux下用户经常需要备份计算机系统中的数据,为了节省存储空间,常常将备份文件进行压缩,本文是对压缩和解压命令的大致总结 .tar.gz  解压:tar zxvf FileName.tar.gz  ...

随机推荐

  1. leetcode 26 80 删除已排序数组中重复的数据

    80. Remove Duplicates from Sorted Array II Follow up for "Remove Duplicates":What if dupli ...

  2. Java中能否利用函数参数来返回值

    转自https://blog.csdn.net/da_da_xiong/article/details/70039532 我们在写代码时通常会遇到一种情况,就是我们可能希望在一个函数操作完成后返回两个 ...

  3. hkws摄像头拆机

  4. 基于Java实现红黑树的基本操作

    首先,在阅读文章之前,我希望读者对二叉树有一定的了解,因为红黑树的本质就是一颗二叉树.所以本篇博客中不在将二叉树的增删查的基本操作了,需要了解的同学可以到我之前写的一篇关于二叉树基本操作的博客:htt ...

  5. Mac PyCharm激活码(转载CSDN的猪哥66文章)

    对于很多刚接触python的新手来说,各种资源都是非常稀缺的.我也是刚接触python不久的新手,有好的资源就分享出来大家共同进步. 这篇文章是教你怎么安装和破解pycharm的教程,我在2019.4 ...

  6. sau交流学习社区—vue总结:使用vue的computed属性实现监控变量变化,使用vue的watch属性监控变量变化从而实现其他业务

    有时候遇到这么个需求,输入框为空的时候,请求一遍接口,如果输入框不为空的时候,需要点击搜索按钮请求接口. 同步sau交流学习社区:https://www.mwcxs.top/page/464.html ...

  7. 死磕 java集合之PriorityBlockingQueue源码分析

    问题 (1)PriorityBlockingQueue的实现方式? (2)PriorityBlockingQueue是否需要扩容? (3)PriorityBlockingQueue是怎么控制并发安全的 ...

  8. BoltDB简单使用教程

    1.BoltDB简介 Bolt是一个纯粹Key/Value模型的程序.该项目的目标是为不需要完整数据库服务器(如Postgres或MySQL)的项目提供一个简单,快速,可靠的数据库. BoltDB只需 ...

  9. 第65章 博客帖子 - Identity Server 4 中文文档(v1.0.0)

    第65章 博客帖子 65.1 团队帖子 65.1.1 2019 IdentityServer中的范围和声明设计 尝试使用IdentityServer4的设备流程 OAuth2中隐含流的状态 另一种保护 ...

  10. Java并发——volatile关键字

    什么是内存可见性? 这里就要提一下JMM(Java内存模型).当线程在运行的时候,并不是直接直接修改电脑主内存中的变量的值.线程间通讯也不是直接把一个线程的变量的值传给另一个线程,让其刷新变量.下面是 ...