Linux中的打包和文件压缩

这篇具有很好参考价值的文章主要介绍了Linux中的打包和文件压缩。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

文件打包和文件压缩是linux中常用的数据传递方式,可以保证数据的整体性;本文主要介绍工作中常用的几种打包和压缩方式

一、应用

1.1 linux 和 windows 数据传递

有时我们会将linux中的数据拷贝到windows上进行查看,常用的文件压缩格式有zip和rar

zip文件压缩格式

压缩命令 说明
zip a.zip ./* 将当前目录下的文件压缩为a.zip,不包括文件夹中的文件
zip -r a.zip ./* 将当前目录下的文件递归压缩为a.zip,包括文件夹中的文件
unzip a.zip 解压文件到当前文件夹
unzip ./a.zip -d ./folder 将文件解压到./folder文件夹中

rar文件压缩格式

压缩命令 说明
rar a t.rar ./* 将当前目录下的文件压缩为a.zip,包括文件夹中的文件
rar a -r t.rar ./* 将当前目录下的文件递归压缩为a.zip,包括文件夹中的文件
unrar e t.rar 解压文件到当前文件夹,只是解压文件,但是包括文件夹中的文件
unrar x t.rar 解压文件到当前文件夹,只是解压文件和文件夹
unrar e ./t.rar -d ./folder 将文件解压到./folder文件夹中
unrar x ./t.rar -d ./folder 将文件解压到./folder文件夹中,包括文件夹
unrar e ./t.zip -o ./folder 将文件解压到./folder文件夹中
unrar x ./t.rar -o ./folder 将文件解压到./folder文件夹中,包括文件夹

1.2 linux 中的数据传递

tar && gz
通过tar对文件进行打包,再通过gz对文件进行压缩

压缩文件类型 说明
tar -cvf t.tar ./* 将当前目录下所有的文件和文件夹打包成为t.tar
tar -xvf t.tar 将t.tar解压到当前目录
tar -xvf t.tar -C /home/user/ 将t.tar解压到指定目录

打包的同时压缩

压缩文件类型 说明
tar -zcvf t.tar.gz ./* 将当前目录下所有的文件和文件夹打包成为t.tar.gz
tar -jcvf t.tar.bz2 ./* 将当前目录下所有的文件和文件夹打包成为t.tar.bz2
tar -zxvf t.tar.gz 将t.tar.gz解压到当前目录
tar -zxvf t.tar.gz -C /home/user/ 将t.tar.gz解压到指定目录

压缩参数解释:

-c:新建一个压缩文件
-z:使用gzip算法压缩为.gz文件
-v:显示压缩过程
-f:指定压缩文件名

解压参数解释:

-x:解包/解压一个压缩文件
-z:解压使用gzip算法压缩的.gz文件
-v:显示解压过程
-f:指定压缩文件名

循环解压tar.gz文件

for file in *.tar.gz; do tar -zxvf "$file"; done
root@**:**# ls
md.tar.gz  txt.tar.gz
root@**:**# ls for file in *.tar.gz; do tar -zxvf "$file"; done
./1.md
./2.md
./d.md
./a.txt
./b.txt

二、说明以及优缺点介绍

2.1 gz

.gz 是一种在 Linux 系统中常见的文件压缩类型。它通过 GNU 压缩工具 Gzip 进行压缩生成,其底层使用的是 DEFLATE 算法。.gz 文件格式是一种有损压缩格式,使用起来简单方便,被广泛应用于互联网传输和存储的文件压缩中。下面是一些 .gz 文件压缩的特性:

  • 压缩率高:.gz 文件压缩方式采用 DEFLATE 算法 和 Lempel-Ziv 算法,因此压缩率比较高,可以有效减少存储空间。

  • 压缩速度快:.gz 文件是基于 DEFLATE 算法实现的,速度较快,压缩较大文件时也不会太慢。

  • 支持单个文件压缩:.gz 文件可以将单个文件压缩成一个 .gz 压缩包,方便传输和共享。

  • 不支持多文件压缩:.gz 文件不支持多文件压缩,需要先将要压缩的文件打包成 tar 包后,再将 tar 包压缩成 .tar.gz 文件。

  • 压缩后生成 .gz 文件:.gz 文件经过压缩后,文件名的扩展名变为 .gz,例如 info.txt 文件压缩后,文件名为 info.txt.gz。

总之,.gz 文件压缩类型是一个常见的 Linux 文件压缩类型之一,具有压缩率高、压缩速度快等优点,在文件传输和存储中使用广泛。

2.2 zip

在 Linux 系统中,ZIP 是一种常见的文件压缩类型,相比于 tar,gzip 和 bzip2,ZIP 压缩格式是一个跨平台的压缩格式,经常用于在 windows 和 Linux 系统之间共享文件。下面是一些 ZIP 文件压缩类型的特性:

  • 压缩率中等:相比于 gzip 和 bzip2,ZIP 的压缩率通常处于中等水平。
  • 可以压缩多个文件:ZIP 支持将多个文件压缩成一个 ZIP 压缩包。
  • 支持文件加密:ZIP 文件可以加密,保护文件隐私性。
  • 使用方便:ZIP 压缩工具可以在 Linux 和 Windows 系统上使用,使用起来非常方便。
  • 压缩速度较快:ZIP 压缩速度通常比 bzip2 慢,比 gzip 快。

总之,ZIP 是一种常见的跨平台文件压缩类型,在许多场景下都非常方便。ZIP 可以有效地将多个文件压缩到一个文件中,也可以添加或删除单个文件,压缩率中等,处理速度较快,可通过密码保护您的文件。

在使用 zip 命令时,可以使用以下选项来实现不同的功能:

-r:将目录递归至压缩文件;
-q:执行操作时不显示任何输出信息;
-m:将源文件移动到压缩的文件中;
-u:仅压缩源文件中原本不存在的文件;
-j:仅存储文件名称和内容,不压缩目录结构信息;
-1 ~ -9:指定压缩级别,值越大表示压缩效率越高,压缩时间越长;

2.3 rar

在 Linux 系统中,RAR 是一种常用的归档压缩格式,可以在 Linux、Windows、macOS 等平台上使用。RAR 压缩格式在 Linux 中不像其他 zip、tar、gzip、bzip2 等压缩格式那么常用,但是在 Windows 中 RAR 压缩格式非常常见。

RAR 归档压缩格式的特性包括:

  1. 高压缩率:RAR 格式拥有比较高的压缩比例,能让你在很少的空间内存储更多的文件。

  2. 分卷压缩:RAR 可以将一个大文件分成多个小文件,方便传播。

  3. 支持加密:通过加密,可以更好地保护文件隐私性。

  4. 自解压:允许你创建自解压包,这种压缩包不需要任何压缩软件就可以直接运行解压缩。

在 Linux 中,你可以通过 RAR 压缩软件,如 unrar 和 rar,来创建、提取和管理 RAR 压缩文件。在基本操作方面,RAR 压缩命令和 gzip、zip 等格式的命令类似,包括创建压缩文件、解压缩文件等。

2.4 tar

在 Linux 中,tar 命令是一个用于打包和归档的命令,可以将一个或多个文件或目录打包成一个 tar 归档文件,可以使用 -z 选项将其压缩成 gzip 格式文件或 -j 选项将其压缩成 bzip2 格式文件。

tar 的基本语法如下:

tar [选项] 文件名.tar [要被打包的文件]

其中,选项可以为:文章来源地址https://www.toymoban.com/news/detail-729787.html

  • -c:创建一个新的 tar 归档文件。
  • -x:从 tar 归档文件中提取文件。
  • -v:显示正在进行的操作。
  • -f:指定归档文件的名称。
  • -z:使用 gzip 格式进行压缩。
  • -j:使用 bzip2 格式进行压缩。
  • -t:列出 tar 归档文件的内容。
  • -r:向 tar 归档文件中添加文件。
  • -u:更新已有的 tar 归档文件。
  • -P:保留完整的文件路径。

到了这里,关于Linux中的打包和文件压缩的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • springboot上线打包+vuecli2部署在linux服务器上(打包上线)

    这里也是记录一下springboot的上线打包流程,我这里前端使用的是vuecli2 springboot的依赖是2.7.9的版本 前端是使用的vue2 打包前,你的linux上必须要先安装,tomcatjavanginx springboot打包点击一下,等maven编译打包成功 在target文件下找到,jar包, 然后,把jar包上传到你的linux服务器,文件夹上,我

    2024年02月10日
    浏览(37)
  • 【前端部署】vue项目打包并部署到Linux服务器

    在vs code中打开vue前端项目文件夹,在终端中输入 npm run build ,打包完成后,在前端项目文件夹中会生成一个名为 dist 的文件夹,如下图所示: dist文件夹打开如下所示: 打开服务器终端,在终端中输入以下命令,下载nginx安装包。 其中nginx版本可以自己选择,具体版本可查看

    2024年02月06日
    浏览(47)
  • vue项目打包部署在windows或linux服务器上

    最近写了一个前后端分离的项目,前端用的是vue,因此记录一下将该项目部署到服务器的整个过程。 1.首先,在控制台输入npm run build命令(或者npm run build:prod)。该命令用于将前端vue打包。打包后的文件是dist文件夹。(开发阶段的一些配置在打包后会失效,比如开发阶段配置

    2024年02月11日
    浏览(53)
  • Linux +Docker镜像打包导出,上传至内网服务器

      sudo:以管理员权限运行命令,通常用于在 Linux 系统中运行需要管理员权限的命令。 docker:Docker 命令行工具。 commit:提交 Docker 镜像的命令。 -a:指定镜像的作者,这里是作者的名字: yjw。 e007d8b7e1b7:docker的容器id。 my_projectv2:v2:要新创建的镜像的名称和版本号,这里是

    2024年02月02日
    浏览(43)
  • 将Spring Boot项目打包部署到阿里云linux服务器

    首先 你要保证自己的服务器上有java环境 如果没有可以参考我的文章 linux服务器中安装java JDK1.8版本 然后 我们打开我们的Spring Boot项目 双击 package 生命周期进行打包 打包完成之后 我们找到 target 下面会有一个jar包 然后 我们右键它 如下图操作 系统就会帮你打开它所在的目录

    2024年02月16日
    浏览(45)
  • 若依框架(RuoYI)项目打包(jar)方法,部署到 Linux 服务器

    在若依框架的 bin 目录下,存在着三个 bat 文件,一个是清除之前的依赖的自动化 bat 脚本( clean.bat ),一个是自动化项目打包的 bat 脚本( package.bat ),一个是运行若依项目的脚本( run.bat ) 将ruoyi-admin 文件夹内的 pom.xml 文件内的 packaging 的值改成 jar 打包前,要清除之前的

    2024年02月12日
    浏览(46)
  • 若依框架打包jar包,发布Linux服务器,并进行负载均衡

      目录 阿里云服务器申请  服务器控制台配置 XShell的下载与破解  XShell连接 OneinStack一键配置  Linux数据库配置  Nginx配置 Tomcat配置 若依后端打包         若依前端发布 总结         首先是阿里云服务器申请,进入阿里云官方网站,在首页申领阿里云免费云服务器    

    2024年02月02日
    浏览(41)
  • Linux 环境下Docker将镜像打包导出到本地,上传至内网服务器(八)

    docker将镜像导出到本地,上传至内网服务器上 背景:在企业中往往出现了内网不能和外网相通,不能使用docker pull命令来拉取镜像,这个时候我们就可以考虑在有所需镜像的服务器上导出镜像,再将其上传到内网服务器上。 有两种方法,一种是通过容器,一种是通过镜像,其

    2024年02月13日
    浏览(35)
  • 【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行

    👨‍🎓 博主简介   🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊 交流社区: 运维交流社区 欢迎大家的加入! 🐋 希望大家多多支持,我们一起进步!😄 🎉如果文章对你有帮助的话,欢迎 点赞 👍🏻 评论 💬 收藏

    2024年04月26日
    浏览(29)
  • 重新启动Linux服务器中的 ES

    ES不支持直接重启,只能先结束掉进程,再运行脚本重启。 下面是操作的过程: 1、先查找出服务器的ES进程,可以用以下两个命令进行查找: 紧跟指令 jintaiyang+  的 15870就是我们需要查找的ES 服务进程 pid 2、结束ES进程 kill -9 pid(进程号,此处是15870) 3、重新启动ES ( 注意:

    2024年02月05日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包