Linux教程

Linux命令学习八:gzip、zip、tar

本文主要是介绍Linux命令学习八:gzip、zip、tar,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

压缩与解压缩:gzip、gunzip

gzip命令

    使用gzip命令压缩文件的时候,需要注意以下几点:

    1. gzip命令只能压缩文件,而不能压缩目录;
    2. gzip压缩完目标文件后,源文件会被删除,只留下压缩后的文件;
    3. gzip后面可以跟多个文件,命令会生成多个压缩文件,而不会把多个文件压缩到一个文件;
    4. 文件经它压缩过后,其名称后面会多出".gz"的扩展名;

基本语法

gzip [参数]  文件

参数说明

参数 说明
-d 解开压缩文件
-v 显示执行过程
-l 显示压缩文件的信息
-r 递归压缩

实例

    将dir1里面的文件全部压缩,这个命令是将dir1下面的文件,每个文件都压缩成独立的压缩文件

gzip -r dir1

gunzip命令

    gunzip命令就是用来角压缩gzip命令压缩的文件。跟gzip一样,解压完文件后,源压缩文件就会被自动删除。

基本语法

gunzip [参数] 文件.gz

参数说明

参数 说明
-r 递归解压缩
-v 显示解压缩执行过程

实例

    解压dir1下面的所有压缩文件

gunzip -r -v dir1

压缩与解压缩:zip、unzip

zip命令

    同样是压缩与解压缩,但是zipgzip不一样的地方有两点:

    1. zip压缩文件后,不会把源文件删除
    2. zip可以压缩文件夹
    3. 压缩后的文件后缀名为 .zip

基本语法

zip [参数] 目标文件名  源文件

参数说明

参数 说明
-r 把整个目录压缩成一个文件
-v 显示执行过程
-d 从压缩文件中删除指定文件

实例

    将/home压缩成一个文件

$ zip -r home.zip /home
adding: home/ (stored 0%)
adding: home/admin/ (stored 0%)
adding: home/admin/.bash_logout (stored 0%)
adding: home/admin/.bash_profile (deflated 20%)
adding: home/admin/.bashrc (deflated 35%)

unzip命令

    命令用于解压缩zip文件

基本语法

unzip [参数] 文件.zip

参数说明

参数 说明
-v 显示解压过程
-d 解压文件到目标目录

实例

    将前面压缩的home.zip解压到/tmp目录下

$ unzip -d /tmp home.zip

打包命令:tar

    tar命令本来只是一个打包命令,将几个文件或者目录打包成一个文件。tar命令还可以结合一些参数,对打包后的文件进行压缩处理。

基本语法

tar [参数] 打包后的文件 需要打包的文件/目录

参数说明

参数 说明
-c 生成打包文件
-v 显示 执行过程
-f 指定打包后的文件名
-t 查看压缩包里面有哪些文件
-x 拆开打包文件
-C 大写字母C,拆开打包文件到指定目录
-z 通过 gzip 的支持进行压缩/解压缩
-j 通过 bzip2 的支持进行压缩/解压缩
-J 通过 xz 的支持进行压缩/解压缩

    需要注意的是,-f参数后面,要马上指定需要处理的文件,应该是tar -xzf tarfile.tar.gz, 而不能是tar -xfz tarfile.tar.gz

实例

    将/home目录打包,并且用zip压缩,生成home.tar.gz文件

tar -czvf home.tar.gz /home

    查看home.tar.gz压缩包文件里都有哪些文件

$ tar -ztvf home.tar.gz
home/
home/admin/
home/admin/.bash_logout
home/admin/.bash_profile
home/admin/.bashrc
home/admin/f/
home/admin/.bash_history
home/ryan/
home/ryan/.bash_logout
home/ryan/.bash_profile
home/ryan/.bashrc

    将home.tar.gz文件,解压拆包至/tmp目录

tar -xzvf home.tar.gz -C /tmp
这篇关于Linux命令学习八:gzip、zip、tar的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!