redhat Linux系统targzipzip等压缩命令

【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 目录] <==解压缩


11002×××.png

110029177.png



其实最简单癿使用 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


110254304.png

3 、仅解开单一档案的方法

tar –jxv –f 打包档.tar.bz2   待解开的文件名

110029411.png


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

110029222.png

5、tar除了可以将资料打包成为档案之外,还能够将档案打包到某些特别的装置区,举例来说,磁带机(tape)就是一个常见的例子。磁带机由于是一次性读取/写入的装置,因此我们不能够使用类似cp等指令来复制的。那如果想要将/home,/root,/etc备份到磁带机(/dev/st0)时,就可以使用:

tar –cv –f /dev/st0 /home  /root  /etc  

很简单容易吧!