查看visualization1.5.tar.gz 压缩包里面的内容:

$ tar -tf visualization1.5.tar.gz

解压指定文件JavascriptVisualRelease/BFS.html到/home目录下

$ tar -zxvf visualization1.5.tar.gz JavascriptVisualRelease/BFS.html -C /home/(错误)

$ tar -zxvf visualization1.5.tar.gz  -C /home/ JavascriptVisualRelease/BFS.html

解压指定文件JavascriptVisualRelease/BFS.html到当前目录JavascriptVisualRelease/下()

$ tar -zxvf visualization1.5.tar.gz JavascriptVisualRelease/BFS.html

向压缩文件包中追加文件

(如果文件已经归档且是是压缩文件,即压缩时使用了-cz选项),则无法追加文件,否则可以追加

$ tar -rvf test.tar.gz b.txt

一,rar分卷压缩和合并解压

rar -h

我们会发现以下参数,要创建多大的卷。

v             Create volumes with size autodetection or list all volumes
v<size>[k,b]  Create volumes with size=<size>*1000 [*1024, *1]

  1. [zhangy@BlackGhost awksed]$ rar a -v5m google.rar Google_Maps_API.doc  //-v和5m之间不要有空格
  2. RAR 3.92   Copyright (c) 1993-2010 Alexander Roshal   10 Feb 2010
  3. Shareware version         Type RAR -? for help
  4. Evaluation copy. Please register.
  5. Creating archive google.rar
  6. Adding    Google_Maps_API.doc
  7. Calculating the control sum
  8. Creating archive google.part2.rar
  9. ...       Google_Maps_API.doc
  10. Calculating the control sum
  11. Creating archive google.part3.rar
  12. ...       Google_Maps_API.doc                                         OK
  13. Calculating the control sum
  14. Done
  15. [zhangy@BlackGhost awksed]$ unrar x google.part1.rar //合并并解压
  16. UNRAR 3.90 freeware      Copyright (c) 1993-2009 Alexander Roshal
  17. Extracting from google.part1.rar
  18. Extracting  Google_Maps_API.doc
  19. Extracting from google.part2.rar
  20. ...         Google_Maps_API.doc                                       76%
  21. Extracting from google.part3.rar
  22. ...         Google_Maps_API.doc                                       OK
  23. All OK

二,zip分卷压缩和合并解压

zip -h2

你会发现,分卷参数-s,意思是说分割成多大的卷

Splits (archives created as a set of split files):
-s ssize  create split archive with splits of size ssize,where ssize nm
n number and m multiplier (kmgt, default m), 100k -> 100 kB

下面的意思是说如果是分卷的了,用 -s 0 --out把分卷合成一个

If input is split, output will default to same split size
Use -s=0 or -s- to turn off splitting to convert split to single file:
zip in_split_archive -s 0 --out out_single_file_archive

用zip来分卷压缩时,他必须是.zip的形势,他的流程是这样的,先把一般文件压缩成.zip的文件,然后在将.zip的文件分成多少块,如果你不这样坐呢,会提示错误的。

[zhangy@BlackGhost awksed]$ zip -s 4m Google_Maps_API.doc
zip error: Invalid command arguments (archive name must end in .zip for splits)

  1. [zhangy@BlackGhost awksed]$ zip google.zip Google_Maps_API.doc //先压缩不然就报上面的错
  2. adding: Google_Maps_API.doc(deflated 12%)
  3. [zhangy@BlackGhost awksed]$ zip -s 4m google.zip --out ziptest   //分卷
  4. copying: Google_Maps_API.doc
  5. [zhangy@BlackGhost awksed]$ zip ziptest -s 0 --out google_bak.zip  //这样合卷有问题  
  6. copying: Google_Maps_API.doc
  7. [zhangy@BlackGhost awksed]$ cat ziptest.z* > google_bak.zip //利用cat来合卷  (ubuntu上有问题)
  8. [zhangy@BlackGhost awksed]$ unzip google_bak.zip  //解压

上面呢用zip来分卷是没有问题的,但是合卷的时候就有问题了,zip -s 0 --out这样的方式,合出来的卷,大约只有分卷前的一半,这就搞的我很无语了,并且解压的时候,提示我输入密码,在次无语,只好有cat来合并了,还好合并后,解压没有任何问题。

步骤:

. 先将目录tmp2dir压缩成 tmp2dir.zip:
zip -re tmp2dir.zip tmp2dir . -s 32m设定分卷大小为32MB,将上一步压缩获得的文件tmp2dir.zip分卷成前缀为32test的分卷文件.
zip -s 32m tmp2dir.zip --out 32test 得到的分卷文件为:包括了总卷信息压缩文件32test.zip
32test.z01 32test.z03 32test.z05 32test.z07 32test.zip
32test.z02 32test.z04 32test.z06 32test.z08 . 将分卷压缩的文件集合32test*合并成Z32Test.zip
zip 32test -s --out Z32Test.zip
(ubuntu上使用 cat 32test.z* > Z32Test.zip 恢复得到的文件可能会有读取错误的)

三,利用split来分卷,cat来合并分卷

我花了很长时间去研究tar的参数,研究了好长时间,还是没有找到可以分卷的参数,英语还是不过关啊,唉。不过我们可以借助split来分卷

    1. [zhangy@BlackGhost awksed]$ tar czvf google.tar.gz Google_Maps_API.doc
    2. Google_Maps_API.doc
    3. [zhangy@BlackGhost awksed]$ split -d -b 4m google.tar.gz
    4. [zhangy@BlackGhost awksed]$ cat x* > google_bak.tar.gz
    5. [zhangy@BlackGhost awksed]$ tar zxvf google_bak.tar.gz
    6. Google_Maps_API.doc

tar压缩解压文件的更多相关文章

  1. Linux tar (打包.压缩.解压缩)命令说明 | tar如何解压文件到指定的目录?

    打包举例:将 /usr/local/src/zlib-1.2.5目录下的文件打包成 zlib-1.2.5.tar.gz cd /usr/local/src tar -czvf ./zlib-1.2.5 ...

  2. zip unzip tar 压缩解压

    yum install -y unzip zip    yum安装zip -r mydata.zip mydata    mydata目录压缩为mydata.zipunzip mydata.zip - ...

  3. 通过SharpZipLib来压缩解压文件

    在项目开发中,一些比较常用的功能就是压缩解压文件了,其实类似的方法有许多 ,现将通过第三方类库SharpZipLib来压缩解压文件的方法介绍如下,主要目的是方便以后自己阅读,当然可以帮到有需要的朋友更 ...

  4. Freebsd下压缩解压文件详解

    压缩篇: 把/usr/webgames目录下的文件打包.命名为bak.tar.gz 放到/usr/db-bak目录里 下面命令可以在任意目录执行.无视当前目录和将要存放文件的目录.tar -zcvf ...

  5. linux下tar压缩/解压的使用(tar) 压缩/解压

    压缩: tar  -zcvf   压缩后文件名.tar.gz   被压缩文件 解压: tar  -zxvf  被解压文件 具体的可以在linux环境下 用 tar --help 查看详细说明格式:ta ...

  6. 【转载】.NET压缩/解压文件/夹组件

    转自:http://www.cnblogs.com/asxinyu/archive/2013/03/05/2943696.html 阅读目录 1.前言 2.关于压缩格式和算法的基础 3.几种常见的.N ...

  7. linux命令tar压缩解压

    tar -c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个.下面的 ...

  8. tar压缩/解压用法

    格式:tar zcvf 压缩后的路径及包名 你要压缩的文件 z:gzip压缩 c:创建压缩包 v:显示打包压缩解压过程 f:接着压缩 t:查看压缩包内容 x:解压 X:指定文件列表形式排除不需要打包压 ...

  9. tar 压缩解压命令详解

    tar -c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个.下面的 ...

随机推荐

  1. ES 6 系列 - 赋值的新方式:解构赋值

    变量的解构赋值 es 6 允许按照一定的模式,从数组和对象中提取值,然后对变量进行赋值,这被称之为解构: 一.数组的解构赋值 最基本写法: let [a, b, c] = [1, 2, 3]; a / ...

  2. linux按时间查询日志

    在系统应用集中部署的时候,很多日志因为太多难以定位,获取某段时间的日志是对运维人员非常关键的事情. 一.sed查看某时间段到现在的系统日志: sed  -n  '/May 20 17/,$p'   / ...

  3. 利用kali破解wifi密码

    准备工具 1.笔记本 2.USB无线上网卡(必备) 3.kali系统 4.密码字典 第一种方法 暴力破解法 何为暴力破解呢,其实就是一个一个密码去试,直到正确的密码. 现在的wifi一般加密都是: 1 ...

  4. Codeforces Round #437 Div. 1

    A:显然构造一组只包含1和2面值的数据即可. #include<iostream> #include<cstdio> #include<cmath> #includ ...

  5. BZOJ 2002 弹飞绵羊

    LCT 刚学LCT,对LCT的性质不太熟练,还需要多多练习.. 对每一个点,将其与它能够到达的点连一条虚边.弹出去的话就用n+1这个节点表示. 第一种操作我们需要从LCT的性质入手,问的问题其实就是x ...

  6. 【XSY2774】学习 带花树

    题目描述 给你一个图,求最大匹配. 边的描述方式很特殊,就是一次告诉你\(c_i\)个点:\(d_1,d_2,\ldots,d_{c_i}\),表示这些点两两之间都有连边,也就是说,这是一个团.总共有 ...

  7. Jdk1.6编译,1.7执行,1.7中没有需要的类,为何不会报错

      今天发现一个非常奇怪的问题   import sun.misc.BASE64Decoder; 我在本地引入了jdk1.6中的包,编译也用1.6没问题,但是实际上jdk1.7并没有这个包.在Linu ...

  8. php获取用户真实IP和防刷机制

      一. 如何获取用户IP地址 public static function getClientIp() { if (getenv('HTTP_CLIENT_IP')) { $ip = getenv( ...

  9. 【HDU 6171】Admiral(搜索+剪枝)

    多校10 1001 HDU 6171 Admiral 题意 目标状态是第i行有i+1个i数字(i=0-5)共6行.给你初始状态,数字0可以交换上一行最近的两个和下一行最近的两个.求20步以内到目标状态 ...

  10. Centos Install Keepalived

    Keepalived简介Keepalived 的作用是检测 web 服务器的状态,如果有一台 web 服务器死机,或工作出现故障,Keepalived 将检测到,并将有故障的 web 服务器从系统中剔 ...