Linux打包与解压相关命令

系统集成 盛行 4年前 (2015-05-17) 76次浏览 已收录 0个评论 扫描二维码
文章目录
[隐藏]

zip相关

注意这种格式需要安装zip包。

yum install -y zip

将gsgc目录下所有的文件打成一个名为gsgc.zip的包

zip -r gsgc.zip gsgc/*

注意这种格式需要安装unzip包。

yum install -y unzip

解压gsgc.zip中所有的文件

unzip gsgc.zip

tar相关

将gsgc目录下所有.exe的文件打成一个名为gsgc.tar的包。-c是表示产生新的包,-f指定包的文件名。

tar -cf gsgc.tar gsgc/*.exe

将gsgc目录下所有.txt的文件增加到gsgc.tar包里面。-r是表示增加文件的意思。

tar -rf gsgc.tar gsgc/*.txt

将gsgc目录下updatelog.txt文件更新到gsgc.tar压缩包内,-u是表示更新文件的意思。

tar -uf gsgc.tar gsgc/updatelog.txt

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

tar -tf gsgc.tar

解压gsgc.tar包中所有文件,-t是解压

tar -xf gsgc.tar

tar.gz相关

注意这种格式需要安装gzip包。

yum install -y gzip

将gsgc目录下所有的文件打成一个名为gsgc.tar.gz的包

tar -czvf gsgc.tar.gz gsgc/*

打包gsgc目录的所有文件(但是不包括/gsgc/*.dll)

tar -czvf gsgc.tar.gz --exclude=gsgc/*.dll gsgc/*

查看压缩包里面的内容

tar -tf gsgc.tar.gz

将gsgc.tar.gz包解压

tar -xzvf gsgc.tar.gz

解压gsgc.tar.gz包到/root目录下

tar -xzvf gsgc.tar.gz -C /root

tar.bz2相关

注意这种格式需要安装bzip2包。

yum  install -y bzip2

将gsgc目录下所有的文件打成一个名为gsgc.tar.bz2的包

tar -cjvf gsgc.tar.bz2 gsgc/*

查看压缩包里面的内容

tar -tf gsgc.tar.bz2
tar -xjvf gsgc.tar.bz2

tar.xz相关

注意这种格式需要安装xz包。

yum install -y xz

将gsgc目录下所有的文件打成一个名为gsgc.tar.xz的包

tar -Jcvf gsgc.tar.xz gsgc/*
tar -Jxvf gsgc.tar.xz

压缩率

以下是对于相同文件压缩出来的包大小

du * -sh | sort -hr
218M    gsgc.tar
218M    gsgc
103M    gsgc.zip
103M    gsgc.tar.gz
99M     gsgc.tar.bz2
82M     gsgc.tar.xz

以上实验得出压缩比越高的,耗时越久,压缩包体积越小,相应解压时间也越久,具体根据情况选择压缩类型。

技巧

有时候在打包某个目录的时候,例如test目录下、file目录下、所有的*.dll排除打包到压缩包,可以使用以下命令对不需要的目录或文件进行排除,支持通配符。

tar -czvf gsgc.tar.gz --exclude=gsgc/test --exclude=gsgc/file --exclude=gsgc/*.dll gsgc/*
注意:在指定排除目录的时候,目录结尾不能带”/“否则将会排除失败。比如--exclude=gsgc/test如果写成--exclude=gsgc/test/,则打包的时候还是会打包进去。

IT博客站版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Linux打包与解压相关命令
喜欢 (0)
[使用支付宝扫码]
分享 (0)
盛行
关于作者:
企业应用技术爱好者,喜欢分享知识。如果文章中有错误,欢迎指正,谢谢。
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址