Linux下的解压缩命令
来源:互联网 发布:手机淘宝店虚拟怎么做, 编辑:程序博客网 时间:2024/05/16 14:41
在Linux中有很多的压缩工具,本文主要介绍gzip/gunzip/zcat、bzip2/bunzip2/bzcat、tar、zip/unzip。
为了方便演示。我们首先建立一个名为“test.txt”的文本文件,其内容如下所示:
Hello!This is a test!End of file.
1. gzip/gunzip/zcat
gzip用于压缩普通文件;gunzip用于解压缩 gzip 所建立的压缩文件;gcat用于查看gzip建立的压缩文件源内容。
gzip只能用于压缩普通文件,注意,是普通文件。不能将整个目录压缩为单个文件,如果我们以递归形式压缩目录,则gzip会递归的进入每个子目录并依次压缩其中的普通文件。gzip创建的压缩文件默认以.gz、-gz和.z为扩展名,具体为哪个要视文件系统类型而定,表1展示了不同后缀名所对应的文件系统。
gzip的参数选项如下所示:
-c:将压缩后的数据输出都屏幕(不生成压缩文件)。-d:解压缩文件-f:强制覆盖已有的文件-k:保留源文件(默认是不保留的)-t:测试压缩文件的完整性(与-v选项一起使用)-r:递归的压缩所有文件-v:详细的输出执行过程(默认不输出)-1:以速度最快压缩。-9:以压缩率最好压缩。(可以从1-9变化,默认是6)
例如我们要压缩之前创建的”test.txt”文件,可以输入以下指令:
$ gzip -krv test.txttest.txt: 0.0% -- replaced with test.txt.gz
注意,gzip压缩工具默认是将源文件替换为压缩文件,如果要保留源文件,需要显式的指定’-k’参数,以上-krv表示保留源文件、递归的压缩所有文件并详细的输出压缩过程。
从输出中可以看到有三个参数:源文件–test.txt,压缩比–0.0%和输出文件–test.gz。
如果我们要解压缩刚刚创建的文件,只需输入以下指令
$ gzip -dv test.txtgzip: test.txt already exists; do you wish to overwrite (y or n)? ytest.txt.gz: 0.0% -- replaced with test.txt
从输出可以看到,由于当前目录下存在”test.txt”文件, 所以会出现是否覆盖的提示,如果我们不想让它输出次内容。可以加上”-f”参数。
gunzip是gzip的解压缩版,也就是只提供解压缩功能,其参数与gzip一样(不包括”-d”参数),比如我们要解压缩刚刚创建的test.txt.gz可以如下输入:
$ gunzip -v test.txt.gztest.txt.gz: 0.0% -- replaced with test.txt
zcat是用来查看gzip压缩文件对应的源文件的内容。使用如下:
$ zcat test.txt.gzThis is a test!
2. bizp2/bunzip2/bcat
bzip2 相比 gzip 具有更好的压缩比, 它的用法几乎与gzip 相同。bzip2建立的压缩文件以.bz2为扩展名,下面是bzip2的常用参数:
-c:将压缩后的数据输出都屏幕(不生成压缩文件)。-d:解压缩文件-f:强制覆盖已有的文件-k:保留源文件(默认是不保留的)-t:测试压缩文件的完整性(与-v选项一起使用)-r:递归的压缩所有文件-v:详细的输出执行过程(默认不输出)-z:压缩文件(默认参数)
bunzip2用于解压缩bzip2创建的压缩文件,bcat则是查看bzip2压缩文件对应源文件的内容。它们的使用方法与gzip/gunzip/zcat类似,不在这里赘述,请参照gzip/gunzip/zcat的用法。
3. tar
上面的gzip和bizp2命令大多只针对单一的文件进行压缩,虽然也可以对目录进行递归的压缩,但是是基于单个文件进行压缩的,也就是说会为该目录下每一个文件创建一个压缩文件,而不是创建一整个归档文件,这时,就要使用到tar命令了,它即可单简单的将多个目录打包(不进行压缩),也可以通过gzip和bzip2对打包的内容加以压缩。tar命令有多个参数支持多种操作。下面就来看看tar命令的使用吧!
tar命令的参数分为多个种类,包括主操作、操作修饰、重写控制、设备分块、选择归档格式、设备分块、压缩选项和提示选项等等。本文指介绍主操作、选择归档格式、压缩选项和提示选项。这些参数如下:
/* 主操作选项 */-A:追加tar格式的归档文件到归档-c:创建一个新的归档-r:追加文件到归档结尾-t:列出归档文件的内容-u:更新归档中的文件,如果归档中不存在则添加。-x:从归档中解出文件/* 选择归档格式选项 */-H:后接文档格式,文档格式有以下几种 gnu-- 1.13.x(默认格式也是常用的) oldgnu--GNU format as per tar <=1.12 pax--POSIX 1003.1-2001(pax) posix--等同于 pax ustar-- POSIX 1003.1-1988 (ustar) 格式 V7--old V7 tar 格式/* 压缩选项 */-a:根据扩展名自动确定压缩程序-j:通过bizp2来压缩-z:通过gzip来压缩-Z:通过compress来压缩/* 其他选项 */-v:详细的输出压缩过程-f:指定压缩后的文件名或要解压缩的文件名
比如我么要压缩上述的test.txt文件,可以输入如下命令:
$ tar -jcf test.txt.tar.bz2 test.txt
或者
$ tar -zcf test.txt.tar.gz test.txt
或者
$ tar -acf test.txt.tar.gz test.txt
上面第一种和第二种分别使用不同的压缩工具进行压缩,第三种是根据扩展名自动确定压缩工具。如果我们要解压,只用将”-c”参数换成”-x”参数即可。
当然我们也可以不进行压缩,只是将多个文件进行简单的归档,可以如下输入:
$ tar -cf [output-file] [input-file]
其中output-file和input-file分别指定输出文件名和要进行归档的文件的名字。
- linux下的解压缩命令
- Linux 下的解压缩命令
- Linux下的解压缩命令
- linux 下解压缩命令
- LINUX下解压缩命令
- Linux下解压缩命令
- Linux下解压缩命令
- Linux下解压缩命令
- Linux下解压缩命令
- linux下的压缩解压缩命令
- linux下的要所/解压缩命令
- linux下的压缩解压缩命令
- Linux 下的一些解压缩命令
- LINUX下的一些解压缩安装命令
- Linux下的压缩、解压缩命令详解
- Linux下的压缩、解压缩命令详解
- Linux下的压缩解压缩命令详解
- Linux下的压缩解压缩命令详解
- YII框架获取对象数组为普通数组方法
- Ogre2.1 分析笔记(六) 合成器脚本分析
- 异步上传文件-跨域问题如何解决
- linux共享内存原理剖析
- 一个diaodiao的Git分支模型(译)
- Linux下的解压缩命令
- 一天搞定HTML----a标签02
- 【线性代数的几何意义】行列式的几何意义
- SIFT原理与源码分析
- MyEclipse+Tomcat+MAVEN+SVN项目完整环境搭建
- oracle Error: PLS-00905: 对象 HBH.QRY_QUERYDATA 无效
- Triangles HUST 1607 (map<pair,int>,几何)
- 基于 @Transactional 的声明式事务管理
- kickstart安装配置