Linux中文件打包与解压

1、Linux中常见压缩包文件格式:
文件后缀名 说明
.zip zip程序打包压缩的文件
.rar rar程序压缩的文件
.7z 7zip程序压缩的文件
.tar tar程序打包,未压缩的文件
.gz gzip程序(GNU zip)压缩的文件
.xz xz程序压缩的文件
.bz2 bzip2 程序压缩的文件
.tar.gz tar 打包,gzip 程序压缩的文件
.tar.xz tar 打包,xz 程序压缩的文件
tar.bz2 tar 打包,bzip2 程序压缩的文件
.tar.7z tar 打包,7z 程序压缩的文件
2、zip压缩打包程序
zip -r -q -o shiyanlou.zip /home/shiyanlou/Desktop
其中,-r表示递归打包包含子目录的全部内容,-q表示为安静模式,不向屏幕输出信息,-o表示输出文件,在其后面紧跟打包输出文件名。
du -h shiyanlou.zip #查看打包后文件的大小
file shiyanlou.zip #查看文件属性
设置压缩级别为9和1,重新打包:(级别越高,耗时越长,压缩后的体积也越小)
zip -r -9 -q -o shiyanlou_9.zip /home/shiyanlou/Desktop -x ~/
.zip
zip -r -1 -q -o shiyanlou_1.zip /home/shiyanlou/Desktop -x ~/
.zip
最后的
-x是为了排除我们上次创建的zip文件
,否则又会被打包进这次的压缩文件
使用
-e参数可以创建加密压缩包,这样在解压的时候就需要正确的解压密码:
zip -r -e -o shiyanlou_e.zip /home/shiyanlou/Desktop
3、使用unzip命令解压缩zip文件
将shiyanlou.zip解压到当前目录:unzip shiyanlou.zip
安静模式,将文件解压到
指定目录
:unzip -q shiyanlou.zip -d ziptest
只查看压缩包的内容不进行解压:unzip -l shiyanlou.zip
Linux默认使用UTF-8编码,在解压包含中文的文档或以中文作为文件名的文件时会出现乱码,因此在解压时需指定编码类型:
unzip -o GBK 中文压缩文件.zip
4、tar打包工具
创建一个tar包:tar -cf shiyanlou.tar /home/shiyanlou/Desktop
其中,-c表示创建一个tar包文件,-f用于指定创建的文件名,文件名必须紧跟在-f参数后,-v以可视的方式输出打包的文件,-p保留绝对路径
解包一个文件(-x参数)到指定路径的已存在目录(-C):
mkdir tardir
tar -xf shiyanlou.tar -C tardir
只查看不解包文件(-t参数):
tar -tf shiyanlou.tar
保留文件属性(-p参数)和备份链接指向的源文件而不是链接本身(-h参数):
tar -cphf etc.tar /etc
创建
.tar.gz文件:
tar -czf shiyanlou.tar.gz /home/shiyanlou/Desktop
解包.tar.gz文件:
tar -xzf shiyanlou.tar.gz
压缩文件格式 参数
*.tar.gz -z
*.tar.xz -J
*tar.bz2 -j
5、总结
zip:
打包:zip something.zip something(目录记得加-f)
解包:unzip something.zip
指定路径:-d参数
tar:
打包:tar -cf something.tar something
解包:tar -xf something.tar
指定路径:-C参数