本文介绍tar、7z指令的使用方法

tar指令

Linux中,使用的最多的压缩/解压缩指令就是tar指令了。

tar指令用来将多个文件/目录结构打包。在实际使用中,往往使用tar对压缩的支持,即同时进行打包和压缩两步操作。常用的以下几种文件格式可以由tar指令生成。

.tar ~ 仅对文件/目录结构进行打包操作,不压缩;

.tar.gz ~ 对文件/目录结构进行打包,并按照gzip格式进行压缩;

.tar.bz2 ~对文件/目录结构进行打包,并按照bz2格式进行压缩;

.tar.xz ~对文件/目录结构进行打包,并按照LZMA算法进行压缩(Linux内核使用此格式发布);

指令格式

$ tar --help

用法: tar [选项...] [FILE]...

GNU 'tar' saves many files together into asingle tape or disk archive, and can

restore individual files from the archive.

Examples:

tar-cf archive.tar foo bar # Createarchive.tar from files foo and bar.

tar-tvf archive.tar # List all filesin archive.tar verbosely.

tar-xf archive.tar # Extract allfiles from archive.tar.

tar指令的常用选项如下列表所示:

-c: 建立压缩档案

-x:解压

-t:查看内容

-r:向压缩归档文件末尾追加文件

-u:更新原压缩包中的文件

这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。

-z:有gzip属性的

-j:有bz2属性的

-J:有xz属性的

-v:显示所有过程

-C:切换到某个目录下执行tar指令

-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。(必须加此参数)

使用示例

$cd ~/study

$rm –rf *

$mkdir –p d1/d11

$mkdir d2

$touch d1/d11/f1.c

$touch d2/f2.php

$cd ../

#$tar czf study.tar.gz study/ ~ 打包并执行.gz格式压缩

#$tar cjf study.tar.bz2 study/ ~ 打包并执行.bz2格式压缩

$tar cJf study.tar.xz study/ ~ 打包并执行.xz格式压缩

#$tar tf study.tar.gz ~ 查看压缩包内的目录列表

#$tar tf study.tar.bz2 ~ 查看压缩包内的目录列表

$tar tf study.tar.xz ~ 查看压缩包内的目录列表

study/

study/d1/

study/d1/d11/

study/d1/d11/f1.c

study/d2/

study/d2/f2.php

$rm –rf study

#$tar xzf study.tar.xz ~ 解压缩.gz格式的压缩包到当前目录

#$tar xjf study.tar.xz ~ 解压缩.bz2格式的压缩包到当前目录

$tar xJf study.tar.xz ~ 解压缩.xz格式的压缩包到当前目录

$ls

study.tar.xz study

$tar xJf study.tar.xz -C / ~ 将压缩包解压到根目录下

$ ls /

bin Cygwin.bat Cygwin-Terminal.ico etc lib proc tmp var

cygdrive Cygwin.ico dev home opt study usr

更多信息

$man tar

7z指令

7z是7zip压缩工具的常用压缩文件格式。7zip是一个开源的压缩工具,软件本身十分小巧,功能强大,是目前公认的压缩比最大的压缩解压缩软件,近年来开始渐渐流行。

7zip支持众多的压缩格式,支持7z, XZ,BZIP2, GZIP, TAR, ZIP格式的压缩/解压缩。支持CAB, ISO, RAR, RPM, XAR, Z等众多格式的解压缩。

程序退出代码0表示正常,没有错误。

命令格式

$ 7z --help

Usage: 7z <command>[<switches>...] <archive_name> [<file_names>...]

[<@listfiles...>]

常用的command如下:

a 添加文件到压缩文件

d 从压缩文件中删除文件

e 从压缩文件中解压缩文件,不包含目录结构

l 列出压缩包中的内容

t 测试压缩文件

u更新文件到压缩文件

x从压缩文件中解压缩,包含目录结构

使用示例

$ rm * -rf

$ mkdir -p study/d1/d11 study/d2

$ touch study/d1/d11/f1.c study/d2/f2.php

$ 7z a study.7z study/ ~ 将study整个目录添加到压缩包study.7z中

Scanning

Creating archive study.7z

Everything is Ok

$ 7z t study.7z ~ 测试压缩包

Processing archive: study.7z

Testing study/d1/d11/f1.c

Testing study/d2/f2.php

Testing study/d2

Testing study/d1/d11

Testing study/d1

Testing study

Everything is Ok

$ rm -rf study

$ 7z x study.7z ~ 解压缩包到当前目录

Processing archive: study.7z

Extracting study/d1/d11/f1.c

Extracting study/d2/f2.php

Extracting study/d2

Extracting study/d1/d11

Extracting study/d1

Extracting study

Everything is Ok

$ 7z d study.7z study/d2/f2.php ~ 删除压缩包中的指定文件

Updating archive study.7z

Everything is Ok

$ 7z t study.7z ~ 测试压缩包

Processing archive: study.7z

Testing study/d1/d11/f1.c

Testing study/d2

Testing study/d1/d11

Testing study/d1

Testing study

Everything is Ok

$ 7z l study.7z ~ 查看压缩包中的目录结构

Listing archive: study.7z

--

Path = study.7z

Type = 7z

Solid = -

Blocks = 0

Physical Size = 152

Headers Size = 152

study/d1/d11/f1.c

study/d2

study/d1/d11

study/d1

study

$ 7z u study.7z study/d1/d11/f1.c ~ 更新压缩包中的指定文件

Scanning

Updating archive study.7z

Compressing study/d1/d11/f1.c

Everything is Ok

$ 7z l study.7z ~ 查看压缩包中的目录结构

Listing archive: study.7z

--

Path = study.7z

Type = 7z

Method = LZMA

Solid = -

Blocks = 1

Physical Size = 260

Headers Size = 186

study/d1/d11/f1.c

study/d2

study/d1/d11

study/d1

study

7zip的压缩格式控制

在上述示例中,演示了7z压缩/解压缩指令的使用。在使用7z进行压缩/解压缩时,压缩格式是根据命令中提供的压缩包的文件后缀名来识别的。例如,7z a study.zip study/ 将目录树study按照zip格式进行压缩,7z a study.7z study/将目录树study按照7z格式进行压缩。反之,解压缩时,压缩格式也是根据压缩包文件名后缀自动识别的。

对于7zip和tar的各种压缩格式(tar.gz tar.bz2 tar.xz)之间的兼容,可以参考如下实现。

$ 7z a study4.tar study ~ step1 先按tar格式进行打包

#按照实验结果推断,本条指令与tar cf study4.tar study 具有相同效果

Scanning

Creating archive study4.tar

Compressing study

Compressing study/d1

Compressing study/d1/d11

Compressing study/d1/d11/f1.c

Compressing study/d2

Compressing study/d2/f2.php

Everything is Ok

$ 7z a study4.tar.gz study4.tar ~ 将已打包的文件进行按gzip格式压缩

Scanning

Creating archive study4.tar.gz

Compressing study4.tar

Everything is Ok

$tar tf study4.tar ~ 使用tar指令测试文件包,无错误

study/

study/d1/

study/d1/d11/

study/d1/d11/f1.c

study/d2/

study/d2/f2.php

$tar tf study4.tar.gz ~ 使用tar指令测试压缩包,无错误

study/

study/d1/

study/d1/d11/

study/d1/d11/f1.c

study/d2/

study/d2/f2.php

$ rm study -rf

$tar xzvf study4.tar.gz ~ 使用tar解压缩由7z生成的.tar.gz压缩包,成功。

study/

study/d1/

study/d1/d11/

study/d1/d11/f1.c

study/d2/

study/d2/f2.php

$ rm *.*

$ ls

study

$tar czf study4.tar.gz study ~ 使用tar指令生成.tar.gz格式压缩包

$ 7z x study4.tar.gz ~ 使用7z解压缩tar生成的压缩包,成功

Processing archive: study4.tar.gz

Extracting study4.tar

Everything is Ok

$ 7z x study4.tar ~ 使用7z进一步解压,成功

Processing archive: study4.tar

Extracting study

Extracting study/d1

Extracting study/d1/d11

Extracting study/d1/d11/f1.c

Extracting study/d2

Extracting study/d2/f2.php

Everything is Ok

$

$tar cvf study5.tar study ~ 使用tar创建无压缩的文件包

study/

study/d1/

study/d1/d11/

study/d1/d11/f1.c

study/d2/

study/d2/f2.php

$ 7z a study5.tar.bz2 study5.tar ~ 使用7zip将文件包压缩

Scanning

Creating archive study5.tar.bz2

Compressing study5.tar

Everything is Ok

$tar tf study5.tar.bz2 ~ 使用tar测试压缩包

study/

study/d1/

study/d1/d11/

study/d1/d11/f1.c

study/d2/

study/d2/f2.php

$ 7z x study5.tar.bz2 ~ 使用7zip解压缩压缩包

Processing archive: study5.tar.bz2

file study5.tar

Extracting study5.tar

Everything is Ok

$ rm -rf study

$ 7zx study5.tar ~ 使用7zip还原tar指令生成的文件包

Processing archive: study5.tar

Extracting study

Extracting study/d1

Extracting study/d1/d11

Extracting study/d1/d11/f1.c

Extracting study/d2

Extracting study/d2/f2.php

Everything is Ok

$ rm study -rf

$tar xjvf study5.tar.bz2 ~ 使用tar解压缩tar+7zip生成的.tar.bz2压缩包

study/

study/d1/

study/d1/d11/

study/d1/d11/f1.c

study/d2/

study/d2/f2.php

tar、7z(7zip)压缩/解压缩指令的使用的更多相关文章

  1. Mac OS X 10.8.4下面XZ Utils(*.tar.xz)压缩解压缩命令工具的安装

    主要参考:http://bbs.chinaunix.net/thread-3610738-1-1.html 现在很多找到的软件都是tar.xz的格式的,xz 是一个使用 LZMA压缩算法的无损数据压缩 ...

  2. linux 软连接创建 压缩解压缩 linux的dns服务相关

    linux软连接创建 注意用绝对路径,语法如下 ln -s 目标文件绝对路径 软连接名字绝对路径 ln -s /小护士.txt /tmp/hs.txt 修改linux的PS1变量,命令提示符变量 PS ...

  3. Linux下文件的打包、解压缩指令——tar,gzip,bzip2,unzip,rar

    本文是笔者对鸟叔的Linux私房菜(基础学习篇) 第三版(中文网站)中关于 Linux 环境下打包和解压缩指令的内容以及日常操作过程中所接触的相关指令的总结和记录,以供备忘和分享.更多详细信息可直接参 ...

  4. 命令行压缩解压缩一 7z

    命令行压缩解压缩一 7z  1) 简介  7z,全称7-Zip, 是一款开源软件.是目前公认的压缩比例最大的压缩解压缩软件.  主页:http://www.7-zip.org/  中文主页:http: ...

  5. 程序中使用7-zip(7z)压缩文件

    Email:longsu2010 at yeah dot net 工作中难免遇到需要压缩文件的情况,比如有一千万个小文件,每个文件约100k,如果使用7-zip压缩后可能十几k,可以节省很多磁盘空间. ...

  6. Shell命令-文件压缩解压缩之tar、unzip

    文件及内容处理 - tar.unip 1.tar:打包压缩命令 tar命令的功能说明 tar 命令常用语用于备份文件,tar 是用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件 ta ...

  7. bzip2 以及 tar 压缩/解压缩/.打包等工具软件

    1. bzip2 命令 基础格式: bzip2 [Options] file1 file2 file3 指令选项:(默认功能为压缩) -c //将输出写至标准输出 -d //进行解压操作 -v //输 ...

  8. Linux压缩解压缩(unzip,tar)

    unzip tar 常用解压缩命令: tar -zxvpf:解压缩 tar -zcvpf: 压缩 # tar [-j|-z] [cv] [-f 建立的檔名] filename... <==打包与 ...

  9. tar压缩解压缩

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

随机推荐

  1. python中if __name__ == '__main__': 解析

    当你打开一个.py文件时,经常会在代码的最下面看到if __name__ ==  '__main__':,现在就来介 绍一下它的作用. 模块是对象,并且所有的模块都有一个内置属性 __name__.一 ...

  2. Object-c中的单例

    #import <UIKit/UIKit.h> @interface UniAudioPlayer:NSObject{ } +(UniAudioPlayer*) getInstance; ...

  3. libUpnp缓冲区溢出、拒绝服务等漏洞分析

    该漏洞存在于UPnP™设备的便携式SDK中,也叫做 libupnp.这个库是用来实现媒体播放(DLAN)或者NAT地址转换(UPnP IGD).智能手机上的应用程序可用这些功能播放媒体文件或者利用用户 ...

  4. Python环境配置, atom-python配置

    环境变量 路径 在window下配置环境变量,配置到文件夹级就可以了: D:\program\python3 编码 因为windows默认的编码是ASIIC,所以使用atom时候中文是乱码,需要在环境 ...

  5. 简单AOP

    代码如下 //使用说明 //1,新加接口与类 //2,新加类并实现ICallHandler类: ExecuteHandler //3,新建特性并实现HandlerAttribute和重写其中的Crea ...

  6. 框架中spring有专门的类用于处理乱码

    在三大框架spring中有专门的一个过滤器类用于处理乱码问题--->CharacterEncodingFilter 我们只需在web.xml中添加如下几行代码就可解决乱码问题 <filte ...

  7. TLS/SSL 协议详解 ssL 、TLS 1.0、TLS 1.1、TLS 1.2的了解

    TLS 1.0 RFC http://www.ietf.org/rfc/rfc2246.txt TLS 1.1 RFC http://www.ietf.org/rfc/rfc4346.txt TLS ...

  8. hadoop 官方配置文件解析

    比如我的版本是2.8.4 官网文档是: http://hadoop.apache.org/docs/r2.8.4/ 基本配置文件:包括一般的端口 hdfs-default.xml dfs.nameno ...

  9. 表单input中disabled提交后得不到值的解决办

    input 按钮的disabled属性,如果设置了,form表单提交后,后台接收不到input的value input的字段当为diabled时时无法获取数值得,所以最近不要用这个,我们可以用read ...

  10. scrollLeft滚动(用animate替代)

    原: let checkedLeft1 = $('#dateBox').find('.checked').position().left let checkedLeft2 = $('#dateBox' ...