当前位置: 代码迷 >> 综合 >> tar,gunzip,gzip,unzip和zgrep 命令的区别
  详细解决方案

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

热度:54   发布时间:2024-01-05 09:40:20.0

<!-- @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

  相关解决方案