注:在压缩目录是,若是只写目录名,也会生成压缩文件,可是,压缩文件无内容 若是加上 -r ,则会把目录下全部的目录和文件一并压缩。linux
zip压缩工具网络
zip 压缩文件.zip 源文件ssh
zip -r xx.zip 3.txt xxxx(目录) 加参数-r 压缩目录工具
unzip 1.txt.zip 解压缩code
unzip xx.zip -d /tmp/3/ 用-d指定解压到/tmp/3目录下对象
unzip -l 123.zip 查看压缩包的文件列表图片
tar打包工具ip
tar -c(建立)v(可视化)f 压缩文件名 文件(能够多个,用空格隔开也能够是目录)get
tar -x(解压)v(可视化)f xx.tar(压缩文件)it
tar -C 设置解压目录:好比 tar -vxf xx.txt.tar -C /opt
注意:解压缩时,不会提示是否覆盖,而是直接覆盖原文件
查看包内容:tar -tf 压缩文件 (适用于gzip打包、bz2打包、xz打包)
--exclude 能够在打包的时候,排查某些文件或者目录。
tar -vcf 文件.tar.gz --exclude 排除的文件或目录 打包的文件或目录 一个--exclude只能排除一个,要排除多个要在次添加---exclude 排除的文件或目录
打包并压缩
* 使用gzip压缩:tar -zcvf x.tar.gz 原目录或者原文件名称,-z表示打包的同时使用gzip压缩
解压:tar -zvxf x.tar.gz
* 使用bzip2压缩:tar -jcvf x.tar.bz2 原目录或者原文件名称 ,-j 表示打包的同时使用bzip2压缩
解压:tar -jvxf x.tar.bz2
* 使用xz压缩:-Jcvf x.tar.xz 原目录或者原文件名称 ,-J表示打包的同时使用xz压缩
解压:tar -Jvxf x.tar.xz
做业
不能、
gzip 1.txt
bzip2 2.txt
gzip -d 1.txt.gz
bzip2 -d 2.txt.bz2
tar -cvf x.txt.tar 1.txt 3.txt 3 --exclude 2.txt --exclude 4.txt
正确
tar -zcvf x1.tar.gz 1.txt 2.txt
tar jcvf x2.tar.bz2 1.txt 2.txt
tar -zxvf x1.tar.gz
tar -jxvf x2.tar.bz2
bz2的压缩效果好
tar打包压缩时,是按照gzip和bzip2的默认压缩级别来的,gzip工具默认压缩级别为6,bzip2默认压缩级别为9
要改变压缩级别,先打包,再用gzip或者bz2压缩。
补充
linux不支持大于4G的文件的解压。
解决办法以下: wget -c http://packages.sw.be/p7zip/p7zip-9.13-1.el5.rf.i386.rpm wget -c http://packages.sw.be/p7zip/p7zip-plugins-9.13-1.el5.rf.i386.rpm 下载完后安装: rpm -ivh p7zip-9.13-1.el5.rf.i386.rpm rpm -ivh p7zip-plugins-9.13-1.el5.rf.i386.rpm
解压命令: 7z x 123.zip
利用tar经过网络拷贝数据
首先切换到要拷贝文件的目录,
运行tar cvf - test| ssh 10.0.1.11 "cd /copy1/; tar xvf -"
这条命令的意思是,先将要拷贝的目录打包,而后输出到目标主机,
后面的tar vxf - 意思是将前面的标准输出内容做为解包的对象
总结:其实就是想拷贝的目录先打包,而后将打包好的文件拷贝到目标主机,最后在目标主机上解包。只不过,咱们用一条命令实现了边打包边解包的过程。