Chinaunix首页 | 论坛 | 博客
  • 博客访问: 215783
  • 博文数量: 80
  • 博客积分: 213
  • 博客等级: 入伍新兵
  • 技术积分: 435
  • 用 户 组: 普通用户
  • 注册时间: 2011-10-27 11:13
文章分类

全部博文(80)

文章存档

2012年(46)

2011年(34)

分类: LINUX

2011-11-24 17:24:05

 zip
功能说明:压缩文件。
在压缩时,不需先打包,打包后再压缩,压缩效率反而还更低,默认是-9,即最大效率
zip [options] distination_file source
补充说明:zip是个使用广泛的压缩程序,文件经它压缩后会产生具有".zip"扩展名的压缩文件。
参  数:
  -A   调整可执行的自动解压缩文件。
  -b工作目录>   指定暂时存放文件的目录。(不需要)
  -c   替每个被压缩的文件加上注释。
  -d   从压缩文件内删除指定的文件。  (utility) 
  -D   压缩文件内不建立目录名称。
  -f   此参数的效果和指定"-u"参数类似,但不仅更新既有文件,如果某些文件原本不存在于压缩文件内,使用本参数会一并将其加入压缩文件中。  (utility) 
  -F   尝试修复已损坏的压缩文件。
  -g   将文件压缩后附加在既有的压缩文件之后,而非另行建立新的压缩文件。
  -h   在线帮助。
  -i范本样式>   只压缩符合条件的文件。
  -j   只保存文件名称及其内容,而不存放任何目录名称。(utility) 
  -J   删除压缩文件前面不必要的数据。
  -k   使用MS-DOS兼容格式的文件名称。
  -l   压缩文件时,把LF字符置换成LF+CR字符。
  -ll   压缩文件时,把LF+CR字符置换成LF字符。
  -L   显示版权信息。
  -m   将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中。
  -n字尾字符串>   不压缩具有特定字尾字符串的文件。
  -o   以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同。
  -q   不显示指令执行过程。
  -r   递归处理,将指定目录下的所有文件和子目录一并处理。  (utility) 
  -S   包含系统和隐藏文件。
  -t日期时间>   把压缩文件的日期设成指定的日期。
  -T   检查备份文件内的每个文件是否正确无误。
  -u   更换较新的文件到压缩文件内。
  -v   显示指令执行过程或显示版本信息。
  -V   保存VMS操作系统的文件属性。
  -w   在文件名称里假如版本编号,本参数仅在VMS操作系统下有效。
  -x范本样式>   压缩时排除符合条件的文件。
  -X   不保存额外的文件属性。
  -y   直接保存符号连接,而非该连接所指向的文件,本参数仅在UNIX之类的系统下有效。
  -z   替压缩文件加上注释。
  -$   保存第一个被压缩文件所在磁盘的卷册名称。
  -压缩效率>   压缩效率是一个介于1-9的数值。数越大压缩效率越高(默认为9)       (utility) 
  
  例如:将目录/home/zhang/files下的所有文件压缩,并存储到当前目录,包名为files,它会自动在files后面加上.zip
  zip -r9 ~/files /home/zhang/files
  参数9表示最大的压缩率,压缩结果为files.zip
  如果对目录进行压缩,就需加参数-r
  
  如果在压缩文件中,你不想包含原有的目录,只想其中的文件,就需参数-j
  zip -j9 ~/files /home/zhang/files/*
  
unzip
  功能说明:解压缩zip文件
语  法:unzip [-cflptuvz][-agCjLMnoqsVX][-P 密码>][.zip文件][文件][-d 目录>][-x 文件>] 或 unzip [-Z]
补充说明:unzip为.zip压缩文件的解压缩程序。
参  数:
  -c   将解压缩的结果显示到屏幕上,并对字符做适当的转换。
  -f   更新现有的文件。
  -l   显示压缩文件内所包含的文件。
  -p   与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换。
  -t   检查压缩文件是否正确。
  -u   与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中。
  -v   执行时显示详细的信息。
  -z   仅显示压缩文件的备注文字。
  -a   对文本文件进行必要的字符转换。
  -b   不要对文本文件进行字符转换。 
  -C   压缩文件中的文件名称区分大小写。
  -j   不处理压缩文件中原有的目录路径。
  -L   将压缩文件中的全部文件名改为小写。
  -M   将输出结果送到more程序处理。
  -n   解压缩时不要覆盖原有的文件。
  -o   不必先询问用户,unzip执行后覆盖原有文件。(默认是询问用户)
  -P密码>   使用zip的密码选项。
  -q   执行时不显示任何信息。
  -s   将文件名中的空白字符转换为底线字符。
  -V   保留VMS的文件版本信息。
  -X   解压缩时同时回存文件原来的UID/GID。
  [.zip文件]   指定.zip压缩文件。
  [文件]   指定要处理.zip压缩文件中的哪些文件。
  -d目录>   指定文件解压缩后所要存储的目录。(utility) 
  -x文件>   指定不要处理.zip压缩文件中的哪些文件。
  -Z   unzip -Z等于执行zipinfo指令。
  
例如,对上面压缩的文件解压到当前目录
unzip files.zip 
如果你想将压缩的文件解压到当前主目录下的hat目录下:
unzip -d ~/hat files.zip 
  
gzip
  功能说明:压缩文件。
  如果对一个文件夹进行压缩时,他会将各个文件分别进行压缩,目录仍然存在,不会被压缩。所以,如果想一个目录下的所有文件被压缩成一个压缩包的话,就得先打包,再压缩,而zip就不需要。压缩文件只能是本地目录,不能指定保存目录,除非和tar合用
  
语  法:gzip [-acdfhlLnNqrtvV][-S  压缩字尾字符串>][-压缩效率>][--best/fast][文件...] 或 gzip [-acdfhlLnNqrtvV] [-S 压缩字尾字符串>][-压缩效率>][--best/fast][目录]
补充说明:gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多出".gz"的扩展名。它不会对符号链接进行压缩
参  数:
 -a或--ascii  使用ASCII文字模式。 
 -c或--stdout或--to-stdout  把压缩后的文件输出到标准输出设备,不去更动原始文件。 
 -d或--decompress或----uncompress  解开压缩文件。 
 -f或--force  强行压缩文件。不理会文件名称或硬连接是否存在以及该文件是否为符号连接。 
 -h或--help  在线帮助。 
 -l或--list  列出压缩文件的相关信息。 
 -L或--license  显示版本与版权信息。 
 -n或--no-name  压缩文件时,不保存原来的文件名称及时间戳记。 
 -N或--name  压缩文件时,保存原来的文件名称及时间戳记。   (utility)
 -q或--quiet  不显示警告信息。 
 -r或--recursive  递归处理,将指定目录下的所有文件及子目录一并处理。 
 -S压缩字尾字符串>或----suffix压缩字尾字符串>  更改压缩字尾字符串。 
 -t或--test  测试压缩文件是否正确无误。 
 -v或--verbose  显示指令执行过程。 
 -V或--version  显示版本信息。 
 -压缩效率>  压缩效率是一个介于1-9的数值,预设值为"6",指定愈大的数值,压缩效率就会愈高。       (utility)
 --best  此参数的效果和指定"-9"参数相同。 
 --fast  此参数的效果和指定"-1"参数相同。
 
例如:将目录/home/zhang/files下的所有文件压缩,它会自动在files下的所有文件后面加上.gz
  gzip -r9  /home/
  参数9表示最大的压缩率
  如果对目录进行压缩,就需加参数-r

  对上面压缩的文件进行解压
  gzip -dr /home/
  
  
gunzip(gnu unzip)
功能说明:解压文件。
语  法:gunzip [-acfhlLnNqrtvV][-s 压缩字尾字符串>][文件...] 或 gunzip [-acfhlLnNqrtvV][-s 压缩字尾字符串>][目录]
补充说明:gunzip是个使用广泛的解压缩程序,它用于解开被gzip压缩过的文件,这些压缩文件预设最后的扩展名为".gz"。事实上gunzip就是gzip的硬连接,因此不论是压缩或解压缩,都可通过gzip指令单独完成。可以识别.tgz(.tar.gz的缩写), .taz(.tar.z的缩写),.gz, -gz, .z, -z, _z or .Z和没有后缀,但被gzip压缩的
参  数:
 -a或--ascii  使用ASCII文字模式。 
 -c或--stdout或--to-stdout  把解压后的文件输出到标准输出设备。 
 -f或-force  强行解开压缩文件,不理会文件名称或硬连接是否存在以及该文件是否为符号连接。 
 -h或--help  在线帮助。 
 -l或--list  列出压缩文件的相关信息。 
 -L或--license  显示版本与版权信息。 
 -n或--no-name  解压缩时,若压缩文件内含有远来的文件名称及时间戳记,则将其忽略不予处理。 
 -N或--name  解压缩时,若压缩文件内含有原来的文件名称及时间戳记,则将其回存到解开的文件上。   (utility)
 -q或--quiet  不显示警告信息。 
 -r或--recursive  递归处理,将指定目录下的所有文件及子目录一并处理。 
 -S压缩字尾字符串>或--suffix压缩字尾字符串>  更改压缩字尾字符串。 
 -t或--test  测试压缩文件是否正确无误。 
 -v或--verbose  显示指令执行过程。 
 -V或--version 显示版本信息。
 
 解压时,必须给出完整的路径,因为压缩时,是对文件,没有对一个目录整体
 如: gunzip /home/zhang/files/*
 
bzip2
bzip2, bunzip2 - a block-sorting file compressor, v1.0.2
       bzcat - decompresses files to stdout
       bzip2recover - recovers data from damaged bzip2 files

  如果对一个文件夹进行压缩时,他会将各个文件分别进行压缩,目录仍然存在,不会被压缩。所以,如果想一个目录下的所有文件被压缩成一个压缩包的话,就得先打包,再压缩,而zip就不需要。压缩文件只能是本地目录,不能指定保存目录,除非和tar合用
  只对文件进行压缩,不能对目录进行压缩,因为它没有-r选项
  usage: bzip2 [flags and input files in any order]
       -c --stdout
              Compress or decompress to standard output.
                                                                                
       -d --decompress
              Force  decompression.   bzip2,  bunzip2 and bzcat are really the
              same program, and the decision about what  actions  to  take  is
              done  on  the  basis of which name is used.  This flag overrides
              that mechanism, and forces bzip2 to decompress.
                                                                                
       -z --compress
              The complement to -d:  forces  compression,  regardless  of  the
              invocation name.
                                                                                
       -t --test
              Check  integrity  of the specified file(s), but don't decompress
                                                      
       -f --force
              Force overwrite of output files.  Normally, bzip2 will not over-
              write existing output files.  Also forces bzip2  to  break  hard
              links to files, which it otherwise wouldn't do.
                                                                                
              bzip2 normally declines to decompress files which don't have the
              correct magic header bytes.  If forced (-f),  however,  it  will
              pass  such  files  through  unmodified.   This  is  how GNU gzip
              behaves.
                                                                                
       -k --keep
              Keep (don't delete) input files during compression or decompres-
              sion.
                                                                                
       -s --small
              Reduce memory usage, for compression, decompression and testing.
              Files are decompressed and tested  using  a  modified  algorithm
              which  only  requires  2.5 bytes per block byte.  This means any
              file can be decompressed in 2300k of  memory,  albeit  at  about
              half the normal speed.
                                                                                
              During  compression, -s selects a block size of 200k, which lim-
              its memory use to around the same figure, at the expense of your
              compression  ratio.   In short, if your machine is low on memory
              (8 megabytes or less), use -s for everything.  See  MEMORY  MAN-
              AGEMENT below.(现在的机子不存在这种问题)
                                                                                
       -q --quiet
              Suppress non-essential warning messages.  Messages pertaining to
              I/O errors and other critical events will not be suppressed.
                                                                                
       -v --verbose
              Verbose mode -- show the compression ratio for  each  file  pro-
              cessed.   Further -v's increase the verbosity level, spewing out
              lots of information which is primarily of interest for  diagnos-
              tic purposes.
                                                                                
       -L --license -V --version
              Display the software version, license terms and conditions.
                                                                                
       -1 (or --fast) to -9 (or --best)          (在磁带上非常有用,因为在磁带上得指定压缩块的大小,解压缩时也得告诉其块的大小)
              Set  the  block size to 100 k, 200 k ..  900 k when compressing.
              Has no effect when decompressing.  
              The --fast and --best aliases are primarily for GNU gzip compat-
              ibility.  In particular, --fast  doesn't  make  things  signifi-
              cantly faster.  And --best merely selects the default behaviour.
                                                                                
       --     Treats all subsequent arguments as  file  names,  even  if  they
              start  with  a dash.  This is so you can handle files with names
              beginning with a dash, for example: bzip2 -- -myfilename.
                                                                                
       --repetitive-fast --repetitive-best
              These flags are redundant in versions  0.9.5  and  above.   They
              provided  some  coarse control over the behaviour of the sorting
              algorithm in  earlier  versions,  which  was  sometimes  useful.
              0.9.5  and  above have an improved algorithm which renders these
              flags irrelevant
   If invoked as `bzip2', default action is to compress.
    as `bunzip2',  default action is to decompress.
    as `bzcat', default action is to decompress to stdout. 
             
    例如:将目录/home/zhang/files下的所有文件压缩,它会自动在files下的所有文件后面加上.bz2, 并且将块的大小设置为900k字节,也就是说,以900k字节作为一个块进行压缩
  bzip2 -9z  /home/zhang/files

  对上面压缩的文件进行解压
  bzip2 -d /home/zhang/files/*
bzip2和gzip的比较
  Jeremy Zawodny 最新的测试发现,bzip2有更高的压缩比,但有非常明显的时间开销,无论是在压缩时还是在解压时。
gzip3d.png  他分别用了gzip和bzip2,并各自带了命令行参数"-9",压缩一个2,661,512 (or 2.5GB)字节的文件,然后解压缩,并将这个过程重复了一次,得结果如下:
    压缩用时    压缩后文件大小    解压用时
gzip    14:31    349,736    0:55
bzip2    39:44    275,344    9:46 
tar and gzip
将/usr/src下的各个文件打包后,再压缩,包名为src.tar.gz
  tar zvfc src.tar.gz /usr/src
  解压压缩包
  tar xvfz src.gz
  
tar and bzip2
  tar -cvjf archivefile.tar.bz2 file-list
  example:
  将/usr/src下的各个文件打包后,再压缩,包名为src.tar.bz2(the dash(-) doesn't affect the result)
  tar cjfv src.tar.bz2 /usr/src
  
  解压压缩包
  tar -xvjf archivefile.tar.bz2
  example:
  tar vjxf src.tar.bz2
bzcat archivefile.tar.bz2 | tar -xvf -
提示,不能将bzcat改成bzip2 -d,改了后不能解包,只能解压
上面的解压,也可写成如下的形式
bzip2 -cd archivefile.tar.bz2 | tar -xvf -
最后的“-”表示接收标准输出的数据

gzip -cd archivefile.tar.bz2 | tar -xvf -
-c表明将解压后的文件输出到标准输出,只有输出到标准输出,tar命令才能使用
生成 bzip2 压缩的 tar 文件可以使用:
tar -cvf - filenames | bzip2 > archivefile.tar.bz2
生成 gzip 压缩的 tar 文件可以使用:
tar -cvf - filenames | gzip > archivefile.tar.bz2
阅读(1126) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~