6月25日任务
6.5 zip压缩工具
6.6 tar打包
6.7 打包并压缩
看下这个帖子: http://ask.apelearn.com/question/5435
zip压缩工具支持压缩目录
一般rar文件放linux下也无法进行解压缩
用法不太一样
语法:zip 压缩后的名字 被压缩的文件
zip压缩目录
语法:zip 压缩后的目录文件名称 要压缩的目录
而且zip压缩后不删除原来的文件
可以采用 -d 选项来指定解压后的路径
语法:unzip 待解压文件 -d 解压后路径
zip的压缩包无法直接查看内容,这个不同于其他的比如gzip bzip2等方式
zip无法指定解压后的名字,依然是压缩前的名字。
可以查看压缩包里的文件的列表
unzip -l
tar打包工具
假设一种情况:
需要传输几个目录但是目录里有多达10000个文件,因为传输的过程中是一个一个传输的,所以需要的时间是相叠加。
打包的话就是将所有的文件打包成一个大的文件,来传输这个大文件。
而且还有一种情况就是如果都是小文件小于4k的居多,一个文件4k,10000个就是 40000k 40M
而打包的话,会把不到4k的文件进行相加,所以平均下来每个文件大小也会缩小,总打包后的数据会小于40M
语法:tar -cvf 打包后的文件名 待打包的文件/目录
c表示create
v表示visual
f表示后面跟文件名
所以f是必须的,因为要跟打包后的文件名,v可是灭有
所以大小是几乎不发生变化的,出发很多小于4k的文件
被打包的可以是目录,文件,或者是目录和文件的组合
解包是用 -xvf
如果是希望解包到具体的路径 需用有 -C 选项
tar xvf 包 -C 解包路径
tar -tf 包就可查看包里的列表
如果遇到情况就是一个目录下并非所有的文件你都想打包的话,如何?
可以使用--exclude 不包括谁,来排除掉
tar -cvf 包.tar --exclude 某某文件 然后再跟打包目录或文件
如果不止一个文件需要过滤,需要每个前面都要写上 --exclude. 支持通配符,比如 --exclude "*.txt"
tar打包并压缩
记住选项里写的哪种压缩方式,对应的文件名要添加哪一种的压缩格式的后缀
z -------gz
j--------bz2
J-------xz
因为zip注意是可以压缩目录,所以这里用不上。因为这样理解,整个过程是先打包,再压缩,所以不管什么压缩方式,压缩的时候都针对的是这个包了。
tar -tf 就可以直接查看文件列表。不管是压缩后的还是一个包都是用的-tf
原文地址:http://blog.51cto.com/13691454/2132633