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. Scrapy shell调试网页的信息

    通过scrapy shell "http://www.thinkive.cn:10000/zentaopms/www/index.php?m=user&f=login"

  2. OX中修改文件名

    右击文件,显示简介,名称与扩展名

  3. LINUX 查看当前系统的内存使用情况

    # free 显示结果如下: Mem:表示物理内存统计 total 内存总数 8057964KB used 已使用的内存 7852484KB free 空闲的内存数 205480KB shared 当 ...

  4. 一台电脑安装多个版本的jdk

    我们平时在做Java开发的时候,有时需要使用多个版本的jdk, 那么一台电脑上需要安装多个JDK了. 那一台电脑上可不可以同时安装多个版本的jdk呢? 答案是可以的! 但使用的时候,只能使用一个,不能 ...

  5. Easyui之datagrid实现点击单元格修改单元格背景颜色

    前段时间有个需求中有点击datagrid的单元格实现某种事件,调用datagrid的onclickCell这个方法很容易实现,但是体验不好啊,完全不知道自己刚才点击的是哪个单元格,然后就尝试单击单元格 ...

  6. Java_位运算(移位、位与、或、异或、非)

    public class Test { public static void main(String[] args) { // 1.左移( << ) // 0000 0000 0000 0 ...

  7. GDB调试汇编分析

    GDB调试汇编分析 代码 本次实践我参照了许多先做了的同学的博客,有卢肖明,高其,张梓靖同学.代码借用的是卢肖明同学的代码进行调试运行. GCC编译 使用gcc -g gdbtest.c -o gdb ...

  8. 使用Dotfuscator 进行.Net代码混淆 代码加密的方法

    混淆代码能在一定程度上放置代码被盗用,保护我们的知识产权 1.打开vs2012,选择工具-〉Dotfuscator Software Services 2.选择你需要混淆的DLL 文件,可以多选择 3 ...

  9. window.location.href 中文乱码问题。。。。

    window.location.href 中文乱码问题.... 要解决此问题需要两次解码, 第一次解码: 是在页面中的js脚本中解码:window.location.href = "save ...

  10. .NET中的DES对称加密

    DES是一种对称加密(Data Encryption Standard)算法,于1977年得到美国政府的正式许可,是一种用56位密钥来加密64位数据的方法.一般密码长度为8个字节,其中56位加密密钥, ...