命令使用:tar  主选项+辅选项  压缩后文件名  要压缩的文件

-c 建立压缩文件(常用)

-x 解压(常用)

-t 查看压缩文件(常用)

-r 向压缩文件末尾追加文件

-u 更新一个压缩包中的文件

上述五个参数是主选项,是互斥的(只能出现其中的一个),所有的归档操作都需要用到其中的一个,可以和辅选项连用:

-z 使用gzip压缩

-j 使用bz2压缩

-J 使用xz压缩

-Z 使用compress压缩(compress,已被bzip代替)

-v 显示过程

-w 每压缩一个文件都需要确认(不常用)

-O 解开到标准输出STDOUT(不常用)

-f 指定压缩包名,切记!这个参数最后出现,后面接压缩包名,也是必选参数

# tar -cf all.tar *.jpg

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

# tar -rf all.tar *.gif

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

# tar -uf all.tar logo.gif

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

# tar -tf all.tar

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

# tar -xf all.tar

这条命令是解出all.tar包中所有文件,-t是解开的意思,如果需要解压到特定目录加-C参数,tar -xf all.tar -C dirname

3种压缩方式:

压缩方式

参数

特性

gzip

z

.gz早期的压缩方式,压缩性能小,但是快

bzip2

j

.bz2中期的压缩方式,压缩能力中

xz

J

.xz现在常用的压缩方式,压缩能力强,速度慢

PS:使用什么方式压缩,解压时也必须使用此方式!

# tar    -czvf    /mnt/etc.tar.gz    /etc

//对/etc文件夹使用gzip方式进行压缩,压缩后存放为/mnt/etc.tar.gz

# tar    -cjvf    /mnt/etc.tar.bz2    /etc

//对/etc文件夹使用bzip2方式进行压缩,压缩后存放为/mnt/etc.tar.bz2

# tar    -cJvf    /mnt/etcz.tar.xz   /etc

//对/etc文件夹使用xz方式进行压缩,压缩后存放为/mnt/etcz.tar.xc

# tar    -xzvf    /mnt/etc.tar.gz   -C   /liu

//对/mnt/etc.tar.gz进行解压,如果想指定解压后的文件存放位置,需要-C参数来指定

# tar    -xjvf    /mnt/etc.tar.bz2   -C   /liu

//对/mnt/etc.tar.bz2进行解压,如果想指定解压后的文件存放位置,需要-C参数来指定

# tar    -xJvf   /mnt/etcz.tar.xz   -C   /liu

//对/mnt/etcz.tar.xz进行解压,如果想指定解压后的文件存放位置,需要-C参数来指定

简单的说一下打包(打包文件,归档文件)和压缩(压缩文件,压缩包文件,压缩包),打包是把一堆文件或一个目录(文件夹)合成一个文件,压缩是把一个文件通过某种算法将其占用容量变小。

tar是打包命令,gzip等是压缩命令。

tar -cf file file1 file2 file3把三个文件打包成一个文件file

tar -cf file dir把dir目录打包成一个文件file

tar -xf file解压打包文件

tar -czf file file1 file2 file3把三个文件先打包成一个文件,然后调用gzip压缩

tar -xzf file解压经过gzip压缩的打包文件

gzip压缩程序:(gzip -h显示帮助)

gzip s1把s1文件使用gzip方式压缩(s1.gz),并替换原文件(s1)

gzip -c s1 > s1.gz把s1文件压缩,并另存为s1.gz

gzip -d s1.gz把s1.gz解压,并替换原文件

gzip -dc s1.gz > s1把s1.gz解压,并另存为s1

gzip -v s1显示压缩过程

gzip -t s1.gz检查压缩文件的完整性

gzip -l s1.gz显示压缩文件s1的压缩后大小 未压缩大小 压缩比 未压缩前的名字

gzip -5 -c s1 > s1.gz以压缩比5(-num可选值为1~9,1是最快压缩,等价于--fast,9是最高压缩,等价于--best)将s1文件压缩并另存为s1.gz

zcat 压缩包名,不解压在STDOUT显示压缩文件的内容

PS:出现gzip:unknown suffix --ignored,说明欲解压的文件未带gz后缀。(使用mv重命名即可解决或gzip -d -c 未带gz后缀的压缩文件 > 解压后的名字)

bzip2压缩程序:(bzip2 -h显示帮助)

bzip2 s1把s1使用bzip2方式压缩(s1.bz2),并替换原文件(s1)

bzip2 -k s1同上,但是保留原文件

bzip2 -c s1 > s1.bz2同上

bzip2 -t s1.bz2测试压缩包完整性

bzip -kv s1压缩时显示执行过程,需要更详细的过程,指定两次该参数,bzip -kvv s1

bzip -d s1.bz2解压缩,并替换原文件

bzip -dk s1.bz2同上,但是保留原文件

bzip -dc s1.bz2>s1同上

bzip -5 -k s1(-num同gzip)

PS:bzip -k -c s1>s1_stdout.bz2,这时-k参数失效,只会出现s1_stdout.bz2压缩包

出现bzip2:can’t guess original name for XXX -- using XXX.out,意思是解压时提供的压缩包没有bz2后缀,bzip2程序尝试以bzip2解压,并把解压出的文件添上out后缀

bzcat与zcat作用一样

xz压缩程序:(xz -h显示帮助)

类似bzip2。

UNIX-like的软件都遵循这个标准:一个工具只做一件事情,所以在linux上打包和压缩是两个独立的概念,上述讲到的压缩程序gzip bzip2 xz都只能压缩一个文件,不能压缩目录,要压缩目录需要先通过tar程序打包。

Linux下打包、压缩和解压的更多相关文章

  1. linux下打包压缩和解压命令

    .tar 压缩:tar cvf FileName.tar FileName 解压:tar xvf FileName.tar .gz解压1:gunzip FileName.gz解压2:gzip -d F ...

  2. Linux下的压缩和解压

    1. gzip, bzip2 能否直接压缩目录呢?不可以 2. 请快速写出,使用gzip和bzip2压缩和解压一个文件的命令.压缩:gzip 1.txt bzip2 1.txt解压:gzip -d 1 ...

  3. Linux下打包压缩war和解压war包

    Linux下打包压缩war和解压war包 unzip是一种方法,如果不行则采用下面的方法 把当前目录下的所有文件打包成game.war jar -cvfM0 game.war ./ -c   创建wa ...

  4. Linux下打包压缩war和解压war包 zip和jar

    ============jar================= 把当前目录下的所有文件打包成game.warjar -cvfM0 game.war ./ -c   创建war包-v   显示过程信息 ...

  5. Linux下的压缩和解压缩命令gzip/gunzip

    作者:邓聪聪 Linux下的压缩和解压缩命令——gzip/gunzip yum -y install zip gzip (--安装压缩工具) gzip命令 gzip命令用来压缩文件.gzip是个使用广 ...

  6. linux 实用指令压缩和解压类

    linux 实用指令压缩和解压类 目录 linux 实用指令压缩和解压类 gzip/gunzip指令(不常用) zip/unzip指令 tar指令(常用) gzip/gunzip指令(不常用) 说明 ...

  7. Linux下常用压缩 解压命令和压缩比率对比

    常用的格式有:tar, tar.gz(tgz), tar.bz2, 不同方式,压缩和解压方式所耗CPU时间和压缩比率也差异也比较大. 1. tar只是打包动作,相当于归档处理,不做压缩:解压也一样,只 ...

  8. Linux下常用压缩 解压命令与压缩比率对比

    常用的格式有:tar, tar.gz(tgz), tar.bz2, 不同方式,压缩和解压方式所耗CPU时间和压缩比率也差异也比较大. 1. tar只是打包动作,相当于归档处理,不做压缩:解压也一样,只 ...

  9. 浅谈Linux下各种压缩 解压命令和压缩比率对比

    Linux下压缩.解压命令五花八门,不像在windows下一个winrar打遍天下无敌手,清一色的.rar .zip格式. 比如,Linux下常用的tar tar.gz tar.bz2 .Z等等不一而 ...

  10. 【转】Linux下常用压缩 解压命令和压缩比率对比

    https://www.cnblogs.com/joshua317/p/6170839.html 常用的格式有:tar, tar.gz(tgz), tar.bz2, 不同方式,压缩和解压方式所耗CPU ...

随机推荐

  1. BZOJ 1572: [Usaco2009 Open]工作安排Job 贪心 + 堆 + 反悔

    Description Farmer John想修理牧场栅栏的某些小段.为此,他需要N(1<=N<=20,000)块特定长度的木板,第i块木板的长度为Li(1<=Li<=50, ...

  2. [转载]ext4文件系统的delalloc选项造成单次写延迟增加的分析

    转载http://www.cnblogs.com/cobbliu/p/5603472.html 最近我们的服务进程遇到kill -15后处于Z的状态,变为了僵尸进程,经过/proc/{thread_i ...

  3. 复习C语言基础知识(day02)

    一.大型软件组织 定义规则,规则就是协议.用户和中介的接口. 软件开发的过程: 定义规则,定义协议.软件为用户提供的功能. 在C语言中使用接口实现.接口就是函数. 两种用户 函数的使用者 函数的实现者 ...

  4. nyoj4-ASCII码排序

    ASCII码排序 时间限制:3000 ms | 内存限制:65535 KB 难度:2 描述 输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符. 输入 第一行输入一个数N, ...

  5. vue采坑一:全局API

    Vue.set Vue.set( target, key, value ),target不能是 Vue 实例,或者 Vue 实例的根数据对象,因为源码中做了如下判断: var ob = (target ...

  6. 【hihocoder 1287】 数论一·Miller-Rabin质数测试

    [题目链接]:http://hihocoder.com/problemset/problem/1287 [题意] [题解] 取的底数必须是小于等于n-1的; 那12个数字能通过2^64以内的所有数字; ...

  7. 移位运算>>与>>>

    无符号右移运算符 (>>>)右移表达式的位,不保留符号.result = expression1 >>> expression2>>>运算符把 e ...

  8. 洛谷 P2634 BZOJ 2152 【模板】点分治(聪聪可可)

    题目描述 聪聪和可可是兄弟俩,他们俩经常为了一些琐事打起来,例如家中只剩下最后一根冰棍而两人都想吃.两个人都想玩儿电脑(可是他们家只有一台电脑)……遇到这种问题,一般情况下石头剪刀布就好了,可是他们已 ...

  9. 敏捷迭代:Sprint燃尽图的7个图形特征及说明的问题

    本文写于很多年前(2006),并在很多地方被引用.而现在,笔者对于Sprint燃尽图的理解有了戏剧性的变化--在看到很多团队滥用它之后.笔者不再建议团队做Sprint燃尽图,因为它们不仅不会增加多少有 ...

  10. hdu - 3498 - whosyourdaddy(反复覆盖DLX)

    题意:N(2 ≤ N ≤ 55)个点,M(0 ≤ M ≤ N*N)条无向边,删除一个点会把与其相邻的点一起删掉.问最少删几次能够删掉全部点. 题目链接:pid=3498">http:/ ...