redhat Linux系统tar、gzip、zip等压缩命令
【gzip/gunzip】
gzip是压缩命令,对应的gunzip是解压命令,使用时很简单,如下:
gzip file1执行压缩,压缩后文件名为file1.gz
gunzip file1.gz执行解压,解压后文件名为file1
注意:gzip/gunzip会删除源文件;并且只能处理文件不能处理目录。
www.2cto.com
【tar】
在Linux\Unix系统中很常用的打包命令,常用的参数如下:
-c: 创建打包文件
-x: 释放打包文件
-t: 列出打包文件的内容
-v: 列出处理的文件,-tv同时执行时会显示文件的详细信息,类似与ls-l的结果
-f: 指定目标文件
-z: 执行-c或-x同时执行gzip或gunzip命令
tar可以处理目录,并且不会删除源文件,例如:
tar -cvf /home/jack/dest.tar /home/jack/source将/home/jack/source打包成/home/jack/dest.tar
tar -zcvf /home/jack/dest.tar.gz/home/jack/source将/home/jack/source打包压缩成/home/jack/dest.tar.gz
tar -tvf /home/jack/dest.tar查看/home/jack/dest.tar里面的内容
上面对应的反过程为:
tar -xvf /home/jack/dest.tar
tar -zxvf /home/jack/dest.tar.gz
tar –jxvf /home/jack/dest.tar.gz
【zip/unzip】
默认情况下,windows与linux唯一通用的压缩格式就是zip,因此如果需要在windows与linux系统中传递文件,请压缩成zip格式。
zip不会删除源文件,同样可以压缩目录,例如:
zip file.zip file压缩file文件为file.zip
zip -r folder.zip /home/jack/myf压缩myf目录为folder.zip
unzip -r /home/jack/myf2 folder解压
【bzip2】
bzip2与gzip命令相似,但压缩打文件时压缩率非常高,但同样只能处理文件,另外可以使用-k参数指定不删除源文件,例如:
bzip2 test.log执行压缩,压缩后文件名为test.log.bz2
bzip2 -d test.log.bz2执行解压缩,-d表示解压缩
1、tar
[root@www ~]# tar [-j|-z] [cv] [-f建立的档名] filename... <==打包不压缩
[root@www ~]# tar [-j|-z] [tv] [-f建立的档名] <==察看档名
[root@www ~]# tar [-j|-z] [xv] [-f建立的档名] [-C 目录] <==解压缩
其实最简单癿使用 tar 就只要记忆底下的方式即可:
压 缩:tar -jcv -f filename.tar.bz2 要被压缩的档案或者目录名称
查 询:tar -jtv -f filename.tar.bz2
解压缩:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录
2、将备份的数据解压缩,并考虑特定目录的解压缩劢作 (-C 选项的应用)
tar–jxvf etc.tar.bz2–C /root/KK
3、仅解开单一档案的方法
tar –jxv –f打包档.tar.bz2 待解开的文件名
4、打包某目录,但不包含该目录下的某些档案之做法
假设我们想要打包/etc/ /root 这几个重要的目录,但却不想要打包/root/etc*开头的档案,因为该档案都是刚刚我们才建立的备份文件嘛!而且假设这个新的打包档案要放置成为/root/system.tar.bz2,当然这个档案自己不要打包自己(因为这个档案放置在/root底下啊!)此时我们可以透过—exclude的帮忙!那个exclude就是不包含的意思!所以你可以这样做:
tar–jcv–f /root/system.tar.bz2–exclude=/root/etc* --exclude=/root/system.tar.bz2 /etc/root
5、tar除了可以将资料打包成为档案之外,还能够将档案打包到某些特别的装置区,举例来说,磁带机(tape)就是一个常见的例子。磁带机由于是一次性读取/写入的装置,因此我们不能够使用类似cp等指令来复制的。那如果想要将/home,/root,/etc备份到磁带机(/dev/st0)时,就可以使用:
tar –cv –f /dev/st0 /home /root /etc
很简单容易吧!