一、zip压缩

zip命令可以用来解压缩文件,或者对文件进行打包操作。zip是个使用广泛的压缩程序,文件经它压缩后会另外产生具有“.zip”扩展名的压缩文件。 没有zip命令的话,先安装下: # yum install -y zip 命令语法格式: # zip [选项] [参数] 选项:

-A:调整可执行的自动解压缩文件; -b<工作目录>:指定暂时存放文件的目录; -c:替每个被压缩的文件加上注释; -d:从压缩文件内删除指定的文件; -D:压缩文件内不建立目录名称; -f:此参数的效果和指定“-u”参数类似,但不仅更新既有文件,如果某些文件原本不存在于压缩文件内,使用本参数会一并将其加入压缩文件中; -F:尝试修复已损坏的压缩文件; -g:将文件压缩后附加在已有的压缩文件之后,而非另行建立新的压缩文件; -h:在线帮助; -i<范本样式>:只压缩符合条件的文件; -j:只保存文件名称及其内容,而不存放任何目录名称; -J:删除压缩文件前面不必要的数据; -k:使用MS-DOS兼容格式的文件名称; -l:压缩文件时,把LF字符置换成LF+CR字符; -ll:压缩文件时,把LF+cp字符置换成LF字符; -L:显示版权信息; -m:将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中; -n<字尾字符串>:不压缩具有特定字尾字符串的文件; -o:以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同; -q:不显示指令执行过程; -r:递归处理,将指定目录下的所有文件和子目录一并处理; -S:包含系统和隐藏文件; -t<日期时间>:把压缩文件的日期设成指定的日期; -T:检查备份文件内的每个文件是否正确无误; -u:更换较新的文件到压缩文件内; -v:显示指令执行过程或显示版本信息; -V:保存VMS操作系统的文件属性; -w:在文件名称里假如版本编号,本参数仅在VMS操作系统下有效; -x<范本样式>:压缩时排除符合条件的文件; -X:不保存额外的文件属性; -y:直接保存符号连接,而非该链接所指向的文件,本参数仅在UNIX之类的系统下有效; -z:替压缩文件加上注释; -$:保存第一个被压缩文件所在磁盘的卷册名称; -<压缩效率>:压缩效率是一个介于1~9的数值。

参数:

zip压缩包:指定要创建的zip压缩包; 文件列表:指定要压缩的文件列表。

示例: 1、压缩123.txt文件(源文件保留)。 2、压缩test222目录(注意:需要指定目录下的文件,否则只压缩目录本身,“ *”表示所有文件), 这个过程中使用unzip -l查看zip压缩包里的文件。 3、压缩test111目录,其中包含二级目录和文件,如果要一并压缩则必须加-r参数。


二、tar打包

tar命令可以为linux的文件和目录创建档案。利用tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。tar最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案。利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。 首先要弄清两个概念:打包和压缩。打包是指将一大堆文件或目录变成一个总的文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件。 为什么要区分这两个概念呢?这源于Linux中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得先将这一大堆文件先打成一个包(tar命令),然后再用压缩程序进行压缩(gzip bzip2命令)。 tar命令语法格式: # tar [选项] [参数] 选项:

-A或--catenate:新增文件到以存在的备份文件; -B:设置区块大小; -c或--create:建立新的tar包或压缩文件包; -C <目录>:这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。 -d:记录文件的差别; -x或--extract或--get:从备份文件中还原文件; -t或--list:列出备份文件的内容; -z或--gzip或--ungzip:通过gzip指令处理备份文件; -Z或--compress或--uncompress:通过compress指令处理备份文件; -f<备份文件>或--file=<备份文件>:表示压缩后文件文件;如果多选项组合把-f写到最后 -v或--verbose:显示指令执行过程; -r:添加文件到已经压缩的文件; -u:添加改变了和现有的文件到已经存在的压缩文件; -j:同时使用bzip2压缩; ** -v:显示操作过程;** -l:文件系统边界设置; -k:保留原有文件不覆盖; -m:保留文件不被覆盖; -w:确认压缩文件的正确性; -p或--same-permissions:用原来的文件权限还原文件; -P或--absolute-names:文件名使用绝对名称,不移除文件名称前的“/”号; -N <日期格式> 或 --newer=<日期时间>:只将较指定日期更新的文件保存到备份文件里; --exclude=<范本样式>:排除符合范本样式的文件。

参数:

文件或目录:指定要打包的文件或目录列表。

示例: 1、打包test111目录。 2、查看test111.tar包里的文件。 3、解包test111.tar(先删除test111文件夹,因为解压是直接覆盖当前已经存在的文件或者目录的)。 4、--exclude选项的使用。打包的时候排除某个文件或者目录。排除“.txt”结尾的文件。 5、打包并使用gzip压缩test111为testgzip.tar.gz。 解压testgzip.tar.gz 6、打包并使用bzip2压缩,再解压。 方法与第5个示例类似。