浅谈linux和unix下归档与压缩

首先谈下什么是归档和压缩

归档:把多个文件组合到一个文件中。归档好处是,把文件数目变少,有利于降多个文件作为电子邮件附件发送,以及备份文件。

压缩:利用算法将文件有损或无损地处理,以达到保留最多文件信息,而令文件体积变小。压缩好处就是节约硬盘空间,以及减小电子邮件附件的大小,提高传输效率。

归档工具:tar

压缩工具:zip,gzip,uncompress,bzip2

注意默认情况下:gzip不保留源文件

为便于管理文件,建议压缩前先归档。这样利人利己,以gzip为例如果压缩前不归档,一次压缩大量文件,会生成大量的压缩包,其他人使用前要一个个的解压缩包,这将极大的降低对方的工作热情及效率。

以下是使用认识

1,如果你只是想归档,那tar绝对是经典的选择

[root@localhost ~]# l
总计 200
-rwxr-xr-x 1 root root 159 11-23 22:18 1123.txt
-rw-r--r-- 1 root root 18456 03-13 20:35 2012.txt
-rw------- 1 root root 1206 09-20 03:10 anaconda-ks.cfg
drwxr-xr-x 2 root root 4096 09-19 20:08 Desktop
-rw-r--r-- 1 root root 46795 09-20 03:10 install.log
-rw-r--r-- 1 root root 3696 09-20 03:08 install.log.syslog
drwxr-xr-x 2 root root 4096 03-13 20:02 qyc
drwxr-xr-x 6 root root 4096 03-13 20:32 qyc1
-rw-r--r-- 1 root root 76972 09-19 20:06 scsconfig.log
-rw-r--r-- 1 root root 209 09-19 20:06 scsrun.log
drwxr-xr-x 2 root root 4096 02-21 23:06 studyshell
[root@localhost ~]# tar -cvf 20120318.tar 1123.txt 2012.txt Desktop
1123.txt
2012.txt
Desktop/
[root@localhost ~]# l
总计 232
-rwxr-xr-x 1 root root 159 11-23 22:18 1123.txt
-rw-r--r-- 1 root root 30720 03-18 10:42 20120318.tar
-rw-r--r-- 1 root root 18456 03-13 20:35 2012.txt
-rw------- 1 root root 1206 09-20 03:10 anaconda-ks.cfg
drwxr-xr-x 2 root root 4096 09-19 20:08 Desktop
-rw-r--r-- 1 root root 46795 09-20 03:10 install.log
-rw-r--r-- 1 root root 3696 09-20 03:08 install.log.syslog
drwxr-xr-x 2 root root 4096 03-13 20:02 qyc
drwxr-xr-x 6 root root 4096 03-13 20:32 qyc1
-rw-r--r-- 1 root root 76972 09-19 20:06 scsconfig.log
-rw-r--r-- 1 root root 209 09-19 20:06 scsrun.log
drwxr-xr-x 2 root root 4096 02-21 23:06 studyshell

tar -cvf 20120318.tar 1123.txt 2012.txt Desktop

参数:c代表创建tar文件,v代表显示详细信息,f 20120318.tar代表创建的归档包名字是20120318.tar,tar工具不能自动生成tarball名,我们必须手工指定。

这里必须注意指定tarball的参数是由f 和tarball名字组成,他们必须之间不能有其他字符(空格除外),也就是说f后面必须紧跟tarball名字,如果不紧跟名字,tar就会报错。初学者,容易犯这个错误。 而一些用tar命令好多年的人也总是想不明白为什么f后面必须跟tarball名字,原因就在于这个参数是由两部分组成的。

1123.txt 2012.txt Desktop 代表要归档的文件或者目录

解开归档文件:参数是x 例如 tar -xvf 20120318.tar

2,如果你想跨平台传输文件,那zip就是最好的选择了。

zip对文件既能压缩,还能归档

[root@localhost ~]# zip 20120318.zip 1123.txt 2012.txt qyc
adding: 1123.txt (deflated 20%)
adding: 2012.txt (deflated 69%)
adding: qyc/ (stored 0%)
zip 20120318.zip 1123.txt 2012.txt qyc

参数:20120318.zip 指定生成的zip包名字

1123.txt 2012.txt qyc 要归档和压缩的文件

命令格式:zip file.zip file1 file2 directory1 directory2

解压缩命令 unzip file.zip,例如unzip 20120318.zip

3,unix 平台用户间的工具gzip,compress,bzip2

gzip是一个开源程序,用于取代旧的unix程序compress,只能压缩文件,在所有的unix平台上都有这个工具。

由于gzip压缩率远远由于compress,所以越来越多的管理员开始放弃compress,这里我就不讲这个古老的命令了。

bizp2 算是gzip的升级版,与gzip用法类似。bzip2产生bz2后缀文件,解压缩命令bunzip2.

[root@localhost test1]# l
总计 64
-rw-r--r-- 1 root root 18456 03-18 11:11 2012_01.txt
-rw-r--r-- 1 root root 18456 03-18 11:11 2012_02.txt
-rw-r--r-- 1 root root 18456 03-18 11:10 2012.txt
drwxr-xr-x 2 root root 4096 03-18 11:11 qyc

[root@localhost test1]# gzip 2012_01.txt
[root@localhost test1]# l
总计 52
-rw-r--r-- 1 root root 5741 03-18 11:11 2012_01.txt.gz
-rw-r--r-- 1 root root 18456 03-18 11:11 2012_02.txt
-rw-r--r-- 1 root root 18456 03-18 11:10 2012.txt
drwxr-xr-x 2 root root 4096 03-18 11:11 qyc
参数:2012_01.txt 是需要压缩的文件

gzip file1 file2

gzip压缩后默认不保留源文件,如果需要保留源文件,请带上参数c,同时使用重定向,否则你会看到一堆乱码。有时候,你甚至需要重新登录控制台。

[root@localhost test1]# gzip -c 2012.txt >2012.txt.gz
[root@localhost test1]# l
总计 60
-rw-r--r-- 1 root root 5741 03-18 11:11 2012_01.txt.gz
-rw-r--r-- 1 root root 18456 03-18 11:11 2012_02.txt
-rw-r--r-- 1 root root 18456 03-18 11:10 2012.txt
-rw-r--r-- 1 root root 5738 03-18 11:22 2012.txt.gz
drwxr-xr-x 2 root root 4096 03-18 11:11 qyc

4,unix平台先归档后压缩

方法1,tar的压缩参数z

[root@localhost test1]# tar -zcvf 20120318.tar.gz*
2012_01.txt.gz
2012_02.txt
2012.txt
2012.txt.gz
qyc/
qyc/2012_02.txt
qyc/2012_01.txt
qyc/2012.txt
[root@localhost test1]# l
总计 80
-rw-r--r-- 1 root root 5741 03-18 11:11 2012_01.txt.gz
-rw-r--r-- 1 root root 18456 03-18 11:11 2012_02.txt
-rw-r--r-- 1 root root 19368 03-18 11:30 20120318.tar.gz
-rw-r--r-- 1 root root 18456 03-18 11:10 2012.txt
-rw-r--r-- 1 root root 5738 03-18 11:22 2012.txt.gz
drwxr-xr-x 2 root root 4096 03-18 11:11 qyc

方法2,先tar后gzip

5,设定压缩率

可以设定压缩率的工具:zip,gzip,bzip2

设置方法:command -[0-9]

0代表一点都不压缩,9代表压缩率最高

压缩率越高,压缩时间越长。现在计算机速度已经足够快了,一直使用最高压缩率也没有问题。

6,解包前测试归档或者压缩包

设置方法:command -t ,通用于以上所有解压缩工具


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值