14. 【Linux教程】文件压缩与解压

简介: 14. 【Linux教程】文件压缩与解压

文件压缩与解压

前面小节介绍了如何对文件和目录删除、移动操作,本小节介绍如何使用命令对文件和目录进行压缩与解压操作,常见的压缩包格式有 .bz2.Z.gz.zip.xz,压缩之后的文件或目录占用更少的空间。

1. tar 命令介绍

下面列举 tar 命令的参数: image.png Tips:其中 -c-x-t-u 这五个参数是独立的,每次使用选其中一个,-f 是最后一个参数,后面跟上档案名。

1.1 将指定类型文件打包成 tar 包

为了演示方便,先切入到 /home 目录下,使用 touch 命令创建几个 .txt 文件,然后使用 tar 命令将其打包,命令如下:

cd /home
 
touch a.txt b.txt c.txt d.txt e.txt
 
ls -l
 
tar -cf alltxt.tar *.txt 
 
ls -l

执行结果如下图:

Tips:其中 alltxt.tar 是一个自定义名称,后缀是 tar ,前半部分的名字可自行定义, *.txt 中的 * 表示通配符代表所有的意思。

1.2 向现有的 tar 包中新增文件

这里再使用 touch 命令创建一个 g.txt 文件,使用 tar 命令将其新增至 alltxt.tar 中,命令如下:

touch g.txt
 
tar -rf alltxt.tar g.txt

执行结果如下图:

1.3 更新 原来 tar 包中的文件

使用 rm 命令删除 /home 目录中的 a.txt ,然后新建一个 a.txt 表示为更新后的 a.txt,使用 tar 命令将 a.txt 更新至 alltxt.tar 中,命令如下:

rm -f a.txt
 
touch a.txt
 
tar -uf alltxt.tar a.txt

执行结果如下图:

Tips:若 alltxt.tar 中没有 a.txt,那么使用 tar -uf 就会将 a.txt 新增到 alltxt.tar 中。

1.4 列出 tar 包中打包的所有文件

这里为了演示方便,将 /home 目录原有的 .txt 文件全都删除掉,然后使用 tar 命令查看 alltxt.tar 中所有文件列表,命令如下:

ls
 
rm -f *.txt
 
ls
 
tar -tf alltxt.tar

执行结果如下图:

1.5 解开 tar 包中所有文件

接着上面的内容,可以使用 tar 命令将 alltxt.tar 解开把文件释放到当前目录,命令如下:

ls
 
tar -xf alltxt.tar
 
ls

执行结果如下图:

1.6 使用 tar 命令压缩

上面打包的 alltxt.tar 文件并没有压缩文件,只是把文件都打包在一起,如下命令可以把 alltxt.tar 压缩成为不同格式的压缩包:

ls
 
tar -czf alltxt.tar.gz alltxt.tar
 
ls
 
tar -cjf alltxt.tar.bz2 alltxt.tar
 
ls
 
tar -cZf alltxt.tar.Z alltxt.tar
 
ls

执行结果如下图:

Tips:命令中参数的含义可参考前面参数表格中的功能描述。

1.7 使用 tar 命令解压缩

为了演示方便,防止读者混淆,先将 alltxt.tar.gzalltxt.tar.bz2alltxt.tar.Z 三种格式压缩包移动至 study 目录,然后使用 tar 命令解压,命令如下:

ls 
 
mv alltxt.tar.gz study/
 
mv alltxt.tar.bz2 study/
 
mv alltxt.tar.Z study/
 
cd study/
 
ls

移动过程执行如下图:

如上图所示,将需要解压的三种格式压缩包移动至 /home/study 目录中,下面对其解压缩,命令如下:

ls
 
tar -zxvf alltxt.tar.gz
 
ls
 
rm -f alltxt.tar
 
ls
 
tar -jxvf alltxt.tar.bz2
 
ls
 
rm -f alltxt.tar
 
ls
 
tar -Zxvf alltxt.tar.Z
 
ls
2.

执行结果如下图:

Tips:命令中参数的含义可参考前面参数表格中的功能描述。

2. zip 格式压缩与解压

CentOS 8 系统中自带 zipunzip 压缩与解压工具,可以使用 zip -vunzip -v 命令查看当前是否安装 zipunzip 工具,若是没有安装,则可以使用如下命令安装:

yum -y update
 
 
yum -y install zip unzip
 

安装过程如下图:

如上图所示,先要更新 yum 源的软件包数据,如下图所示为安装 zipunzip 的过程执行图:

Tipsyum 是 Linux 中的一个软件管理仓库,关于 yum 如何安装软件后续小节会详细介绍。

2.1 使用 zip 压缩文件

使用 zip 命令可以将 alltxt.tar 包压缩为 .zip 压缩包,命令如下:

ls
 
zip alltxt.zip alltxt.tar
 
ls

执行结果如下:

Tips:可以使用 zip -r zip包名 目录名 递归压缩目录以及目录中所有文件。

2.2 使用 unzip 解压缩

为了演示方便,先将 alltxt.zip 文件移动至 /home/study 中,然后解压,命令如下:

ls
 
mv alltxt.zip study/
 
cd study/
 
ls
 
unzip alltxt.zip
 
ls

执行结果如下图:

3. 小结

本小节介绍了如何使用 tar 命令打包文件和解开 tar 包,还介绍了如何使用 tar 将文件包压缩为 .gz、.bz2、.Z 格式的压缩包,如何解压缩它们,最后还介绍了如何使用 zip、unzip 工具压缩与解压 .zip 格式的压缩包,需要注意的是使用 tar 命令将文件打包成 tar 包之后,文件并没有被压缩,只是打包在一起了,压缩文件前,也可以不打包成 tar 包,可以直接对某个文件和目录进行压缩。


目录
相关文章
|
6月前
|
弹性计算 安全 Linux
阿里云服务器ECS安装宝塔Linux面板、安装网站(新手图文教程)
本教程详解如何在阿里云服务器上安装宝塔Linux面板,涵盖ECS服务器手动安装步骤,包括系统准备、远程连接、安装命令执行、端口开放及LNMP环境部署,手把手引导用户快速搭建网站环境。
|
7月前
|
NoSQL 关系型数据库 Linux
ERPNext 搭建教程:Linux 一键部署与维护
ERPNext 是一款开源免费的企业资源计划系统,适用于中小企业信息化管理。基于 Python 和 Frappe 框架开发,支持财务、销售、人力、库存等模块,具备高度可定制性。本文介绍如何通过 Websoft9 在 Linux 下快速部署 ERPNext,并提供环境配置、系统维护等实用建议,适合开发者和企业用户快速上手。
1227 7
ERPNext 搭建教程:Linux 一键部署与维护
|
7月前
|
存储 数据管理 Linux
区分Linux中.tar文件与.tar.gz文件的不同。
总之,".tar"文件提供了一种方便的文件整理方式,其归档但不压缩的特点适用于快速打包和解压,而".tar.gz"文件通过额外的压缩步骤,尽管处理时间更长,但可以减小文件尺寸,更适合于需要节约存储空间或进行文件传输的场景。用户在选择时应根据具体需求,考虑两种格式各自的优劣。
1168 13
|
7月前
|
Java Linux 网络安全
Linux云端服务器上部署Spring Boot应用的教程。
此流程涉及Linux命令行操作、系统服务管理及网络安全知识,需要管理员权限以进行配置和服务管理。务必在一个测试环境中验证所有步骤,确保一切配置正确无误后,再将应用部署到生产环境中。也可以使用如Ansible、Chef等配置管理工具来自动化部署过程,提升效率和可靠性。
746 13
|
6月前
|
Ubuntu 网络协议 Unix
Linux教程(Ubuntu为蓝本)之Linux介绍篇
SuSE嫁到了Novell,SCO继续顶着骂名四处强行“化缘”, Asianux, MandrakeSoft也在五年中首次宣布季度赢利。3月,SGI宣布成功实现了Linux操作系统支持256个Itanium 2处理器。[1-2]
|
6月前
|
Ubuntu Linux 数据安全/隐私保护
Win10安装Linux子系统教程!如何在Win10系统中安装Ubuntu!
登录系统后,输入cd /返回上一级,然后再输入“ls”查看一下系统文件目录,看看对不对!
|
8月前
|
安全 Linux
Linux赋予文件000权限的恢复技巧
以上这些步骤就像是打开一扇锁住的门,步骤看似简单,但是背后却有着严格的逻辑和规则。切记,在任何时候,变更文件权限都要考虑安全性,不要无谓地放宽权限,那样可能
256 16
|
8月前
|
存储 Linux 数据处理
深入剖析Linux中一切即文件的哲学和重定向的机制
在计算机的奇妙世界中,Linux的这套哲学和机制减少了不同类型资源的处理方式,简化了抽象的概念,并蕴藏着强大的灵活性。就像变戏法一样,轻轻松松地在文件、程序与设备之间转换数据流,标准输入、输出、错误流就在指尖舞动,程序的交互和数据处理因此变得既高效又富有乐趣。
146 4
|
9月前
|
Ubuntu Linux
"unzip"命令解析:Linux下如何处理压缩文件。
总的来说,`unzip`命令是Linux系统下一款实用而方便的ZIP格式文件处理工具。本文通过简明扼要的方式,详细介绍了在各类Linux发行版上安装 `unzip`的方法,以及如何使用 `unzip`命令进行解压、查看和测试ZIP文件。希望本文章能为用户带来实际帮助,提高日常操作的效率。
1903 12
|
8月前
|
关系型数据库 Linux 数据库
Linux系统安装Postgre和Postgis教程
本文详细介绍了PostgreSQL/PostGIS的卸载与安装步骤。卸载部分涵盖Docker、Yum/RPM及源码编译安装的清理方法,包括停止服务、删除容器/包、清理残留文件和环境变量等操作,并强调卸载前需备份数据库数据。安装部分提供在线yum安装和离线源码编译两种方式,前者简单快捷,后者需准备依赖(如gcc、readline-devel等)、创建用户组、初始化数据库及配置访问规则。每步均附带命令示例,确保操作清晰明确。
1275 0