当前位置: > Linux命令 >

tar,gunzip,gzip,unzip和zgrep 命令的区别

时间:2016-06-24 01:19来源:linux.it.net.cn 作者:IT
<!-- @page { size: 21cm 29.7cm; margin: 2cm } P { margin-top: 0cm; margin-bottom: 0.21cm } -->
 
1:tar 
  tar [-cxtzjvfpPN] 文档和目录 ....
   参数: 
  -c :建立一个压缩文档的参数指令 (create 的意思 ) ; 
  -x :解开一个压缩文档的参数指令! 
  -t :查看 tarfile 里面的文档! 
   特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在! 
   因为不可能同时压缩和解压缩。 
  -z :是否同时具备 gzip 的属性?亦即是否需要用 gzip 压缩? 
  -j :是否同时具备 bzip2 的属性?亦即是否需要用 bzip2 压缩? 
  -v :压缩的过程中显示文档!这个常用,但不建议用在背景执行过程! 
  -f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数! 
   例如使用『 tar -zcvfP tfile sfile 』就是错误的写法,要写成 
   『 tar -zcvPf tfile sfile 』才对喔! 
  -p :使用原文档的原来属性(属性不会依据使用者而变) 
  -P :能够使用绝对路径来压缩! 
  -N :比后面接的日期 (yyyy/mm/dd) 还要新的才会被打包进新建的文档中! 
  --exclude FILE :在压缩的过程中,不要将 FILE 打包! 
   范例: 
   范例一:将整个 /etc 目录下的文档全部打包成为 /tmp/etc.tar
  [root@linux ~]# tar -cvf /tmp/etc.tar /etc
   范例二:查阅上述 /tmp/etc.tar.gz 文档内有哪些文档? 
  [root@linux ~]# tar -ztvf /tmp/etc.tar.gz
  # 由於我们使用 gzip 压缩,所以要查阅该 tar file 内的文档时, 
  # 就得要加上 z 这个参数了!这很重要的! 
   范例三:将 /tmp/etc.tar.gz 文档解压缩在 /usr/local/src 底下 
  [root@linux ~]# cd /usr/local/src
  [root@linux src]# tar -zxvf /tmp/etc.tar.gz
  # 在预设的情况下,我们能够将压缩档在任何地方解开的!以这个范例来说, 
  # 我先将工作目录变换到 /usr/local/src 底下,并且解开 /tmp/etc.tar.gz , 
  # 则解开的目录会在 /usr/local/src/etc 呢!另外,假如您进入 /usr/local/src/etc
  # 则会发现,该目录下的文档属性和 /etc/ 可能会有所不同喔! 
   范例四:在 /tmp 底下,我只想要将 /tmp/etc.tar.gz 内的 etc/passwd 解开而已 
  [root@linux ~]# cd /tmp
  [root@linux tmp]# tar -zxvf /tmp/etc.tar.gz etc/passwd
  # 我能够透过 tar -ztvf 来查阅 tarfile 内的文档名称,假如单只要一个文档, 
  # 就能够透过这个方式来下达!注意到! etc.tar.gz 内的根目录 / 是被拿掉了! 
   范例五:将 /etc/ 内的任何文档备份下来,并且保存其权限! 
  [root@linux ~]# tar -zxvpf /tmp/etc.tar.gz /etc
  # 这个 -p 的属性是很重要的,尤其是当您要保留原本文档的属性时! 
   范例六:在 /home 当中,比 2005/06/01 新的文档才备份 
  [root@linux ~]# tar -N "2005/06/01" -zcvf home.tar.gz /home
   范例七:我要备份 /home, /etc ,但不要 /home/dmtsai
  [root@linux ~]# tar --exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc
   范例八:将 /etc/ 打包后直接解开在 /tmp 底下,而不产生文档! 
  [root@linux ~]# cd /tmp
  [root@linux tmp]# tar -cvf - /etc | tar -xvf -
  # 这个动作有点像是 cp -r /etc /tmp 啦~依旧是有其有用途的! 
  # 要注意的地方在於输出档变成 - 而输入档也变成 - ,又有一个 | 存在~ 
  # 这分别代表 standard output, standard input 和管线命令啦! 
######################################################################


 
  2:gunzip
  gunzip(gnu unzip )
   功能说明:解压文档。 
   语  法: gunzip [-acfhlLnNqrtvV][-s ][ 文档 ...] 或 gunzip [-acfhlLnNqrtvV][-s ][ 目录 ]
   补充说明: gunzip 是个使用广泛的解压缩程式,他用于解开被 gzip 压缩过的文档,这些压缩文档预设最后的扩展名为 ".gz" 。 
   事实上 gunzip 就是 gzip 的硬连接,因此不论是压缩或解压缩,都可通过 gzip 指令单独完成。 
   参  数: 
  -a 或 --ascii  使用 ASCII 文字模式。 
  -c 或 --stdout 或 --to-stdout  把解压后的文档输出到标准输出设备。 
  -f 或 -force  强行解开压缩文档,不理会文档名称或硬连接是否存在连同该文档是否为符号连接。 
  -h 或 --help  在线帮助。 
  -l 或 --list  列出压缩文档的相关信息。 
  -L 或 --license  显示版本和版权信息。 
  -n 或 --no-name  解压缩时,若压缩文档内含有远来的文档名称及时间戳记,则将其忽略不予处理。 
  -N 或 --name  解压缩时,若压缩文档内含有原来的文档名称及时间戳记,则将其回存到解开的文档上。 
  -q 或 --quiet  不显示警告信息。 
  -r 或 --recursive  递归处理,将指定目录下的任何文档及子目录一并处理。 
  -S 或 --suffix  更改压缩字尾字符串。 
  -t 或 --test  测试压缩文档是否正确无误。 
  -v 或 --verbose  显示指令执行过程。 
  -V 或 --version 显示版本信息。 
#########################################################################


 
  3:gzip 
  gzip 命令 
   关键词: gzip                                            
  gzip 命令 
   减少文档大小有两个明显的好处,一是能够减少存储空间,二是通过网络传输文档时,能够减少传输的时间。 
  gzip 是在 Linux 系统中经常使用的一个对文档进行压缩和解压缩的命令,既方便又好用。 
   语法: gzip [ 选项 ] 压缩(解压缩)的文档名 
   各选项的含义: 
  -c 将输出写到标准输出上,并保留原有文档。 
  -d 将压缩文档解压。 
  -l 对每个压缩文档,显示下列字段: 
   压缩文档的大小 
   未压缩文档的大小 
   压缩比 
   未压缩文档的名字 
  -r 递归式地查找指定目录并压缩其中的任何文档或是解压缩。 
  -t 测试,检查压缩文档是否完整。 
  -v 对每一个压缩和解压的文档,显示文档名和压缩比。 
  -num 用指定的数字 num 调整压缩的速度, -1 或 --fast 表示最快压缩方法(低压缩比), -9 或 --best 表示最慢压缩方法(高压缩比)。 
   系统缺省值为 6 。 
   假设一个目录 /home 下有文档 mm.txt 、 sort.txt 、 xx.com 。 
   例 1 :把 /home 目录下的每个文档压缩成 .gz 文档。 
  $ cd /home 
  $ gzip * 
  $ ls 
  m.txt.gz sort.txt.gz xx.com.gz 
   例 2 :把例 1 中每个压缩的文档解压,并列出周详的信息。 
  $ gzip -dv * 
  mm.txt.gz 43.1%-----replaced with mm.txt 
  sort.txt.gz 43.1%-----replaced with sort.txt 
  xx.com.gz 43.1%-----replaced with xx.com 
  $ ls 
  mm.txt sort.txt xx.com 
  
   例 3 :周详显示例 1 中每个压缩的文档的信息,并不解压。 
  $ gzip -l * 
  compressed uncompr. ratio uncompressed_name 
  277 445 43.1% mm.txt 
  278 445 43.1% sort.txt 
  277 445 43.1% xx.com 
  $ ls 
  mm.txt.gz sort.txt.gz xx.com.gz 
   例 4 :压缩一个 tar 备份文档,如 usr.tar ,此时压缩文档的扩展名为 .tar.gz 
  $ gzip usr.tar 
  $ ls 
  usr.tar.gz 
#########################################################################


 
  4:unzip 命令 
   用 MS Windows 下的压缩软件 winzip 压缩的文档如何在 Linux 系统下展开呢?能够用 unzip 命令,该命令用于解扩展名为 .zip 的压缩文档。 
   语法: unzip [ 选项 ] 压缩文档名 .zip 
   各选项的含义分别为: 
   -x 文档列表 解压缩文档,但不包括指定的 file 文档。 
   -v 查看压缩文档目录,但不解压。 
   -t 测试文档有无损坏,但不解压。 
   -d 目录 把压缩文档解到指定目录下。 
   -z 只显示压缩文档的注解。 
   -n 不覆盖已存在的文档。 
   -o 覆盖已存在的文档且不需要用户确认。 
   -j 不重建文档的目录结构,把任何文档解压到同一目录下。 


 
    例 1 :将压缩文档 text.zip 在当前目录下解压缩。 
   $ unzip text.zip 
  
    例 2 :将压缩文档 text.zip 在指定目录 /tmp 下解压缩,假如已有相同的文档存在,需要 unzip 命令不覆盖原先的文档。 
   $ unzip -n text.zip -d /tmp 
  
    例 3 :查看压缩文档目录,但不解压。 
    $ unzip -v text.zip 
####################################################################


 
  6:zgrep 命令 
    这个命令的功能是在压缩文档中寻找匹配的正则表达式,用法和 grep 命令相同,只但是操作的对象是压缩文档。 
    假如用户想看看在某个压缩文档中有没有某一句话,便可用 zgrep


 
(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容