码迷,mamicode.com
首页 > 系统相关 > 详细

Linux压缩和归档

时间:2015-01-21 11:53:49      阅读:341      评论:0      收藏:0      [点我收藏+]

标签:linux   tar   gzip   bzip2   

压缩

压缩格式: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


本文出自 “小私的blog” 博客,请务必保留此出处http://ggvylf.blog.51cto.com/784661/1606461

Linux压缩和归档

标签:linux   tar   gzip   bzip2   

原文地址:http://ggvylf.blog.51cto.com/784661/1606461

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!