Linux下常用的压缩格式有:

gz,bz2,xz,zip,Z //只能压缩文件不能压缩目录,如果传递一个目录,他会把目录中的文件逐个压缩
  、、压缩算法:算法不同,压缩比也不同
gz:gzip,压缩后为 .gz //gunzip解压缩
-d :解压缩
-#(#范围为1-9):指定压缩比,压缩比越小,压缩速度越快,压缩后的文件也越大,默认为6
zcat:在不解压的情况下查看压缩文本文件的内容(临时解压文件查看,关闭之后临时文件被删除)
bz2:bzip2,压缩后为.bz2
比gzip更大压缩比的压缩工具,对大文件来讲,bzip2有很大优势,使用格式近似 //加压缩bunzip2
-d:
-#:(1-9)
-k:可以保存原文件
bzcat:如果是文本文件,可以不用解压缩直接查看
xz:压缩后为.xz 用法相似 ||unxz,xzdec解压很小的文件,解压到屏幕
-d:
-#:
-c:输入到屏幕上来
-k:保留原文件
xzcat:
只能压缩文件,压缩比会更大
可以一次压缩一个文件也可以一次压缩多个文件
默认这些压缩命令压缩完会删除原文件,只保留压缩后的文件
解压缩之后也会默认删除原来的压缩文件,只保留解压缩之后的文件
 
zip: //压缩后默认不删除原文件
可以压缩目录,但压缩比不大
使用格式:zip 指定压缩名 要压缩的文件或目录
eg:zip test.zip test/ //压缩test目录,压缩完之后是test.zip
zip将多个文件压缩在一起,是一个既压缩又归档的命令
unzip 压缩文件:解压缩
archive 归档,把多个文件整合在一起,归档本身并不意味着压缩
 
 
tar: //只归档不压缩的文件。。。.tar
-c:创建归档文件
-f FILE.tar:操作的归档文件,指定压缩后文件的名称,f后必须带上参数
eg:tar -cf test.tar test*
-xf FILE.tar:展开归档文件
--xattrs: 表示在归档的同时,保留文件的扩展属性信息
-tf FILE.tar:不展开归档,查看归档到底归档了哪些文件
即归档又压缩:
-zcf:调用gzip,并创建归档文件
eg:tar -zcf test.tar.zip test/
-zxf:先解压缩后归档
eg:tar -zxf test.tar.zip //删除时-z选项可以删除
 
-jcf:调用bzip2,并创建归档文件
-jxf:先解压缩后归档
 
-Jcf:调用xz,并创建归档文件
-Jxf:先解压缩后归档
 
-gtf:不解压直接看归档的文件 -g可以省略,因为系统可以根据后缀名判断解压的类型
tar也是一个很好用的备份工具
 
cpio: 做成归档或者展开归档 把文件做成归档或者从归档中复制出来文件
 
练习:写一个脚本
从键盘让用户输入几个文件,脚本能够将此几个文件归档压缩成一个文件
sum.sh //直接跟命令行交互
#!/bin/bash
//echo -n "Input two intergers" //-n是为了不换行的输入
read -p "Input two intergers" A B //-p直接提示
echo "$A + $B is $[$A+$B]"
 
#!/bin/bash
read -p "Three files:" FILE1 FILE2 FILE3
read -p "Destination" DEST
read -p "Compress[gzip|bzip|xz]:" COMP
 
case COMP in
gzip)
tar -zcf $(DEST).tar.gz $FILE1 $FILE2 $FILE3
;;
bzip2)
tar -jcf $(DEST).tar.bz2 $FILE1 $FILE2 $FILE3
;;
xz)
tar -cf $(DEST).tar $FILE1 $FILE2 $FILE3
xz $(DEST).tar
;;
*)
echo "Unknown"
exit 9
;;
esac

Linux下的压缩及归档的更多相关文章

  1. 常见压缩格式分析,及 Linux 下的压缩相关指令

    可先浏览加粗部分 一.常见压缩档 *.zip | zip 程式壓縮打包的檔案: (很常见,但是因为不包含文件名编码信息,跨平台可能会乱码) *.rar | winrar 程序压缩打包的档案:(在win ...

  2. Linux下压缩工具gzip和归档工具tar及其实战shell应用

    Linux下压缩工具gzip和归档工具tar及其实战shell应用       第一章:gzip的使用技巧 gzip [option]... file... -d: 解压缩,相当于gunzip; -# ...

  3. Linux下查看压缩文件内容的 10 种方法

    Linux下查看压缩文件内容的 10 种方法 通常来说,我们查看归档或压缩文件的内容,需要先进行解压缩,然后再查看,比较麻烦.今天给大家介绍 10 不同方法,能够让你轻松地在未解压缩的情况下查看归档或 ...

  4. Linux下的压缩zip,解压缩unzip命令详解及实例

    实例:压缩服务器上当前目录的内容为xxx.zip文件 zip -r xxx.zip ./* 解压zip文件到当前目录 unzip filename.zip ====================== ...

  5. Linux下的压缩解压缩命令详解

    linux zip命令zip -r myfile.zip ./*将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件. 2.unzipunzip -o - ...

  6. linux下文件压缩与解压操作

    对于刚刚接触Linux的人来说,一定会给Linux下一大堆各式各样的文件名给搞晕.别个不说,单单就压缩文件为例,我们知道在Windows下最常见的压缩文件就只有两种,一是,zip,另一个是.rap.可 ...

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

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

  8. Linux下的压缩zip,解压缩unzip命令具体解释及实例

    实例:压缩server上当前文件夹的内容为xxx.zip文件 zip -r xxx.zip ./* 解压zip文件到当前文件夹 unzip filename.zip ================= ...

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

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

随机推荐

  1. go_封装

    go语言中首字母大写表示public go语言中首字母小写表示private 结构定义的方法必须放在同一个包内 一个目录只能放一个包 如何扩充系统的类型或别人的类型: 1.定义别名 2.使用组合 使用 ...

  2. 阿里云EIP按流量计费

    https://help.aliyun.com/document_detail/27767.html 计费周期为1小时,账单周期也为1小时.在一个计费周期内,如果您使用的时间不足一小时,按一小时收费. ...

  3. 此实现不是Windows平台FIPS验证的加密算法的一部分

    运行wpf程序,出现错误“此实现不是Windows平台FIPS验证的加密算法的一部分”. 解决方法: 1.在window中打开功能里输入regedit,回车打开注册器: 2.进入如下路径中 HKEY_ ...

  4. 安装scrapy解决的坑

    在windows下: pip install scrapy 最后一步报错: 本来以为是缺少 Microsoft Visual C++ 14.0 这个库,一看下载需要400多M,算了再看下报错... 感 ...

  5. __slots__(面向对象进阶)

    1.__slots__是什么:是一个类变量,变量值可以是列表,元祖,或者可迭代对象,也可以是一个字符串(意味着所有实例只有一个数据属性) 2.引子:使用点来访问属性本质就是在访问类或者对象的__dic ...

  6. cnblog博客管理

    http://www.cnblogs.com/wc1903036673/                                        12436109 https://www.cnb ...

  7. 我读《大数据时代的IT架构设计》

    架构设计是一门艺术,对架构的掌握要通过多看,多学,多交流,多积累,从实战架构上总能吸收到很好的营养,这边书虽然 (一).hadoop技术处理电信行业的上网日志 根据上网的url或未知url爬取内容,进 ...

  8. 如何让多个android listview同时使用一个滚动条

    如何让多个android listview同时使用一个滚动条 重新设置ListView的高度 /** * 设置listview高度,注意listview子项必须为LinearLayout才能调用该方法 ...

  9. MVC和WebApi 使用get和post 传递参数(转)

    出处:http://blog.csdn.net/qq373591361/article/details/51508806 我们总结一下用js请求服务器的传参方法. Get方式 Get主要是用来查询,一 ...

  10. Java中10个流对象重点掌握

    目前为止,10个流对象重点掌握: 字符流: FileReader FileWriter BufferedReader BufferedWriter 字节流: FileInputStream FileO ...