文件后缀名说明
.gz ? ? ? ? ? ?以gzip压缩的压缩包。
.bz2 ? ? ? ? ?以bzip2压缩的压缩包。
.tar ? ? ? ? ? 以tar打包的文件,并没有压缩。
.tar.gz ? ? ? 经过tar打包,并经过gzip压缩。
.tar.bz2 ? ? 经过tar打包,并经过bzip2压缩。
?
gzip 压缩
gzip [-cdtv#] [name]
?-c:将压缩的数据输出到屏幕上,可透过数据流重定向写入文件。
?-d:解压缩。
?-t :检查数据完整性。
?-v:显示源文件和压缩文件的压缩比等信息。
?-#:压缩等级。
?
例子 压缩:
?
$ gzip testfile.txt? 默认情况下,压缩成后缀为.gz的文件,并删除原文件。
?
?
例子 解压缩:
?
$ gzip -d testfile.txt.gz?同理,解压缩会生成原来文件,并删除后缀.gz文件。
?
?
例子 压缩并保留源文件:
?
$ gzip -c testfile.txt > testfile.txt.gz?利用重定向,将压缩以后的数据写入到指定文件中。
?
?
bzip2 压缩
bzip2 [-cdkzv#] [name]
?-c:将压缩或解压缩的数据输出到标准输出中。标准输出一般指屏幕。
?-d:解压缩。
?-k:保留原文件,不会自动删除原始文件。
?-z:压缩。
?-v:显示原文件和压缩文件的压缩比等信息。
?-#:压缩等级。
?
例子 压缩:
?
$ bzip2 -z testfile.txt?testfile.txt文件会压缩成testfile.txt.bz2文件。
?
?
例子 解压缩:
?
$ bzip2 -d testfile.txt.bz2?testfile.txt.bz2文件会解压缩成testfile.txt文件。
?
?
例子 压缩成特定名字的文件:
$ 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当作包名。
?
例子 打包并压缩:
$ tar -cjv -f ~/testpath.tar.bz2 ~/testpath
$ tar -czv -f?~/testpath.tar.gz ~/testpath
?分别用2种压缩方式,打包并压缩成2个文件。
?
例子 解压缩并解包:
$ tar -xjv -f ~/testpath.tar.bz2 $ tar -xzv -f ~/testpath.tar.gz
?这2种解包方式,会在当前路径下进行。
?
$ tar -xjv -f ~/testpath.tar.bz2 -C /tmp $ tar -xzv -f ~/testpath.tar.gz -C /tmp
?这2种解包方式,会在指定路径下/tmp下进行。
?
例子 查看包中的文件:
$ tar -tjv -f ~/testpath.tar.bz2 $ tar -tzv -f ~/testpath.tar.gz
?