这么多年来,数据压缩对我们来说是非常有用的。无论是在邮件中发送的图片用的zip文件还是在服务器压缩数据文件,我们都可以让下载更容易或者有效 的节约磁盘空间。某些压缩格式有时允许我们以60%的比率(甚至更高)压缩文件。下面我将会给大家演示如何用这些命令在Linux下面去压缩文件或者目录。本文主要记录命令:gzip、tar、zip、bzip2、unzip命令以及相关的代码演示。
1. 名次划分
打包:将一大堆文件或目录变成一个总的文件【tar命令】
压缩:将一个大的文件通过一些压缩算法变成一个小文件【gzip,bzip2等】
Linux中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得将这一大堆文件先打成一个包(tar命令),然后再用压缩程序进行压缩(gzip bzip2命令)
2. 相关命令概述
命令名称 | 所在路径 | 执行权限 | 语法 | 功能描述 |
gzip | /bin/gzip | 所有用户 | gzip [文件] | 压缩文件,要锁后的文件格式是.gz,节省磁盘空间 |
tar | /bin/tar | 所有用户 | tar 选项 [压缩后的文件名] [目录] | 打包或者解压目录 |
zip | /usr/bin/zip | 所有用户 | 压缩文件或者目录,压缩后的文件名:.zip | |
bzip2 | /usr/bin.bzip2 | 所有用户 | 压缩文件, .bz2 | |
unzip | /usr/bin/unzip | 所有用户 | unzip [压缩文件] | 解压.zip的压缩文件 |
3. 命令详细介绍
3.1 gzip(只能对文件压缩用于节省空间无法打包)
gzip 是linux中常见的压缩/解压工具,最常见的使用对象是*.gz格式的文件。只能压缩文件,gzip命令对每一个文件进行压缩,而不能打包。
压缩单个文件命令:gzip [文件名]
解压单个文件命令:gzip -d [含有gz的文件名]
3.2. tar(压缩解压命令)
语法:tar[主选项 + 辅选项] 文件或目录
使用该命令时,主选项必须有。
主选项:【一条命令只能有一个参数】
-c: --create 新建一个压缩文档,即打包
-x: --extract,--get解压文件
-t: --list,查看压缩文档里的所有内容
-r:--append 向压缩文档里追加文件
-u:--update 更新原压缩包中的文件
辅助选项:
-z:是否同时具有gzip的属性?即是否需要用gzip压缩或解压?一般格式为xxx.tar.gz或xx.tgz
-j:是否同时具有bzip2的属性?即是否需要用bzip2压缩或解压?一般格式为xx.tar.bz2
-v:显示操作过程!这个参数很常用
-f:使用文档名,注意,在f之后要立即接文档名,不要再加其他参数!
-C:切换到指定目录
3.2.1. 文件打包命令:tar -czvf test.tar.gz test1.app test2.app
(注意事项:在写打包命令的时候,使用文档名,注意,在f之后要立即接文档名,不要再加其他参数!)
3.3.2. 压缩文件(tar.gz)中文件信息查看:
文件简短信息查看:tar -tf test.tar.gz
文件详细信息查看:tar -ztvf test.tar.gz
3.3.3. 解压压缩文件(tar.gz) :
解压到当前目录:tar -zxvf test.tar.gz
解压到特定目录:tar -zcvf test.tar.gz -C /home/wxt/shTest