免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1270 | 回复: 0
打印 上一主题 下一主题

gzip linux 命令说明 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-11-19 10:33 |只看该作者 |倒序浏览

gzip  linux 命令说明
参考资料
l        
《鸟哥的 Linux 私房菜》之 “
档案的压缩与打包

l        
《Linux 基础教程(1) 操作系统基础》第14章

简介

[root@linux ~]# gzip [-cdt#] 檔名
[root@linux ~]# zcat 檔名.gz
参数:
-c  :将压缩的数据输出到屏幕上,可透过数据流重导向来处理;
-d  :解压缩的参数;
-t  :可以用来检验一个压缩档的一致性~看看档案有无错误;
-#  :压缩等级,-1 最快,但是压缩比最差、-9 最慢,但是压缩比最好!预设是 -6 ~
范例:
范例一:将 /etc/man.config 复制到 /tmp ,并且以 gzip 压缩
[root@linux ~]# cd /tmp
[root@linux tmp]# cp /etc/man.config .
[root@linux tmp]# gzip man.config
# 此时 man.config 会变成 man.config.gz !

范例二:将范例一的档案内容读出来!
[root@linux tmp]# zcat man.config.gz
# 此时屏幕上会显示
man.config.gz 解压缩之后的档案内容!!

范例三:将范例一的档案解压缩
[root@linux tmp]# gzip -d man.config.gz

范例四:将范例三解开的 man.config 用最佳的压缩比压缩,并保留原本的档案
[root@linux tmp]# gzip -9 -c
man.config > man.config.gz

gzip 是用来压缩与解压缩附档名为 *.gz 的指令!所以看到 *.gz 的档案时,就应该要知道他是经由 gzip 这个程序压缩的呦!另外, gzip 也提供 压缩比的服务! -1 是最差的压缩比,但是压缩速度最快,而 -9 虽然可以达到较佳的压缩比 (经过压缩之后,档案比较小一些!) ,但是却会损失一些速度!预设是 -6 这个数值! gzip 也是相当常使用的一个压缩指令呢!
至于 zcat 则是用来读取压缩文件数据内容的指令!假如我们刚刚压缩的档案是一个文字文件, 那么你还记得如何读取文字文件吗?!没错!就是使用 cat ,那么读取压缩档呢?呵呵!就是使用 zcat 啰!由于 gzip 这个压缩指令主要想要用来取代 compress 的,所以 compress 的压缩档案也可以使用 gzip 来解开喔!同时, zcat 这个指令可以同时读取 compress 与 gzip 的压缩档呦!


NAME
      
gzip, gunzip, zcat - compress or expand files

SYNOPSIS
      
gzip [ -acdfhlLnNrtvV19 ] [-S suffix] [ name ...  ]
      
gunzip [ -acfhlLnNrtvV ] [-S suffix] [ name ...  ]
      
zcat [ -fhLV ] [ name ...  ]

DESCRIPTION
      
Gzip  reduces the size of the
named files using Lempel-Ziv coding (LZ77).
Whenever possible, each file is replaced
       by one with the extension .gz, while
keeping the same ownership modes, access and modification times.  (The default
      
extension  is  -gz
for  VMS, z for MSDOS, OS/2 FAT,
Windows NT FAT and Atari.)  If no files
are specified, or if a
      
file name is "-", the standard input is compressed to the
standard output.  Gzip will only attempt
to compress reg-
      
ular files.  In particular, it
will ignore symbolic links.

      
If the compressed file name is too long for its file system, gzip truncates
it.  Gzip attempts to truncate only the
      
parts of the file name longer than 3 characters.  (A part is delimited by dots.) If  the
name  consists  of
small
      
parts  only,  the
longest  parts  are
truncated.  For  example,
if  file  names
are  limited  to 14 characters,
      
gzip.msdos.exe is compressed to gzi.msd.exe.gz.  Names are not truncated on systems which do
not have  a  limit
on
      
file name length.

      
By default, gzip keeps the original file name and timestamp in the
compressed file. These are used when decompress-
      
ing the file with the -N option. This is useful when the compressed file
name was truncated or when the time
stamp
      
was not preserved after a file transfer.

      
Compressed  files  can  be  restored
to their original form using gzip -d or gunzip or zcat.  If the original name
      
saved in the compressed file is not suitable for its file system, a new
name is constructed from the
original  one
      
to make it legal.

      
gunzip  takes  a list of files on its command line and
replaces each file whose name ends with .gz, -gz, .z, -z, _z
      
or .Z and which begins with the correct magic number with an
uncompressed  file  without
the  original  extension.
      
gunzip  also  recognizes
the  special  extensions .tgz and .taz as shorthands for
.tar.gz and .tar.Z respectively.
      
When compressing, gzip uses the .tgz extension if necessary instead of
truncating a file with a .tar extension.

      
gunzip can currently decompress files created by gzip, zip, compress,
compress -H or pack.  The  detection
of  the
      
input  format  is automatic.
When using the first two formats, gunzip checks a 32 bit CRC. For pack,
gunzip checks
      
the uncompressed length. The standard compress format was not designed
to allow consistency checks. However
gunzip
      
is sometimes able to detect a bad .Z file. If you get an error when
uncompressing a .Z file, do not assume that the
      
.Z file is correct simply because the standard uncompress does not
complain. This generally means that the standard
      
uncompress  does  not
check its input, and happily generates garbage output.  The SCO compress -H format (lzh com-
      
pression method) does not include a CRC but also allows some consistency
checks.

      
Files created by zip can be uncompressed by gzip only if they have a
single member compressed with the
’deflation’
        
method.  This  feature
is  only  intended to help conversion of tar.zip files
to the tar.gz format. To extract zip
      
files with several members, use unzip instead of gunzip.

      
zcat is identical to gunzip -c.
(On some systems, zcat may be installed as gzcat to preserve the
original link  to
      
compress.)   zcat  uncompresses
either  a  list
of files on the command line or its standard input and writes the
      
uncompressed data on standard output.
zcat will uncompress files that have the correct magic number  whether
they
      
have a .gz suffix or not.

      
Gzip  uses  the Lempel-Ziv algorithm used in zip and
PKZIP.  The amount of compression
obtained depends on the size
      
of the input and the distribution of common substrings.  Typically, text such as source code or
English is  reduced
      
by  60-70%.   Compression
is generally much better than that achieved by LZW (as used in
compress), Huffman coding
      
(as used in pack), or adaptive Huffman coding (compact).

      
Compression is always performed, even if the compressed file is slightly
larger than the original. The  worst  case
      
expansion  is  a  few
bytes for the gzip file header, plus 5 bytes every 32K block, or an expansion
ratio of 0.015%
      
for large files. Note that the actual number of used disk blocks almost
never increases.  gzip preserves the  mode,
      
ownership and timestamps of files when compressing or decompressing.

OPTIONS
      
-a --ascii
              Ascii  text
mode:  convert end-of-lines using
local conventions. This option is supported only on some non-
              Unix systems. For MSDOS, CR LF is
converted to LF when compressing, and LF is converted to CR LF when decom-
              pressing.

      
-c --stdout --to-stdout
              Write  output on standard output; keep original
files unchanged.  If there are several
input files, the out-
              put consists of a sequence of
independently compressed members. To obtain
better  compression,  concatenate
              all input files before
compressing them.

      
-d --decompress --uncompress
              Decompress.

      
-f --force
              Force  compression
or  decompression  even if the file has multiple links or the
corresponding file already
              exists, or if the compressed data
is read from or written to a terminal. If the input data is not in a  for-
              mat  recognized by gzip, and if the option
--stdout is also given, copy the input data without change to the
              standard ouput: let zcat behave
as cat.  If -f is not given, and when not
running in  the  background,
gzip
              prompts to verify whether an
existing file should be overwritten.

      
-h --help
              Display a help screen and quit.

      
-l --list
              For each compressed file, list
the following fields:

                  compressed size: size of the
compressed file
                  uncompressed size: size of
the uncompressed file
                  ratio: compression ratio
(0.0% if unknown)
                  uncompressed_name: name of
the uncompressed file

              The  uncompressed
size is given as -1 for files not in gzip format, such as compressed .Z
files. To get the
              uncompressed size for such a
file, you can use:

                  zcat file.Z | wc -c

              In combination with the --verbose
option, the following fields are also displayed:

                  method: compression method
                  crc: the 32-bit CRC of the
uncompressed data
                  date & time: time stamp
for the uncompressed file

              The compression methods currently
supported are deflate, compress, lzh (SCO compress -H) and pack.  The
crc
              is given as ffffffff for a file
not in gzip format.

              With --name, the uncompressed
name,  date and time  are those stored within the compress file if
present.

              With --verbose, the size totals
and compression ratio for all files is also displayed, unless some sizes are
              unknown. With --quiet, the title
and totals lines are not displayed.

      
-L --license
              Display the gzip license and quit.

      
-n --no-name
              When compressing, do not save the
original file name and time stamp by default. (The original name is always
              saved if the name had to be
truncated.) When decompressing, do not restore the original file name if
present
              (remove only the gzip suffix from
the compressed file name) and do not restore the original  time
stamp  if
              present (copy it from the
compressed file). This option is the default when decompressing.

      
-N --name
              When  compressing,
always save the original file name and time stamp; this is the default.
When decompress-
              ing, restore the original file
name and time stamp if present. This option is useful on systems which have a
              limit on file name length or when
the time stamp has been lost after a file transfer.

      
-q --quiet
              Suppress all warnings.

      
-r --recursive
              Travel  the
directory  structure  recursively.
If  any of the file names
specified on the command line are
              directories, gzip will descend
into the directory and compress all the files it finds there  (or
decompress
              them in the case of gunzip ).

       -S .suf --suffix .suf
              Use  suffix
.suf  instead  of
.gz.  Any  suffix can be given, but suffixes other than
.z and .gz should be
              avoided to avoid confusion when
files are transferred to other systems.
A null suffix forces gunzip to
try
              decompression on all given files
regardless of suffix, as in:

                  gunzip -S "" *       (*.* for MSDOS)

              Previous versions of gzip used
the .z suffix. This was changed to avoid a conflict with pack(1).

      
-t --test
              Test. Check the compressed file
integrity.

      
-v --verbose
              Verbose. Display the name and
percentage reduction for each file compressed or decompressed.

      
-V --version
              Version. Display the version
number and compilation options then quit.

      
-# --fast --best
              Regulate the speed of compression
using the specified digit #, where -1 or --fast indicates the fastest com-
              pression method (less
compression) and -9 or --best indicates the slowest compression method
(best  compres-
              sion).   The default compression level is -6 (that
is, biased towards high compression at expense of speed).

ADVANCED USAGE
      
Multiple compressed files can be concatenated. In this case, gunzip will
extract all members at once. For example:

            
gzip -c file1  > foo.gz
            
gzip -c file2 >> foo.gz

      
Then

            
gunzip -c foo

      
is equivalent to

            
cat file1 file2

      
In case of damage to one member of a .gz file, other members can still
be  recovered  (if
the  damaged  member
is
      
removed). However, you can get better compression by compressing all
members at once:

            
cat file1 file2 | gzip > foo.gz

      
compresses better than

            
gzip -c file1 file2 > foo.gz

      
If you want to recompress concatenated files to get better compression,
do:

            
gzip -cd old.gz | gzip > new.gz

      
If  a  compressed
file  consists  of
several members, the uncompressed size and CRC reported by the --list
option
      
applies to the last member only. If you need the uncompressed size for
all members, you can use:

            
gzip -cd file.gz | wc -c

      
If you wish to create a single archive file with multiple members so
that members can later be  extracted  indepen-
      
dently,  use  an
archiver such as tar or zip. GNU tar supports the -z option to invoke
gzip transparently. gzip is
      
designed as a complement to tar, not as a replacement.

ENVIRONMENT
      
The environment variable GZIP can hold a set of default options for
gzip.  These options are interpreted
first  and
      
can be overwritten by explicit command line parameters. For example:
            
for sh:    GZIP="-8v
--name"; export GZIP
            
for csh:   setenv GZIP "-8v
--name"
            
for MSDOS: set GZIP=-8v --name

      
On  Vax/VMS,  the name of the environment variable is
GZIP_OPT, to avoid a conflict with the symbol set for invoca-
      
tion of the program.

SEE ALSO
      
znew(1), zcmp(1), zmore(1), zforce(1), gzexe(1), zip(1), unzip(1),
compress(1), pack(1), compact(1)

      
The gzip file format is specified in P. Deutsch, GZIP file format
specification version 4.3,
       notes/rfc1952.txt>,  Internet
RFC  1952  (May 1996).
The zip deflation format is specified in P. Deutsch, DEFLATE
      
Compressed Data Format Specification version 1.3,
, Internet RFC 1951  (May
      
1996).

DIAGNOSTICS
      
Exit status is normally 0; if an error occurs, exit status is 1. If a
warning occurs, exit status is 2.

      
Usage: gzip [-cdfhlLnNrtvV19] [-S suffix] [file ...]
              Invalid options were specified on
the command line.

       file: not in gzip format
              The file specified to gunzip has
not been compressed.

      
file: Corrupt input. Use zcat to recover some data.
              The compressed file has been
damaged. The data up to the point of failure can be recovered using

                    zcat file > recover

      
file: compressed with xx bits, can only handle yy bits
              File was compressed (using LZW)
by a program that could deal with more bits than the decompress code on this
              machine.  Recompress the file with gzip, which
compresses better and uses less memory.

      
file: already has .gz suffix -- no change
              The file is assumed to be already
compressed.  Rename the file and try
again.

      
file already exists; do you wish to overwrite (y or n)?
              Respond "y" if you want
the output file to be replaced; "n" if not.

      
gunzip: corrupt input
              A SIGSEGV violation was detected
which usually means that the input file has been corrupted.

       xx.x% Percentage of the input saved by
compression.
              (Relevant only for -v and -l.)

      
-- not a regular file or directory: ignored
              When the input file is not a
regular file or directory, (e.g. a symbolic link, socket, FIFO,  device
file),
              it is left unaltered.

      
-- has xx other links: unchanged
              The  input
file  has links; it is left
unchanged.  See ln(1) for more
information. Use the -f flag to force
              compression of multiply-linked
files.

CAVEATS
      
When writing compressed data to a tape, it is generally necessary to pad
the output  with  zeroes
up  to  a
block
      
boundary.  When  the
data  is  read and the whole block is passed to gunzip
for decompression, gunzip detects that
      
there is extra trailing garbage after the compressed data and emits a
warning by  default.  You
have  to  use
the
      
--quiet option to suppress the warning. This option can be set in the
GZIP environment variable as in:
      
for sh:  GZIP="-q"  tar -xfz --block-compress /dev/rst0
        
for csh: (setenv GZIP -q; tar -xfz --block-compr /dev/rst0

      
In  the  above
example, gzip is invoked implicitly by the -z option of GNU tar. Make
sure that the same block size
      
(-b option of tar) is used for reading and writing compressed data on
tapes.  (This example assumes you  are
using
      
the GNU version of tar.)

BUGS
      
The  gzip  format
represents  the  the input size modulo 2^32, so the --list
option reports incorrect uncompressed
      
sizes and compression ratios for uncompressed files 4 GB and
larger.  To work around this problem, you
can use  the
      
following command to discover a large uncompressed file’s true size:

            
zcat file.gz | wc -c

      
The --list option reports sizes as -1 and crc as ffffffff if the
compressed file is on a non seekable media.

      
In  some  rare
cases,  the  --best option gives worse compression than
the default compression level (-6). On some
      
highly redundant files, compress compresses better than gzip.

COPYRIGHT NOTICE
      
Copyright © 1998, 1999, 2001 Free Software Foundation, Inc.
      
Copyright © 1992, 1993 Jean-loup Gailly

      
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and
this
      
permission notice are preserved on all copies.

      
Permission  is  granted
to  copy and distribute modified
versions of this manual under the conditions for verbatim
      
copying, provided that the entire resulting derived work is distributed
under the  terms  of
a  permission  notice
      
identical to this one.

      
Permission  is  granted
to  copy and distribute translations
of this manual into another language, under the above
      
conditions for modified versions, except that this permission notice may
be stated in a translation approved by the
      
Foundation.

                                                         
local                                                
  GZIP(1)
(END)
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/21908/showart_425669.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP