码迷,mamicode.com
首页 > 其他好文 > 详细

四周第五次课(3月2日)

时间:2018-03-02 17:19:50      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:linux   学习   笔记   

6.5 zip压缩工具
6.6 tar打包
6.7 打包并压缩



6.5 zip压缩工具


技术分享图片

zip压缩工具支持压缩目录。


开始zip之前做一下准备工作

首先将/tmp/aminglinux cp到/tmp/d6z下

# cd /tmp/d6z

# cp -r /tmp/aminglinux/ .

# tree aminglinux/

aminglinux/

├── 2

│   ├── 2.txt

│   └── 4.txt

└── aming2

    ├── 2

    │   └── 2.txt

    └── aming1

        ├── 2

        │   └── 2.txt

        └── aminglinux

            └── 2

cp /d6z的4.txt到/aminglinux/2/,然后#du -sh 查看大小

# cp 4.txt aminglinux/2/

# du -sh aminglinux/

1.4M aminglinux/


zip压缩使用

用法 zip 压缩后的名称 需要压缩的文件或目录

压缩文件

# zip 2.txt.zip 2.txt 

  adding: 2.txt (deflated 74%)

zip压缩大小,取决于文件内容多余少。压缩率相对gzip,bzip2,xz来说比较中肯。


压缩目录加-r (此处因为还有文件,所以也添加上3.txt。)

# zip -r aming.zip 3.txt aminglinux/

  adding: 3.txt (deflated 74%)

  adding: aminglinux/ (stored 0%)

  adding: aminglinux/2/ (stored 0%)

  adding: aminglinux/2/2.txt (stored 0%)

  adding: aminglinux/2/4.txt (deflated 74%)

  adding: aminglinux/aming2/ (stored 0%)

  adding: aminglinux/aming2/aming1/ (stored 0%)

  adding: aminglinux/aming2/aming1/2/ (stored 0%)

  adding: aminglinux/aming2/aming1/2/2.txt (stored 0%)

  adding: aminglinux/aming2/aming1/aminglinux/ (stored 0%)

  adding: aminglinux/aming2/aming1/aminglinux/2/ (stored 0%)

  adding: aminglinux/aming2/aming1/aminglinux/2/2.txt (stored 0%)

  adding: aminglinux/aming2/2/ (stored 0%)

  adding: aminglinux/aming2/2/2.txt (stored 0%)

zip压缩不删除压缩前的文件

# du -sh aming.zip 

748K aming.zip


解压缩:因为zip压缩没有把原文件删除,所以,解压当前位置时会有覆盖动作冲突,具体选项根据实际情况来操作。

# unzip aming.zip 

Archive:  aming.zip

replace 3.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: A

  inflating: 3.txt                   

 extracting: aminglinux/2/2.txt      

  inflating: aminglinux/2/4.txt      

 extracting: aminglinux/aming2/aming1/2/2.txt  

 extracting: aminglinux/aming2/aming1/aminglinux/2/2.txt  

 extracting: aminglinux/aming2/2/2.txt  


指定解压位置 -d 

# unzip 2.txt.zip -d test/

Archive:  2.txt.zip

  inflating: test/2.txt  

(unzip后面带zip压缩文件 -d 指定位置 test/代表/d6z/test/。一般当前目录下是用./test或者 test/表示


压缩之前的文件名跟压缩之后的文件名是一样的,不能修改。


查看压缩包的文件列表。(看不到文件内容)

#unzip -l aming.zip



6.6 tar打包


介绍

技术分享图片

tar打包工具

打包目的:打包后的文件传送会比较整齐和快捷。

例如要传送100M的文件,里面有几千个文件,直接传输的话会很费时间,但是如果打包后,传送会省时省时。


关于tar选项 

-z 表示同时用gzip压缩

-j 表示同时用bzip2压缩

-J 表示同时用xz压缩

-x 表示解包或者解压缩

-t 表示查看tar包里的文件

-c 表示建立一个tar包或者压缩文件包

-v 表示可视化

-f 后面跟文件名(即-f filename ,注意:多个组合选项下 -f最好 放到最后)

--exclude filename 表示打包或者压缩时,过滤filename的文件或 目录,不打包filename。(排除,过滤用法)


将/aminglinux的文件和目录打包,并创建且命名为aminglinux.tar的tar打包文件(-v是可视化,可以看到进度)

# tar -cvf aminglinux.tar aminglinux/

aminglinux/

aminglinux/2/

aminglinux/2/2.txt

aminglinux/2/4.txt

aminglinux/aming2/

aminglinux/aming2/aming1/

aminglinux/aming2/aming1/2/

aminglinux/aming2/aming1/2/2.txt

aminglinux/aming2/aming1/aminglinux/

aminglinux/aming2/aming1/aminglinux/2/

aminglinux/aming2/aming1/aminglinux/2/2.txt

aminglinux/aming2/2/

aminglinux/aming2/2/2.txt


如果重复已存在打包,不会提示任何信息,会直接覆盖且再打包。


解tar包

# tar -xvf aminglinux.tar 

aminglinux/

aminglinux/2/

aminglinux/2/2.txt

aminglinux/2/4.txt

aminglinux/aming2/

aminglinux/aming2/aming1/

aminglinux/aming2/aming1/2/

aminglinux/aming2/aming1/2/2.txt

aminglinux/aming2/aming1/aminglinux/

aminglinux/aming2/aming1/aminglinux/2/

aminglinux/aming2/aming1/aminglinux/2/2.txt

aminglinux/aming2/2/

aminglinux/aming2/2/2.txt


tar可以同时打包目录和文件

# tar -cvf aminglinux.tar aminglinux/ 3.txt 4.txt 

aminglinux/

aminglinux/2/

aminglinux/2/2.txt

aminglinux/2/4.txt

aminglinux/aming2/

aminglinux/aming2/aming1/

aminglinux/aming2/aming1/2/

aminglinux/aming2/aming1/2/2.txt

aminglinux/aming2/aming1/aminglinux/

aminglinux/aming2/aming1/aminglinux/2/

aminglinux/aming2/aming1/aminglinux/2/2.txt

aminglinux/aming2/2/

aminglinux/aming2/2/2.txt

3.txt

4.txt


--exclude 过滤用法

--exclude aming1

[root@centos7 d6z]# tar -cvf aminglinux.tar --exclude aming1  aminglinux/ 3.txt 4.txt 

aminglinux/

aminglinux/2/

aminglinux/2/2.txt

aminglinux/2/4.txt

aminglinux/aming2/

aminglinux/aming2/2/

aminglinux/aming2/2/2.txt

3.txt

4.txt

--exclude aming1 --exclude 2.txt 多重过滤命令

[root@centos7 d6z]# tar -cvf aminglinux.tar --exclude aming1 --exclude 2.txt  aminglinux/ 3.txt 4.txt 

aminglinux/

aminglinux/2/

aminglinux/2/4.txt

aminglinux/aming2/

aminglinux/aming2/2/

3.txt

4.txt

--exclude aming1 --exclude "*.txt"  多重过滤,支持*.txt过滤,注意加""

[root@centos7 d6z]# tar -cvf aminglinux.tar --exclude aming1 --exclude "*.txt"  aminglinux/ 3.txt 4.txt 

aminglinux/

aminglinux/2/

aminglinux/aming2/

aminglinux/aming2/2/



6.7 打包并压缩


介绍

技术分享图片

tar打包并压缩

gzip用法

[root@centos7 d6z]# tar -czvf aminglinux.tar.gz aminglinux 3.txt 


4.txt 

aminglinux/

aminglinux/2/

aminglinux/2/2.txt

aminglinux/2/4.txt

aminglinux/aming2/

aminglinux/aming2/aming1/

aminglinux/aming2/aming1/2/

aminglinux/aming2/aming1/2/2.txt

aminglinux/aming2/aming1/aminglinux/

aminglinux/aming2/aming1/aminglinux/2/

aminglinux/aming2/aming1/aminglinux/2/2.txt

aminglinux/aming2/2/

aminglinux/aming2/2/2.txt

3.txt

4.txt

[root@centos7 d6z]# du -sh aminglinux.tar.gz 

1.1M aminglinux.tar.gz


bz2用法

[root@centos7 d6z]# tar -cjvf aminglinux.tar.bz2 aminglinux 3.txt 


4.txt  

aminglinux/

aminglinux/2/

aminglinux/2/2.txt

aminglinux/2/4.txt

aminglinux/aming2/

aminglinux/aming2/aming1/

aminglinux/aming2/aming1/2/

aminglinux/aming2/aming1/2/2.txt

aminglinux/aming2/aming1/aminglinux/

aminglinux/aming2/aming1/aminglinux/2/

aminglinux/aming2/aming1/aminglinux/2/2.txt

aminglinux/aming2/2/

aminglinux/aming2/2/2.txt

3.txt

4.txt

[root@centos7 d6z]# du -sh aminglinux.tar.bz2 

408K aminglinux.tar.bz2


xz用法

[root@centos7 d6z]# tar -cJvf aminglinux.tar.xz aminglinux 3.txt 


4.txt  

aminglinux/

aminglinux/2/

aminglinux/2/2.txt

aminglinux/2/4.txt

aminglinux/aming2/

aminglinux/aming2/aming1/

aminglinux/aming2/aming1/2/

aminglinux/aming2/aming1/2/2.txt

aminglinux/aming2/aming1/aminglinux/

aminglinux/aming2/aming1/aminglinux/2/

aminglinux/aming2/aming1/aminglinux/2/2.txt

aminglinux/aming2/2/

aminglinux/aming2/2/2.txt

3.txt

4.txt

[root@centos7 d6z]# du -sh aminglinux.tar.xz

60K aminglinux.tar.xz

压缩得越狠,时间越慢。


解压缩 -c改成-x

例如# tar -zxvf aminglinux.tar.gz 解压aminglinux.tar.gz


查看文件列表 #tar -tf

#tar -tf aminglinux.tar.gz


四周第五次课(3月2日)

标签:linux   学习   笔记   

原文地址:http://blog.51cto.com/13578154/2079947

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!