现在的位置: 首页 > 系统运维 > Linux > 正文

Linux压缩和归档

2015年01月21日 Linux ⁄ 共 1359字 ⁄ 字号 暂无评论

压缩

压缩格式:gz、bz2、xz、zip、Z等等。

压缩算法:算法不同,压缩比也不同。

comperss:FILENAME.Z 压缩比低。

uncompress

gzip;

FILENAME.gz

只能压缩文件。

#gzip [OPTION] FILENAME 压缩完成后会删除源文件。

[OPTION]

-d 解压文件,等同于gunzip。

-NUM 压缩比。1-9,默认是6。

#gunzip FILENAME.gz 解压完成后会删除源文件。

#zcat FILENAME 在不解压的情况下,查看文本文件的内容。

bzip2;

比gzip有更大的压缩比的压缩工具。压缩解压完成后也会删除源文件。只能压缩文件。

FILENAME.bz2

#bzip2 [OPTION] FILENAME

-d 解压文件,等同于bunzip2.

-k --keep 压缩时保留源文件。

-NUM 压缩比。1-9,默认是6。

#bunzip2 FILENAME.bz2

#bzcat FILENAME.bz2 在不解压的情况下,查看文本文件的内容。

xz;

FILENAME.xz

#xz [OPTION] FILENAME

压缩完成后会删除源文件。只能压缩文件。

[OPTION]

-d 解压文件。

-NUM 压缩比。1-9,默认是6。

-k --keep 压缩时保留源文件。

#unxz FILENAME.xz 解压完成后会删除源文件。

#xzcat FILENAME 在不解压的情况下,查看文本文件的内容。

#xzdec 用法和xz类似。

zip:

压缩比不大,但是可以压缩目录和目录内的文件。是既压缩又归档,压缩后不删除源文件。

#zip [OPTION] FILENAME.zip FILE1 FILE2 ...

#unzip FILENAME.zip

归档(archive):

归档本身并不意味这压缩。 

FILENAME.tar

tar:

#tar [OPTION] 

-c 创建归档文件。

-f FILENAME.tar 操作的归档文件名为FILENAME。

-x 展开归档。

--xattrs 归档时保留文件的扩展属性信息。

-t 不展开归档,查看归档文件的内容。

-v 显示过程。

-z 调用gzip

-j 调用bzip2

-J 调用xz

例如:

#tar -Jcf abc.tar.xz test*.txt

#tar -jcf abc.tar.bz2

#tar -zcf abc.tar.gz

#tar -zxf abc.tar.gz

#tar -jxf abc.tar.bzp2

#tar -Jxf abc.tar.xz

#tar -xf abc.tar.xz tar会自动判断压缩软件的,所以-J|j|z 选项可以忽略。

cpio:

拷贝文件做成归档。

练习:

1.写一个脚本,从键盘让用户输入几个文件,脚本能够将几个文件归档压缩成一个文件。

#!/bin/bash

read -p "three files:" FILE1 FILE2 FILE3

read -p "DIR" DIR

read -p "COM TYPE:[gzip|bzip2|xz]:" $TYPE

case $TYPE in

gzip)

tar -zcf [$DIR].tar.gz $FILE1 $FILE2 $FILE3

bzip2)

tar -jcf [$DIR].tar.bz2 $FILE1 $FILE2 $FILE3

xz)

tar -Jcf [$DIR].tar.xz $FILE1 $FILE2 $FILE3

*)

echo "Unkown!"

exit 9

esac