设为首页 收藏本站
查看: 650|回复: 0

[经验分享] linux下文件打包和压缩

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-7-21 08:50:46 | 显示全部楼层 |阅读模式
1. 打包和压缩文件

linux下目前常用gzip和bzip2来压缩文件,tar打包文件。
常用扩展名:
*.gz   gzip压缩的文件
*.bz2  bzip2压缩的文件
*.tar   tar打包的文件,没有压缩
*.tar.gz  tar打包文件,经过gzip压缩
*.tar.bz2  tar打包文件,经过bzip2压缩

2. gzip压缩

gzip是使用最广的压缩命令。用来代替compress压缩。


    $ gzip -h  
    gzip 1.3.3  
    (2002-03-08)  
    usage: gzip [-cdfhlLnNrtvV19] [-S suffix] [file ...]  
    常用参数  
    -c : 压缩数据输出到屏幕,可重定向处理  
    -d : 解压缩  
    -t : 检验压缩文件的一致性,看看文件是否错误  
    -v : 显示压缩的详细信息,压缩比等  
    -# : 数字,压缩等级,1-9,9压缩率最高,默认6  

压缩文件


    $ gzip -v test  
    test:   53.1% -- replaced with test.gz  

压缩会删掉本地文件,新建test.gz文件
不删除文件使用重定向


    $ gzip -c test > test.gz  

查看压缩后的文件内容,不解压缩的情况下,使用zcat命令


    $ zcat test.gz   


3. bzip2

bzip2是用来代替gzip的压缩,比gzip压缩比例还高,使用参数几乎和gzip相同。


    $ bzip2 -h  
    bzip2, a block-sorting file compressor.  Version 1.0.2, 30-Dec-2001.  
      
       usage: bzip2 [flags and input files in any order]  
    常用参数  
    -c : 压缩数据输出到屏幕,可重定向处理  
    -d : 解压缩  
    -k : 保留原文件  
    -z : 压缩  
    -t : 检验压缩文件的一致性,看看文件是否错误  
    -v : 显示压缩的详细信息,压缩比等  
    -# : 数字,压缩等级,1-9,9压缩率最高,默认6  

使用


    #压缩test文件,生成test.bz2  
    $ bzip2 -z test  
      
    #保留原文件, 压缩生成test.bz2  
    $ bzip2 -k test  
      
    #解压缩文件  
    $ bzip2 -d test.bz2  

查看压缩文件内容,使用bzcat


    $ bzcat test.bz2   


3. 打包:tar

tar为打包命令,将多个文件打包成一个文件。
还包含压缩参数。


    $ tar --help  
    GNU `tar' saves many files together into a single tape or disk archive, and  
    can restore individual files from the archive.  
      
    Usage: tar [OPTION]... [FILE]...  
      
    Examples:  
      tar -cf archive.tar foo bar  # Create archive.tar from files foo and bar.  
      tar -tvf archive.tar         # List all files in archive.tar verbosely.  
      tar -xf archive.tar          # Extract all files from archive.tar.  
      
    #参数  
    -c 新建压缩文件  
    -t 列出压缩文件列表  
    -x 解压缩文件  
       -c,-t,-x不能同时出现  
      
    -j 通过bzip2来压缩或解压缩,文件名最好为. *.tar.bz2  
    -z 通过gzip压缩或解压缩, 文件名最好为 *.tar.gz  
    -v 展示正在处理的详细信息  
    -f 后面跟要被处理的文件名  
    -C 解压时,后面跟解压到的目录名  
      
    -p 保留文件的原本权限  
    -P 保留绝对路径  
    --exclude=FILE 排除FILE文件  

tar的基本用法


    #创建bzip2压缩文件  
    $ tar -jcv -f test.tar.bz2 test/  
    test/  
    test/1  
    test/10  
      
    #创建gzip压缩文件  
    $ tar -zcv -f test.tar.gz test  
    test/  
    test/1  
    test/10  
      
    #查看文件  
    $ ll  
    drwxrwxr-x  2 work work     4096 Jul 19 19:12 test  
    -rw-rw-r--  1 work work    61897 Jul 19 19:13 test.tar.bz2  
      
    #不解压缩情况下查看文件列表  
    $ tar -jtv -f test.tar.bz2   
    tar: Record size = 8 blocks  
    drwxrwxr-x work/work         0 2014-07-19 19:12:40 test/  
    -rw-rw-r-- work/work      6353 2014-07-19 19:12:40 test/1  
    -rw-rw-r-- work/work      6343 2014-07-19 19:12:40 test/10  
      
    #解压缩到当前目录  
    $ tar -jxv -f test.tar.bz2   
    test/  
    test/1  
    test/10  
      
    #解压缩到指定目录test2  
    $ mkdir test2  
    $ tar -jxv -f test.tar.bz2 -C test2   
    test/  
    test/1  
    test/10  
      
    #保留原文件权限  
    $ tar -zcvp -f etc.tar.gz /etc  
      
    #查看压缩文件  
    $ tar -ztv -f etc.tar.gz   

打包时不包含某个文件


    #创建压缩文件,不包含某个文件test/10  
    $ tar -zcv -f test.tar.gz  --exclude=test/10 test/*  
    test/1  

备份比某个时刻更新的文件


    $ tar -zcv -f etc.tar.gz --newer-mtime="2013/10/31" /etc/*  
    /etc/xinetd.d/  
    tar: /etc/yp.conf: file is unchanged; not dumped  
    #not dumpd表示没有备份的  




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-22393-1-1.html 上篇帖子: linux文件名查找which,whereis,locate 下篇帖子: iptables的CLUSTER target与以太网交换机的思想 linux
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表