版权声明
- 本文原创作者:谷哥的小弟
- 作者博客地址:http://blog.csdn.net/lfdfhl
概述
在本节教程中主要学习Linux中的压缩和解压指令。
gzip和gunzip
gzip用于压缩文件, gunzip用于解压文件。
压缩文件,语法如下:
gzip 待压缩文件
通过该命令将文件压缩成*.gz文件。请注意:使用 gzip 对文件进行压缩后,不再保留原文件。
解压缩文件,语法如下:
gunzip 待解压文件.gz
请注意:使用 gunzip 对文件进行解压缩后,不再保留原压缩文件。
示例如下:
- 1、将/home下hello.txt文件压缩
- 2、将 /home 下的hello.txt.gz 文件进行解压缩
[root@MyCentOS /]# cd /home
[root@MyCentOS home]# pwd
/home
[root@MyCentOS home]# gzip hello.txt
[root@MyCentOS home]# ls
hello.txt.gz test1.txt test2.txt
[root@MyCentOS home]# gunzip hello.txt.gz
[root@MyCentOS home]# ls
hello.txt test1.txt test2.txt
[root@MyCentOS home]#
zip和unzip
zip 用于压缩文件, unzip 用于解压文件。
压缩文件,语法如下:
zip [选项] 压缩后的文件名.zip 待压缩内容
常用选项:
- -r 递归压缩
解压文件,语法如下:
unzip [选项] 压缩文件名.zip
常用选项:
- -d 指定解压后文件存放目录
示例如下:
- 1、将 /home下的所有文件进行压缩成mypackage.zip
- 2、将 /home下的mypackge.zip解压到 /opt/temp目录下
[root@MyCentOS home]# pwd
/home
[root@MyCentOS home]# zip -r mypackage.zip /home/
adding: home/ (stored 0%)
adding: home/test1.txt (deflated 9%)
adding: home/hello.txt (deflated 9%)
adding: home/test2.txt (deflated 9%)
[root@MyCentOS home]# ls
hello.txt mypackage.zip test1.txt test2.txt
[root@MyCentOS home]# unzip -d /opt/temp/ mypackage.zip
Archive: mypackage.zip
creating: /opt/temp/home/
inflating: /opt/temp/home/test1.txt
inflating: /opt/temp/home/hello.txt
inflating: /opt/temp/home/test2.txt
[root@MyCentOS home]# cd /opt/temp
[root@MyCentOS temp]# ls
home
[root@MyCentOS temp]# cd home
[root@MyCentOS home]# ls
hello.txt test1.txt test2.txt
[root@MyCentOS home]#
tar
tar指令通常称为打包指令,该指令不但可压缩文件也可对压缩文件进行解压。
压缩文件,语法如下:
tar [选项] 压缩文件名.tar.gz 待打包文件或目录
解压文件,语法如下:
tar [选项] 压缩文件名.tar.gz 解压后的目录
请注意:再解压前先确保保存解压文件的目录已存在。
tar指令常用选项:
选项 | 功能 |
---|---|
-c | 产生.tar打包文件 |
-v | 显示详细信息 |
-f | 指定压缩后的文件名 |
-z | 打包同时压缩 |
-x | 解压.tar文件 |
压缩时常用选项:-zcvf
解压时常用选项:-zxvf
示例如下:
- 1、将/home/test1.txt 和 /home/test2.txt 压缩成 test.tar.gz
- 2、将/home文件夹压缩成myhome.tar.gz
- 3、将test.tar.gz解压到当前目录
- 4、将myhome.tar.gz 解压到/opt/ 目录下
[root@MyCentOS /]# cd /home
[root@MyCentOS home]# pwd
/home
[root@MyCentOS home]# tar -zcvf test.tar.gz test1.txt test2.txt
test1.txt
test2.txt
[root@MyCentOS home]# ls
hello.txt mypackage.zip test1.txt test2.txt test.tar.gz
[root@MyCentOS home]# tar -zcvf myhome.tar.gz /home/
tar: 从成员名中删除开头的“/”
/home/
/home/test1.txt
/home/hello.txt
/home/test2.txt
/home/test.tar.gz
/home/mypackage.zip
[root@MyCentOS home]# ls
hello.txt myhome.tar.gz mypackage.zip test1.txt test2.txt test.tar.gz
[root@MyCentOS home]# tar -zxvf test.tar.gz
test1.txt
test2.txt
[root@MyCentOS home]# ls
hello.txt myhome.tar.gz mypackage.zip test1.txt test2.txt test.tar.gz
[root@MyCentOS home]# tar -zxvf myhome.tar.gz -C /opt/
home/
home/test1.txt
home/hello.txt
home/test2.txt
home/test.tar.gz
home/mypackage.zip
[root@MyCentOS home]# cd /opt
[root@MyCentOS opt]# ls
home rh temp
[root@MyCentOS opt]# cd home
[root@MyCentOS home]# ls
hello.txt mypackage.zip test1.txt test2.txt test.tar.gz
[root@MyCentOS home]#
[root@MyCentOS home]#
[root@MyCentOS home]#
[root@MyCentOS home]#
[root@MyCentOS home]#
[root@MyCentOS home]#