压缩文件2 tar 打包压缩
压缩文件2
zip 压缩工具
压缩
- 可以压缩目录
- zip -R foo.zip “*” #只限制在所在目录进行递归压缩 不会删除源文件
- zip -r foo.zip /mnt/* #可以在其他目录进行递归压缩 不会删除源文件
-
zip foo.zip “*” #会把所有文件和文件夹压缩,但是文件夹里的文件不会压缩
-
zip -@ foo.zip #
-@
参数接受stdin(标准输入)参数:
`ls *.txt | zip -@ foo.zip ` 和 zip foo.zip `ls .*.txt` 结果一样,在shell中
反引号括起的命令优先执行
解压
- unzip foo.zip
- unzip foo.zip -d foo #指定压缩目录
- unzip -l foo.zip #查看foo.zip压缩文件列表,不解压
打包工具 tar
- tar -cvf 11.tar 11
- tar -cvf 11.tar 11.txt 22.txt #把11.txt 22.txt文件打包
- tar -xvf 11.tar #在所在目录解包(pwd查看当前所在目录)如果当前目录有相印文件则覆盖
- tar -xvf 11.tar -C test01 #在指定目录进行解包操作
- tar -tf 11.tar #查看打包文件列表
-
tar -cvf 11.tar —exclude 11.txt —exclude 22.txt * #不把指定文件包含在内
-
tar -rf 11.tar 2 # 打包文件11.tar增加文件2
- tar -uf 11.tar 2 # 打包文件11.tar更新文件2的内容 更新内容后查看文件可以看到有两个
2
文件,解包后可以看到是最新的内容
tar 打包并压缩
- tar -zcvf 11.tar.gz 11 #单个打包压缩文件(gzip)
- tar -zcvf 11.tar.gz 11 22 #打包压缩多个文件
- tar -zxvf 11.tar.gz #解压文件
-
tar -zxvf 11.tar.gz -C test/ #解压到指定目录test
-
tar -jcvf 11.tar.bz2 11 #单个打包压缩文件(bzip2)
- tar -jcvf 11.tar.bz2 11 22 #多个文件打包
- tar -jxvf 11.tar.bz2 #解压文件
-
tar -jxvf 11.tar.bz2 -C test/ #解压到指定目录
-
tar -Jcvf 11.tar.bz2 11 #单个文件打包压缩文件(xz格式)
-
其他和
gzip
打包压缩类似 -
tar -tf 11.tar.bz2 #查看打包压缩文件,无论是什么格式的文件
默认zip不支持解压大于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 11.zip
通过tar包网路拷贝数据
tar cvf - test | ssh test@192.168.31.20 “cd test/; tar xvf -“
- //首先将要拷贝的目录test打包,”-“ 代表标准输出,然后再ssh 到目标主机 192.168.31.20,运行相应的命令。其中tar xvf - 意思是,将前面的标准输出内容作为解包的对象。
- //把xxx.txt文件拷贝到远程主机,过程中需要验证用户(test),