Chinaunix首页 | 论坛 | 博客
  • 博客访问: 480634
  • 博文数量: 98
  • 博客积分: 3265
  • 博客等级: 中校
  • 技术积分: 1227
  • 用 户 组: 普通用户
  • 注册时间: 2010-10-23 00:29
文章分类

全部博文(98)

文章存档

2012年(6)

2011年(83)

2010年(9)

分类: LINUX

2011-02-26 11:38:00

    .tar
  解包:tar xvf FileName.tar
  打包:tar cvf FileName.tar DirName
  (注:tar是打包,不是压缩!)
  ———————————————
  .gz
  解压1:gunzip FileName.gz
  解压2:gzip -d FileName.gz
  压缩:gzip FileName
  .tar.gz 和 .tgz
  解压:tar zxvf FileName.tar.gz
  压缩:tar zcvf FileName.tar.gz DirName
  ———————————————
  .bz2
  解压1:bzip2 -d FileName.bz2
  解压2:bunzip2 FileName.bz2
  压缩: bzip2 -z FileName
  .tar.bz2
  解压:tar jxvf FileName.tar.bz2        或tar --bzip xvf FileName.tar.bz2
  压缩:tar jcvf FileName.tar.bz2 DirName
  ———————————————
  .bz
  解压1:bzip2 -d FileName.bz
  解压2:bunzip2 FileName.bz
  压缩:未知
  .tar.bz
  解压:tar jxvf FileName.tar.bz
  压缩:未知
  ———————————————
  .Z
  解压:uncompress FileName.Z
  压缩:compress FileName
  .tar.Z
  解压:tar Zxvf FileName.tar.Z
  压缩:tar Zcvf FileName.tar.Z DirName
  ———————————————
  .zip
  解压:unzip FileName.zip
  压缩:zip FileName.zip DirName
  压缩一个目录使用 -r 参数,-r 递归。例: $ zip -r FileName.zip DirName
  ———————————————
  .rar
  解压:rar x FileName.rar
  压缩:rar a FileName.rar DirName
  
 Linux下常见文件解压方法及命令
  系统·System
  
  1.以.a为扩展名的文件:
  #tar xv file.a
  2.以.z为扩展名的文件:
  #uncompress file.Z
  3.以.gz为扩展名的文件:
  #gunzip file.gz
  4.以.bz2为扩展名的文件:
  #bunzip2 file.bz2
  5.以.tar.Z为扩展名的文件:
  #tar xvZf file.tar.Z
  或 #compress -dc file.tar.Z | tar xvf
  6.以.tar.gz/.tgz为扩展名的文件:
  #tar xvzf file.tar.gz
  或 gzip -dc file.tar.gz | tar xvf -
  7.以.tar.bz2为扩展名的文件:
  #tar xvIf file.tar.bz2
  或 bzip2 -dc file.tar.bz2 | xvf -
  8.以.cpio.gz/.cgz为扩展名的文件:
  #gzip -dc file.cgz | cpio -div
  9.以.cpio/cpio为扩展名的文件:
  #cpio -div file.cpio
  或cpio -divc file.cpio
  10.以.rpm为扩展名的文件安装:
  #rpm -i file.rpm
  11.以.rpm为扩展名的文件解压缩:
  #rpm2cpio file.rpm | cpio -div
  12.以.deb为扩展名的文件安装:
  #dpkg -i file.deb
  13.以.deb为扩展名的文件解压缩:
  #dpkg-deb -fsys-tarfile file.deb | tar xvf - ar p
  file.deb data.tar.gz | tar xvzf -
  14.以.zip为扩展名的文件:
  #unzip file.zip
  在linux下解压Winzip格式的文件
  要是装了jdk的话,可以用jar命令;还可以使用unzip命令。
  直接解压.tar.gz文件
  xxxx.tar.gz文件使用tar带zxvf参数,可以一次解压开。XXXX为文件名。 例如:
  $tar zxvf xxxx.tar.gz 各种压缩文件的解压(安装方法)
  


  文件扩展名 解压(安装方法)
   
  .a ar xv file.a
  .Z uncompress file.Z
  .gz gunzip file.gz
  .bz2 bunzip2 file.bz2
  .tar.Z tar xvZf file.tar.Z
  compress -dc file.tar.Z | tar xvf -
  .tar.gz/.tgz tar xvzf file.tar.gz
  gzip -dc file.tar.gz | tar xvf -
  .tar.bz2 tar xvIf file.tar.bz2
  bzip2 -dc file.tar.bz2 | xvf -
  .cpio.gz/.cgz gzip -dc file.cgz | cpio -div
  .cpio/cpio cpio -div file.cpio
  cpio -divc file.cpio
  .rpm/install rpm -i file.rpm
  .rpm/extract rpm2cpio file.rpm | cpio -div
  .deb/install dpkg -i file.deb
  .deb/exrtact dpkg-deb -fsys-tarfile file.deb | tar xvf -
  ar p file.deb data.tar.gz | tar xvzf -
  .zip unzip file.zip
  
  
  bzip2 -d myfile.tar.bz2 | tar xvf
  
  
  tar xvfz myfile.tar.bz2
  
  
  x 是解压
  v 是复杂输出
  f 是指定文件
  z gz格式
  
  
  gzip
  gzip[选项]要压缩(或解压缩)的文件名
  -c将输出写到标准输出上,并保留原有文件。
  -d将压缩文件压缩。
  -l对每个压缩文件,显示下列字段:压缩文件的大小,未压缩文件的大小、压缩比、未压缩文件的名字
  -r递归式地查找指定目录并压缩或压缩其中的所有文件。
  -t测试压缩文件是正完整。
  -v对每一个压缩和解压缩的文件,显示其文件名和压缩比。
  -num-用指定的数字调整压缩的速度。
  举例:
  把/usr目录并包括它的子目录在内的全部文件做一备份,备份文件名为usr.tar
  tar cvf usr.tar /home
  把/usr 目录并包括它的子目录在内的全部文件做一备份并进行压缩,备份文件名是usr.tar.gz
  tar czvf usr.tar.gz /usr
  压缩一组文件,文件的后缀为tar.gz
  #tar cvf back.tar /back/
  #gzip -q back.tar
  or
  #tar cvfz back.tar.gz /back/
  释放一个后缀为tar.gz的文件。
  #tar zxvf back.tar.gz
  #gzip back.tar.gz
  #tar xvf back.tar

===================================================
转载如下:http://www.cnblogs.com/xiaouisme/archive/2011/05/25/2057435.html
===================================================

tar是文件打包工具,split是文件分割工具,在邮件中发送附件的时候,可能因为附件大小限制,需要压缩并分割,分几封邮件发送。如果需要备份很多资料的时候,打包后的单个文件可能超出文件系统支持的单个文件大小限制的时候,也需要分割成适合大小的文件包。刚好今天又要备份skype文件夹,所以就用这个实例来说明一下tar和split这两个指令,如何压缩、分割,再通过cat合并分割的文件解压还原,以及在管道”|”配合下的打包分割文件过程。

例如:我的.skype文件已经有35M之多了,现在需要压缩备份起来,直接用tar打包:

tar压缩文件:
[marco.chan@linuxhobby backup]$ ls
skype_backup
[marco.chan@linuxhobby backup]$ tar -czvp -f skype_backup.tar.gz skype_backup
中间的打包压缩输出过程省略…
skype_backup/marco.chan.skype/chat512.dbb
skype_backup/marco.chan.skype/user4096.dbb
skype_backup/marco.chan.skype/chatmsg256.dbb
skype_backup/shared.xml
skype_backup/shared.lck
[marco.chan@linuxhobby backup]$ ls
skype_backup.tar.gz skype_backup

因为用了“-v”参数,所以中间会输出打包压缩的文件信息。
-c (create)当然是建立一个打包文件。
-z (gzip)调用gzip进行压缩,建议后缀名为*.tar.gz;也可以用-j(bzip2),建议后缀名为*.tar.bz2。
-p (preserve-permissions)小写的p,保持原先的文件属性,也就是rwx属性。
-f (file)输出的目标文件“skype_backup.tar.gz” 将要被处理的源文件“skype_backup”,可以将-f连写,但是为了容易记忆和区分,所以这里分开写了。

打包后的skype_backup.tar.gz还有15M大小,但是我的邮件附件就支持6M大小,所以还得分割。

splite分割文件
[marco.chan@linuxhobby backup]$ split -b 4000k skype_backup.tar.gz skype_backup_20090626.tar.gz. –verbose
creating file `skype_backup_20090626.tar.gz.aa’
creating file `skype_backup_20090626.tar.gz.ab’
creating file `skype_backup_20090626.tar.gz.ac’
creating file `skype_backup_20090626.tar.gz.ad’
[marco.chan@linuxhobby backup]$ ls
skype_backup skype_backup_20090626.tar.gz.ac
skype_backup_20090626.tar.gz.aa skype_backup_20090626.tar.gz.ad
skype_backup_20090626.tar_20090626.gz.ab skype_backup.tar.gz

-b 指定分割大小,例如k,m等单位。
–verbose 输出分割文件信息,可选。
skype_backup.tar.gz 被分割的文件。
skype_backup_20090626.tar.gz. 分割后的文件名(注意gz后面的”.”),如果不指定的话,默认是xaa,xab,xac。

现在通过tar,split,已经将skype_backup目录文件打包、分割为每个最大为4M大小的压缩包了。
以上是分步执行,如果用管道”|”,将tar,split写成一个执行语句:

使用管道“|”合并两个指令:
[marco.chan@linuxhobby backup]$ tar -czvp -f – skype_backup |split -b 4000k – skype_backup_20090626.tar.gz. –verbose
[marco.chan@linuxhobby backup]$ ls
skype_backup
skype_backup_20090626.tar.gz.aa
skype_backup_20090626.tar.gz.ab
skype_backup_20090626.tar.gz.ac
skype_backup_20090626.tar.gz.ad

注意一下指令中的两个“-”,如果分开执行,就不用”-”。为什么有这个”-”?

man tar
-f, –file [HOSTNAME:]F
Use archive file or device F (default “-”, meaning stdin/stdout). Note that “/dev/stdout” is not equivalent to “-”.Using “/dev/stdout” explicitly can lead to corrupted archive, especially when coupled with “-v”.

如何解压分割文件
把文件分割了几个包,当然也要能合并解压了,合并文件当然用cat了,cat不仅仅是用来处理合并文本文件的,也可以用来合并压缩文件。

cat合并分割的文件:
[marco.chan@linuxhobby backup]$ cat skype_backup_20090626.tar.gz.a* >skype_backup_cat.tar.gz

将之前分割的压缩包合并成skype_backup_cat.tar.gz,然后可以通过tar -zxvf来解压skype_backup_cat.tar.gz,通过管道”|”可写成:

使用管道“|”合并两个指令:
[marco.chan@linuxhobby backup]$ cat skype_backup_20090626.tar.gz.a* |tar -zxv

关于更多的tar、split、cat指令应用,建议通过man查询。

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