Linux压缩打包,tar

文件后缀名说明

.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

猜你喜欢

转载自zhangy517.iteye.com/blog/1891081