一、压缩、解压缩命令

   1、压缩格式:gz, bz2, xz, zip, Z

   2、压缩算法:算法不同,压缩比也会不同;

   3、原始的压缩命令:compress: FILENAME.Z

       解压缩:uncompress


   4、压缩成.gz格式的文件(仅压缩文件)

       a)gzip /PATH/TO/SOMEFILE:压缩完成后会删除原文件

           -d:解压缩,相当于gunzip命令;

           -#:指定压缩比,范围是1-9,默认是6;

       b)gunzip: 解压缩;

           gunzip /PATH/TO/SOMEFILE.gz: 解压完成后会删除原文件

       c)zcat /PATH/TO/SOMEFILE.gz:不解压的情况,查看已压缩的文本文件的内容;

   5、压缩成.bz2格式的文件(仅压缩文件)

       比gzip有着更大压缩比的压缩工具,使用格式近似

       a)bzip2 /PATH/TO/SOMEFILE:解压完成后会删除原文件

           -d:解压缩,相当于bunzip2命令

           -#: 1-9,默认是6

           -k: 压缩时保留原文件

       b)bunzip2 /PATH/TO/SOMEFILE.bz2 :解压缩;

       c)bzcat :不解压的情况,查看已压缩的文本文件的内容;

   6、压缩成.xz格式的文件(仅压缩文件)

       a)xz /PATH/TO/SOMEFILE

           -d :解压缩,相当于unxz命令

           -#: 1-9, 默认是6

           -k: 压缩时保留原文件          

       b)unxz

         xzdec

       c)xzcat

二、归档命令

   1、zip: 既归档又压缩的工具

       a)zip FILENAME.zip FILE1 FILE2 ...: 压缩后不删除原文件

       b)unzip FILENAME.zip 解压缩

   2、archive: 归档,归档本身并不意味着压缩


   3、tar: 只归档不压缩工具, 格式是.tar

       a)-c: 创建归档文件

       b)-f FILE.tar: 要操作的归档文件

           如:tar -cf test.tar test*.txt

       c)-x: 展开归档

           如:tar -xf test.tar

       d)--xattrs: 归档时,保留文件的扩展属性信息

       e)-t: 不展开归档,直接查看归档了哪些文件

           如:tar -tf test.tar

       f)-zcf: 归档并调用gzip压缩

           -zxf: 调用gzip解压缩并展开归档,-z选项可省略

       g)-jcf: 归档并调用bzip2压缩

           -jxf:调用bzip2解压缩并展开归档,-j选项可省略

       h)-Jcf: xz

           -Jxf:

   4、cpio: 归档工具

练习:写一个脚本

   从键盘让用户输入几个文件,脚本能够将此几个文件归档压缩成一个文件;

read:

-p “PROMPT": 给出提示

-t time 超时时间

参考答案:

#!/bin/bash

#

read -p "Three Filename:" FILE1 FILE2 FILE3

read -p "DES:" DEST

read -p "Compress[gzip|bzip2|xz]:" COMP

case $COMP in

gzip)

       tar -zcf ${DEST}.tar.gz $FILE1 $FILE2 $FILE3

       ;;

bzip2)

       tar -jcf ${DEST}.tar.bz2 $FILE1 $FILE2 $FILE3

       ;;

xz)

       tar -cf ${DEST}.tar $FILE1 $FILE2 $FILE3

       xz ${DEST}.tar

       ;;

*)

       echo "Unknown."

       exit 9

       ;;

esac