Linux压缩打包tar
文件后缀名说明
.gz 以gzip压缩的压缩包。
.bz2 以bzip2压缩的压缩包。
.tar 以tar打包的文件,并没有压缩。
.tar.gz 经过tar打包,并经过gzip压缩。
.tar.bz2 经过tar打包,并经过bzip2压缩。
gzip 压缩
gzip [-cdtv#] [name]
-c:将压缩的数据输出到屏幕上,可透过数据流重定向写入文件。
-d:解压缩。
-t :检查数据完整性。
-v:显示源文件和压缩文件的压缩比等信息。
-#:压缩等级。
例子 压缩:
Linux代码
$ gzip testfile.txt
默认情况下,压缩成后缀为.gz的文件,并删除原文件。
例子 解压缩:
Linux代码
$ gzip -d testfile.txt.gz
同理,解压缩会生成原来文件,并删除后缀.gz文件。
例子 压缩并保留源文件:
Linux代码
$ gzip -c testfile.txt > testfile.txt.gz
利用重定向,将压缩以后的数据写入到指定文件中。
bzip2 压缩
bzip2 [-cdkzv#] [name]
-c:将压缩或解压缩的数据输出到标准输出中。标准输出一般指屏幕。
-d:解压缩。
-k:保留原文件,不会自动删除原始文件。
-z:压缩。
-v:显示原文件和压缩文件的压缩比等信息。
-#:压缩等级。
例子 压缩:
Linux代码
$ bzip2 -z testfile.txt
testfile.txt文件会压缩成testfile.txt.bz2文件。
例子 解压缩:
Linux代码
$ bzip2 -d testfile.txt.bz2
testfile.txt.bz2文件会解压缩成testfile.txt文件。
例子 压缩成特定名字的文件:
Linux代码
$ bzip2 -c testfile.txt > testfile.txt.bz2
gzip和bzip2主要用于对单一文件进行压缩。即使对目录压缩,也是将目录中的所有文件分别进行压缩。
tar 打包
tar [-c|-x|-t] [-j|-z] [-v] [-f filename] [pathname]
-c:建立打包文件。
-r:追加文件到打包文件的末尾。
-u:只更新较新的文件到打包文件。
-t:列出打包文件的内容。
-x:解打包或解压缩。
-j:通过bzip2进行压缩或解压缩。
-z:通过gzip进行压缩或解压缩。
-v:显示处理过程。
-p:保留备份文件的原本权限。常用于备份配置文件等。
-P:保留绝对路径。允许备份文件含有根目录。
--exclude=PATTERN:打包时不包含指定的文件。
-f filename:filename代表要处理的打包文件。
-C DIR:解压特定的路径。
pathname:要被压缩的文件或路径名称。
注:-f filename最好单独放在一起。 否则"tar -zcfv filename"会将v当作包名。
例子 打包并压缩:
Linux代码
$ tar -<span style="font-size: 1em; line-height: 1.5;">c</span><span style="font-size: 1em; line-height: 1.5;">jv -f ~/testpath.tar.bz2 ~/testpath</span>
Linux代码
$ tar -czv -f ~/testpath.tar.gz ~/testpath
分别用2种压缩方式,打包并压缩成2个文件。
例子 解压缩并解包:
Linux代码
$ tar -xjv -f ~/testpath.tar.bz2
$ tar -xzv -f ~/testpath.tar.gz
这2种解包方式,会在当前路径下进行。
Linux代码
$ tar -xjv -f ~/testpath.tar.bz2 -C /tmp
$ tar -xzv -f ~/testpath.tar.gz -C /tmp
这2种解包方式,会在指定路径下/tmp下进行。
例子 查看包中的文件:
Linux代码
$ tar -tjv -f ~/testpath.tar.bz2
$ tar -tzv -f ~/testpath.tar.gz