Linux常见的压缩格式有.zip.gz.bz2.tar.tar.gz.tar.bz2;常用的压缩命令有ziptar。这里列举了各压缩命令的使用示例。更多的用法请使用命令 --help查阅。

zip

格式:

zip [options] 目标压缩包名称 待压缩源文件
unzip [-Z] [options] 待压缩源文件 [list] [-x xlist] [-d exdir]

常用命令:

# 压缩文件
zip myfile.zip myfile # 压缩文件夹(包含子目录)
zip -r mydir.zip mydir # 压缩当前目录所有文件
zip mydir.zip * # 解压文件
unzip mydir.zip

zip更多参数:

-v 显示操作详细信息

-d 从压缩包里删除文件
-m 将文件剪切到压缩包里,源文件将被删除
-r 递归压缩 -x 排除文件 -c 加一行备注
-z 加备注 -T 测试压缩包完整性
-e 加密 -q 安静模式 -1, --fast 更快的压缩速度
-9, --best 更好的压缩率 --help 查看帮助
-h2 查看更多帮助

unzip更多参数:

-v 显示操作详细信息

-l 查看压缩包内容
-d 解压到指定文件夹
-x 排除压缩包内文件 -t 测试压缩包文件内容
-z 查看备注 -o 覆盖文件无需提示
-q 安静模式 --help 查看帮助

示例:

$ ls
t.md t.php t.php.zip # 创建压缩包
$ zip -v myfile.zip t.*
adding: t.md (in=8121) (out=1051) (deflated 87%)
adding: t.php (in=740) (out=319) (deflated 57%)
adding: t.php.zip (in=1666) (out=1666) (stored 0%)
total bytes=10527, compressed=3036 -> 71% savings # 测试压缩包完整性
$ zip -T myfile.zip
test of myfile.zip OK # 测试压缩包文件内容
$ unzip -t myfile.zip
Archive: myfile.zip
testing: t.md OK
testing: t.php OK
testing: t.php.zip OK
No errors detected in compressed data of myfile.zip. # 查看压缩包里内容
$ unzip -l myfile.zip
Archive: myfile.zip
Length Date Time Name
--------- ---------- ----- ----
8121 06-08-2016 17:03 t.md
740 06-08-2016 17:02 t.php
1666 07-30-2016 17:38 t.php.zip
--------- -------
10527 3 files # 从压缩包里删除文件t.php.zip
$ zip -d myfile.zip t.php.zip
deleting: t.php.zip # 从压缩包里删除文件t.php
$ zip -d myfile.zip t.php
deleting: t.php # 添加文件到压缩包里
$ zip -u myfile.zip t.php
adding: t.php (deflated 57%) # 给压缩包添加注释
$ zip -z myfile.zip
enter new zip file comment (end with .):
test
. # 查看压缩包注释
$ unzip -z myfile.zip
Archive: myfile.zip
test # 解压到指定文件夹
$ unzip myfile.zip -d my
Archive: myfile.zip
test .
inflating: my/t.md
inflating: my/t.php # 排除文件不解压
$ unzip myfile.zip -x t.php -d my
Archive: myfile.zip
test .
inflating: my/t.md

gz

格式:

gzip [options] 待压缩源文件
gunzip [options] 待解压文件

不用写最终的压缩文件名,会自动在后面加.gz后缀,同时删除源文件。

常用命令:

# 压缩1.log,同时会自动删除源文件
gzip 1.log # 解压1.log.gz,同时会自动删除压缩包
gzip -d 1.log.gz # 压缩1.log,保留源文件
gzip -k 1.log # 解压1.log.gz,保留压缩包
gzip -dk 1.log.gz # 查看压缩包信息
gzip -l 1.log.gz # 递归的对目录里的每个文件单独压缩
gzip -r mydir

注意:gunzipgzip -d等效,都可以解压gz文件。

更多参数:

-c, --stdout 将压缩后的内容在标准输出显示出来,保留原文件

-1, --fast 更快的压缩速度
-9, --best 更好的压缩率

示例:

# 压缩1.log为1.log.gz,保留源文件
gzip -c 1.log > 1.log.gz

bz2

格式:

bzip2 [options] 待压缩源文件
bunzip2 [options] 待解压文件

常用命令:

# 压缩1.log
bzip2 1.log
bzip2 -k 1.log # 解压1.log.bz2
bzip2 -d 1.log.bz2
bzip2 -dk 1.log.bz2
bunzip2 1.log.bz2
bunzip2 -k 1.log.bz2

更多参数:

-c, --stdout 将压缩后的内容在标准输出显示出来,保留原文件

-1, --fast 更快的压缩速度
-9, --best 更好的压缩率

tar

格式:

tar [options] 目标压缩包名称 待压缩源文件

常用命令:

# 打包后,以gzip 压缩
tar zcvf test.tar.gz /test #压缩/test为test.tar.gz # 解压test.tar.gz
tar zxvf test.tar.gz # 打包后,以bzip2 压缩
tar jcvf test.tar.bz2 /test #压缩/test为test.tar.bz2 # 解压test.tar.bz2
tar jxvf test.tar.bz2 # 仅打包,不压缩
tar cvf test.tar /test #压缩/test为test.tar # 解压test.tar
tar xvf test.tar # 查看压缩包内容列表
tar tvf test.tar.gz # 解压到指定文件夹(目标文件夹必须存在)
$ tar -zxvf all.tar.gz -C my/ # 压缩时排除某些目录
$ tar -zcvf tomcat.tar.gz --exclude=tomcat/logs tomcat
$ tar -zcvf tomcat.tar.gz --exclude=tomcat/logs --exclude=tomcat/libs --exclude=tomcat/xiaoshan.txt tomcat

常用参数说明:

-c, --create: 建立压缩档案
-x, --extract, --get:解压
-t, --list:查看内容
-r, --append:向压缩归档文件末尾追加文件
-u, --update:更新原压缩包中的文件
-d, --diff, --compare 将压缩包里的文件与文件系统进行对比
--delete 从压缩包里删除

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

-z, --gzip, --gunzip, --ungzip:有gzip属性的
-j, --bzip2:有bz2属性的
-Z, --compress, --uncompress:有compress属性的
-v, --verbose:显示所有过程
-O, --to-stdout:将文件解开到标准输出 -C, --directory=DIR:解压到指定文件夹

最后的参数-f是必须的:

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

查看命令帮助:

tar --help
tar -?
tar --usage

更多示例:

# 比较压缩包里文件与源文件变动
$ tar --diff -vf 1.log.tar 1.log
1.log
1.log: Mod time differs
1.log: Size differs # 删除压缩包里的1.log
$ tar --delete -vf 1.log.tar 1.log # 向压缩归档文件里追加文件
$ tar rvf 1.log.tar 1.log 2.log
1.log
2.log # 向压缩归档文件里更新文件
$ tar uvf 1.log.tar 1.log 2.log

说明:不能向tar.gz和tar.bz2里追加或者更新文件:

$ tar zrvf all.tar.gz 3.log
tar: Cannot update compressed archives
Try 'tar --help' or 'tar --usage' for more information.

参考:

http://www.cnblogs.com/qq78292959/archive/2011/07/06/2099427.html

Linux压缩命令的更多相关文章

  1. Linux压缩命令总结

    2018-02-28  10:43:18 linux压缩和解压缩命令大全 tar命令:tar本身仅是一个打包的命令,不具有压缩的功能.打包后源文件仍然存在,具有将多个文件归档成一个文件的功能[root ...

  2. Linux压缩命令(zip/gz/bz2/tar/tar.gz/tar.bz2)

    一.Linux的压缩格式 .zip . gz . bz2    .tar 1..zip格式(Linux和Windows是可以互传的) 压缩命令 语法:zip 文件名.zip 文件名  ------压缩 ...

  3. linux 压缩命令详解

    原文地址:http://www.2cto.com/os/201112/114982.html 编写shell脚本的时候经常需要解压缩到指定的文件夹,tar命令是最常用的 参考一下说明,其中注意-C的用 ...

  4. linux 压缩命令

    .zip格式压缩 zip 压缩文件名 源文件     压缩文件 zip -r 压缩文件名 源目录    #压缩目录 .zip格式解压缩 unzip 压缩文件     #解压缩 .gz格式压缩 gzip ...

  5. Linux —— 压缩命令

    压缩与解压命令 .zip格式 压缩文件: zip 压缩文件名 原文件名 (压缩目录添加 -r) 解压缩文件/目录: unzip .zip压缩包 .gz格式 压缩文件: gzip 原文件名称 压缩文件为 ...

  6. linux 压缩命令 zip

    1.zip命令 例如:zip -r mysql.zip mysql 该句命令的含义是:将mysql文件夹压缩成mysql.zip zip -r abcdef.zip abc def.txt 这句命令的 ...

  7. Linux下的压缩和解压缩命令——bzip2/bunzip2

    bzip2命令 bzip2命令用于创建和管理(包括解压缩)".bz2"格式的压缩包. 我们遇见Linux压缩打包方法有很多种,以下讲解了Linux压缩打包方法中的Linux bzi ...

  8. Linux常用命令学习3---(文件的压缩和解压缩命令zip unzip tar、关机和重启命令shutdown reboot……)

    1.压缩和解压缩命令    常用压缩格式:.zip..gz..bz2..tar.gz..tar.bz2..rar .zip格式压缩和解压缩命令        zip 压缩文件名 源文件:压缩文件   ...

  9. Linux常用命令--文件的压缩和解压缩

    在Linux系统中,我们通常使用的文件压缩命令有:bunzip2 , bzip2 , cpio , gunzip , gzip ,split(切割文件) , zgrep(在压缩文件中寻找匹配的正则表达 ...

随机推荐

  1. Codeforces Round #388 (Div. 2) - A

    题目链接:http://codeforces.com/contest/749/problem/A 题意:给定一个数n,求把n分解成尽量多的素数相加.输入素数个数和具体方案. 思路:因为要尽量多的素数, ...

  2. 6种方法实现asp.net返回上一页

    其实要实现返回上一页的功能,主要还是要用到JavaScript. 一: 在ASP.net的aspx里面的源代码中 <input type="button onclick="J ...

  3. ASP.NET - 回滚事务

    SqlConnection con =new SqlConnection(ConnectionDb.conStr);//获取数据库连接 con.Open();//打开连接 SqlTransaction ...

  4. Content Negotiation in ASP.NET Web API

    本文描述Web API实现内容协商(content negotiation). The HTTP specification (RFC 2616) defines content negotiatio ...

  5. Linux Shell 数组

    shell 数组一般都是一维数组. 1. 数组的声明 declare -a arr 该命令将声明一个数组arr,实际上不声明也可以直接定义数组. 2. 数组的初始化 arr=(1 2 3):该命令定义 ...

  6. Building a RESTful Web Service

    Reference: https://spring.io/guides/gs/rest-service/ 参照上述链接进行操作,使用gradle build. 因为total new to this. ...

  7. 【填坑向】bzoj2038小Z的袜子 莫队

    学莫队必做题,,,但是懒得写.今天来填个坑 莫队水题 莫队实际上就是按一个玄学顺序来离线计算询问,保证复杂度只会多一个n1/2,感觉是玄学(离线算法都很玄学) 易错点:要开long long(卡我半天 ...

  8. Ajax完整篇(转载)

    Ajax 完整教程 第 1 页 Ajax 简介Ajax 由 HTML.JavaScript™ 技术.DHTML 和 DOM 组成,这一杰出的方法可以将笨拙的 Web 界面转化成交互性的 Ajax 应用 ...

  9. Python3.5 day3作业二:修改haproxy配置文件。

    需求: 1.使python具体增删查的功能. haproxy的配置文件. global log 127.0.0.1 local2 daemon maxconn 256 log 127.0.0.1 lo ...

  10. 使用系统自带的GCD的timer倒计时模板语句遇到的小坑。。

    今天折腾了下系统gcd的 但是如果不调用这句dispatch_source_cancel()那么这个timer根本不工作....解决方法如下: 实现一个倒计时用自带的gcd如此简洁.. 原因可能是如果 ...