Chinaunix首页 | 论坛 | 博客
  • 博客访问: 238231
  • 博文数量: 34
  • 博客积分: 1131
  • 博客等级: 准尉
  • 技术积分: 320
  • 用 户 组: 普通用户
  • 注册时间: 2011-12-09 12:16
个人简介

文章分类
文章存档

2012年(22)

2011年(12)

分类: LINUX

2011-12-13 10:53:54

Linux 压缩文件的后缀名

 *.Z       compress 程序压缩的文件;
 *.bz2     bzip2 程序压缩的文件;
 *.gz      gzip 程序压缩的文件;
 *.tar     tar 程序打包的数据,并没有压缩过;
 *.tar.gz  tar 程序打包的文件,其中并且经过 gzip 的压缩

compress

语法:

# compress [-d] filename  
参数说明:  
-d 
:解压缩的参数!  
示例:  

 
# compress man.config 

压缩
# compress -d man.config.Z  
# uncompress man.config.Z

解压缩

gzip, zcat

 

语法:

# gzip [-d#] filename <==压缩与解压缩 
# zcat filename.gz     <==
读取压缩文件内容 
参数说明:  
-d 
:解压缩的参数!  
-# 
:压缩等级, 1 最不好, 9 最好, 6 是默认值!  
示例:  
# gzip man.config       
会产生 man.config.gz 这个文件 

# zcat man.config.gz 
会读取出 man.config 的内容

# gzip -d man.config.gz  
# gunzip man.config.gz 
解压缩,产生 man.config 这个文件

 -1 是最差的压缩比,但是压缩速度最快,而 -9 虽然可以达到较佳的压缩比(经过压缩之后,档案比较小一些!),但是却会损失一些速度! -6 是默认值

bzip2, bzcat


语法:

# bzip2 [-dz] filename <==压缩解压缩命令 
# bzcat filename.bz2   <==
读取压缩文件内容命令 
参数说明: 
-d 
:解压缩  
-z 
:压缩  
示例: 
# bzip2 –z man.config 

压缩
# bzcat man.config.bz2 

读取
# bzip2 –d man.config.bz2 
# bunzip2 man.config.bz2

解压缩

 

tar


语法:

# tar [-zxcvfpP] filename  
# tar -N 'yyyy/mm/dd' /path -zcvf target.tar.gz source  
参数说明:  
-z 
:同时具有 gzip 的属性  
-x 
:解开一个压缩文件的参数命令  
-t 
:查看 tarfile 里面的文件 
-c 
:建立一个压缩文件的参数命令  
-v 
:压缩的过程中显示文件  
-f 
:使用文件或文件夹名,在 f 之后要立即接文件或文件夹名,不要再加参数  
   要写成『 tar -zcvPf tfile sfile』才对  
-p 
:使用原文件的原来属性(属性不会依据使用者而变)  
-P 
:可以使用绝对路径  
-N 
:比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中 
--exclude FILE
:在压缩的过程中,不要将 FILE 打包!  
示例:  
# tar -cvf  directory.tar    directory  
只将文件夹整合打包成一个文件 

# tar -zcvf directory.tar.gz directory  
除了将文件夹打包外,同时以 gzip 压缩 

# tar -zcvf filename.tar.gz  /home/test/*  
/home/test/ 这个文件夹下的文件全部打包并压缩成为一个 filename.tar.gz 的文件

# tar -xvf  directory.tar  
tar 的封包,因为没有使用gzip (.tar 而非 .tar.gz),所以只要使用 –xvf 即可!不需要加上 z ,否则会显示有问题!

# tar -zxvf directory.tar.gz  
这个就是有加上 gzip 的压缩的结果,所以需要加上 –z  

# tar –ztvf directory.tar.gz 
这个 t 可以用来查看 tar 里面的文件信息,而不是将其解开。

# tar -zcvPf home.tar.gz /home  
则建立起来的压缩文件内文件(夹)为绝对路径  
请注意,使用这个 P 的参数时,不要将 P 加在 f 后面,因为 
f
之后要立即接文件名才行。

# tar -N '2002/06/25' -zcvf home.tar.gz /home  
上面是说 在 /home 这个文件夹中,比 2002/06/25 日还要新的文件才会被打包进入 home.tar.gz 这个文件中。 

# tar -zcvf host.tar.gz / --exclude /mnt --exclude /proc  
上面是说,将根文件夹的所有数据都打包进 host.tar.gz 这个文件中,但是 /mnt /proc 则不打包。 

# tar -cvf - /home | tar -xvf – 
直接以管线命令『 pipe 』来进行压缩、解压缩的过程。在上面的例子中,我们想要『将 /home 底下的数据直接 copy 到目前所在的路径,也就是 /root 底下来』,但是又觉得使用 cp -r 有点麻烦,那么就直接以这个打包的方式来打包,其中,命令里面的 - 就是表示那个被打包的文件。由于我们不想要让过渡文件存在,所以就以这一个方式来进行复制。

 

cpio

语法:

# cpio -covB  > [file|device]<==备份 
# cpio -icduv < [file|device]<==
还原 
参数说明:  
-o
:将资料 copy 输出到文件或设备上  
-i
将数据从文件或设备上还原到系统中 
-t
查看cpio建立的文件或设备内容 
-c
:一种较新的 portable format 方式储存  
-v
在屏幕上显示备份过程中的文件名
-B :让默认的 Blocks 可以增加至 5120 bytes ,默认是 512 bytes   
   这样的好处是可以让大文件的储存速度加快。  
-d
:自动建立文件夹,由于 cpio 的内容可能不是在同一个文件夹内, 
    
如此的话在反备份的过程会有问题! 这个时候加上 -d 的话, 
    
就可以自动的将需要的目录建立起来了!  
-u
更新,用较新的文件覆盖旧的文件 
示例:  
# find / -print | cpio -covB > /dev/st0  
将查找到的文件存到存储设备 

# cpio -icduv < /dev/st0  
存储设备的数据还原回来! 

# cpio -icdvt < /dev/st0 > /tmp/content  
存储设备的内容(文件名而已)转存到 /tmp/content 

# find / -type -f | cpio -o > /tmp/root.cpio  
# cpio -i < /tmp/root.cpio  
先输出到 /tmp/root.cpio 这个文件,然后再给他还原回来!

阅读(2033) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~