一、zip压缩工具
在Windows和Linux中都常用。可以压缩目录和文件,压缩目录时,需要指定目录下的文件。压缩后源文件不删除。示例:
# zip 1.txt.zip 1.txt (压缩文件,先目标文件名,再源文件名)
adding: 1.txt (deflated 64%)
压缩目录时需要加上-r选项,如下:
# zip -r 1.txt.zip 1/
adding: 1/ (stored 0%)
adding: 1/11/ (stored 0%)
adding: 1/11/111/ (stored 0%)
adding: 1/1.txt (stored 0%)
unzip命令:解压.zip格式的文件。
若没有该命令,用yum工具安装。
示例:
# unzip 3.txt.zip
Archive: 3.txt.zip
replace 1/1.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: y (因为原来的文件还在,询问是否覆盖)
extracting: 1/1.txt
-d:解压时指定路径。不可指定文件名,加了文件名的话会生成一个以设定的文件名为名字的目录,再将解压的文件放在该目录下。
# unzip 1.txt.zip -d md2/
Archive: 1.txt.zip
inflating: md2/1.txt
creating: md2/1/
extracting: md2/1/1.txt
zip工具没有zcat那类的cat工具,唯一能用unzip -l+压缩文件名,查看压缩包内的文件列表。
二、tar打包
tar本身就是一个打包工具,可以把目录打包成文件,把所有文件整合成一个大文件,方便复制或移动。打包后原文件不删除。
格式:tar [-zjxcvfpP] filename tar
-z:同时用gzip压缩。
-j:同时用bzip2压缩。
-J:同时用xz压缩。
-x:解包或解压缩。
-t:查看tar包里的文件。
-c:建立一个tar包或者压缩文件包。
-v:显示操作过程。
-f:后跟文件名,表示压缩后的文件名为filename,或者解压文件filename。
多个参数组合的情况下,把-f写到最后面。
-p:使用原文件的属性。不常用。
-P:可使用绝对路径。不常用。
--exclude filename:在打包或压缩时,不要将filename文件包括在内。排除文件或目录,不常用。
-f参数后先跟目标文件名,再跟需打包的文件或目录。
示例:
# tar -cf test.tar test(建立tar包,文件名,再建立一个同样的会覆盖之前的)
# tar -xvf test.tar test(解压,显示操作过程,文件名,会覆盖前面的文件,不会询问是否覆盖)
test/
test/abc/
test/abc/AC/
test/12.txt
# tar -tf test.tar (查看tar包内的文件)
test/
test/abc/
test/abc/AC/
test/12.txt
--exclude用法:可使用“*.txt”等。
# mkdir test111/test222
# tar -cvf test111.tar --exclude test222 test111
test111/
test111/1.txt
这样就不会将test222目录打包进来。
三、打包并压缩
tar可在打包时直接压缩,支持gzip压缩、bzip2压缩和xz压缩。
使用-z选项可压缩成gzip格式的文件,示例:
# tar -czvf test123.tar.gz test
test/
test/abc/
test/abc/AC/
test/12.txt
test/test123.tar.gz
test/test12.tar.gz
# tar -xvzf test123.tar.gz (可用-zx选项,解压.tar.gz格式的压缩包)
-j和-J是同样的用法。
原文地址:http://blog.51cto.com/13576245/2080560