linuxOps基础_linux文件打包压缩与解压缩

news2024/10/5 17:21:04

linux打包压缩概念

默认情况下,Linux的压缩概念一次只能压缩一个文件。针对多文件或文件夹无法进行直接压缩。所以需要提前对多个文件或文件夹进行打包,这样才可以进行压缩操作。

打包

1.txt  5MB
2.txt  10MB
3.txt  15MB

1.txt + 2.txt + 3.txt  =  打包  =  123.tar = 30MB

打包只是把多个文件或文件夹打包放在一个文件中,但是并没有进行压缩,所以其大小还是原来所有文件的总和。
压缩

1.txt  5MB
2.txt  10MB
3.txt  15MB

1.txt + 2.txt + 3.txt = 压缩 = 123.tar.gz = 20MB(体积变小了)

压缩:也是一个文件和目录的集合,且这个集合也被存储在一个文件中,但它们的不同之处在于,压缩文件所占用的磁盘空间比集合中所有文件大小的总和要小。

Linux打包操作

基本语法:

# tar [选项] 打包后的名称.tar 多个文件或文件夹

选项选项说明
-c打包
-ffilename,打包后的文件名称
-v显示打包的进度
-uupdate缩写,更新原打包文件中的文件(了解)
-t查看打包的文件内容(了解)

示例1 使用tar 打包多个文件

案例: 把a.txt、b.txt、c.txt文件打包到abc.tar文件中

\# tar -cvf abc.tar a.txt b.txt c.txt

在这里插入图片描述

示例2 使用tar 打包文件夹

案例:把c文件夹进行打包成tarc.tar

\# tar -cvf c.tar c

在这里插入图片描述

示例3 tar -tf 查看包中文件信息

主要功能:查看tar包中的文件信息
案例:查看c.tar包中的文件信息
在这里插入图片描述

示例4 使用tar -uf 更新包

u = update,更新,如果还想往tar包中更新或追加内容都可以通过-u选项

案例向c.tar包中添加一个hello.txt文件

\# touch hello.txt
\# tar -uf abc.tar hello.txt
查看是否添加成功
\# tar -tf abc.tar

在这里插入图片描述

打包拓展

把tar包中的文件释放出来

打包
# tar -cf  abc.tar  a.txt  b.txt  c.txt

打包 => 释放(-c 变成 -x)

释放
# tar -xf  abc.tar

打包并压缩

基本语法

\# tar [选项]  压缩后的压缩包名称  要压缩的文件或文件夹
选项选项说明
-cf对文件或文件夹进行打包
-v显示压缩进度
-z使用gzip压缩工具把打包后的文件压缩为.gz
-j使用bzip2压缩工具把打包后的文件压缩为.bz2
-J使用xz压缩工具把打包后的文件压缩为.xz

压缩速度:gzip > bzip2 > xz
压缩率:gzip < bzip2 < xz
100M 90M 80M 70M

示例1 使用tar 打包多个文件

案例:把a.txt、b.txt、c.txt文件打包并压缩为abc.tar.gz

\# tar -zcf abc.tar.gz a.txt b.txt c.txt

案例:把wechat文件夹压缩为wechat.tar.gz格式的压缩包
在这里插入图片描述

示例2 使用tar打包文件夹

案例:把c文件夹压缩为c.tar.gz格式的压缩包

# tar -zcf c.tar.gz c

在这里插入图片描述

对压缩包进行解压

解压过程非常简单,就是把压缩的参数中的c换成x就可以实现解压缩了
*.tar.gz格式的压缩包

# tar -zxf 名称.tar.gz

*.tar.bz2格式的压缩包

# tar -jxf 名称.tar.bz2

*.tar.xz格式的压缩包

# tar -Jxf 名称.tar.xz

示例1使用tar揭阳gz压缩包

案例:把abc.tar.gz格式的压缩包进行解压缩操作

# tar -zxf abc.tar.gz

在这里插入图片描述

zip压缩与解压缩

zip压缩

# zip [选项] 压缩后的文件名称.zip 文件或文件夹

选项说明:
-r :递归压缩,主要针对的是文件夹

Linux下已经有gzip、bzip2以及xz压缩命令了,为什么还需要使用zip压缩呢?

因为zip格式在Windows以及Linux中都是可以正常使用的。

示例1 使用zip对多个文件进行压缩

案例:把a.txt、b.txt、c.txt进行压缩为abc.zip

# zip abc.zip a.txt b.txt c.txt

在这里插入图片描述

示例2 使用zip对文件夹进行压缩

案例:把c文件夹压缩为c.zip

 # zip -r wechat.zip wechat

在这里插入图片描述

unzip解压缩

# unzip 压缩包名称		=>     解压到当前目录
# unzip 压缩包名称 -d 指定路径		=>   解压到指定路径下
示例1 解压缩

对abc.zip文件进行解压缩

# unzip abc.zip

在这里插入图片描述

示例2 把压缩包解压到指定路径

案例 把c.zip解压到/root/shop目录下

# unzip c.zip -d /root/shop

在这里插入图片描述

总结:

在Linux操作系统中,其拥有很多压缩工具,如gzip、bzip2、xz等等,但是其有一个缺点:

一次只能压缩一个文件(而且无法压缩文件夹)

① 打包,把一个或多个文件打成tar包,并不是压缩,只是把文件合并在一个tar文件中

1.txt 5MB

2.txt 10MB

3.txt 15MB

打包123.tar = 5MB + 10MB + 15MB = 30MB

为什么要打包,就是为了后期的压缩操作。

② 打包并压缩

# tar -zcf 压缩包名称.tar.gz 文件或文件夹名称
# tar -jcf 压缩包名称.tar.bz2 文件或文件夹名称
# tar -Jcf 压缩包名称.tar.xz 文件或文件夹名称

③ 解压缩

# tar 把c参数更换为x,就可以实现解压缩  压缩包名称.tar.gz

扩展:

# tar -zxf 压缩包名称.tar.gz [参数] 指定路径

第一种解决思路:随用随查,百度、Google

# tar -zxf 压缩包名称.tar.gz -C 指定路径

第二种解决思路:可以使用man命令(manual缩写,手册)

# man tar命令

# tar -zxf 压缩包名称.tar.gz -C 指定路径

④ zip压缩与解压缩

给我们提供一种既可以在Windows中使用的,也可以提供一种在Linux中使用的通用的压缩格式。

# zip [-r]  压缩包名称.zip  要压缩的文件或文件夹

解压缩:

# unzip 压缩包名称.zip  -d 指定路径

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/588713.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

为kong网关添加key-auth插件实现安全认证

官方指导文档&#xff1a;https://docs.konghq.com/gateway/latest/get-started/key-authentication/ 一、新建一个用户 这里我们新建一个usernameluka的用户 [rootmin ~]# curl -i -X POST http://localhost:8001/consumers/ \ > --data usernameluka HTTP/1.1 201 Cr…

JavaEE HTTP状态码 HTTP数据报的构造

HTTP状态码HTTP数据报的构造 文章目录 JavaEE & HTTP状态码 & HTTP数据报的构造1. HTTP状态码1.1 200 - OK1.2 404 - Not Found1.3 403 - Forbidden1.4 500 - Internal Server Error1.5 504 - Gateway Timeout1.6 302/301 重定向 2. 构造HTTP请求2.1 浏览器搜索栏输入u…

聚焦2023北京安博会,超高清安防应用将成潮流

&#xff08;1&#xff09;2023北京安博会 中国安全防范产品行业协会主办并承办的第十六届&#xff08;2023&#xff09;中国国际社会公共安全产品博览会&#xff08;Security China 2023&#xff09;&#xff0c;将于2023年6月7&#xff5e;10日在北京首钢会展中心开幕。安博…

面试阿里测开岗失败后,被面试官在朋友圈吐槽了......

前一阵子有个徒弟向我诉苦&#xff0c;说自己在参加某大厂测试面试的时候被面试官怼得哑口无言&#xff0c;场面让他一度十分尴尬 印象最深的就是下面几个问题&#xff1a; 根据你以前的工作经验和学习到的测试技术&#xff0c;说说你对质量保证的理解&#xff1f; 非关系型…

Jenkins+JMeter实现自动化,性能压测玩转CICD!

目录 前言&#xff1a; 准备工作 编写Jenkinsfile 编写JMeter脚本 编写 Dockerfile 总结 前言&#xff1a; 性能压测是应用程序开发中不可或缺的一环。它通过模拟应用程序在真实环境下的负载情况&#xff0c;从而检测系统在高负载下的性能表现。而随着依托云架构部署业务的不…

2022年长三角高校数学建模竞赛B题齿轮箱故障诊断解题全过程文档及程序

2022年长三角高校数学建模竞赛 B题 齿轮箱故障诊断 原题再现&#xff1a; 齿轮箱是用于增加输出扭矩或改变电机速度的机械装置&#xff0c;被广泛应用于如汽车、输送机、风机等机械设备中。它由两个或多个齿轮组成&#xff0c;其中一个齿轮由电机驱动。电机的轴连接到齿轮箱的…

大数据 Ranger2.1.0 适配 Kafka3.4.0

Ranger2.1.0 适配 Kafka3.4.0 官方说明POM代码说明 根据官方说明Kafka3.0以上版本将会被替换权限认证方式&#xff0c;包括 类和方法 的变换&#xff0c;所以需要对ranger中继承 kafka 的实现中&#xff0c;修改相应的逻辑 官方说明 Kafka3.0以上版本将会被替换权限认证方式&a…

vue项目瘦身

如图 项目中node_modules包已占用十几G&#xff0c;我也是发现我的磁盘空间缩小的超级快&#xff0c;因为好几个项目&#xff0c;甚至有的项目包已经占了50多G&#xff0c;这都得益于上一个刚走了的laji npm install -g depcheck 一旦安装了depCheck&#xff0c;您可以在命令行…

通过 Github workflows CI/CD 自动化部署 Github Pages hugo 免费博客

通过 Github workflows CI/CD 自动化部署 Github Pages hugo 免费博客 文章博客地址&#xff1a;https://blog.taoluyuan.com/posts/github-workflows/ Github Workflows 介绍 GitHub Actions 介绍 GitHub 文档&#xff1a;https://docs.github.com/zh/actions/learn-githu…

相机的畸变矫正与opencv代码说明

相机的畸变矫正与opencv代码说明 简介鱼眼模型的畸变校正针孔模型的畸变校正 简介 图像算法中会经常用到摄像机的畸变校正&#xff0c;有必要总结分析OpenCV中畸变校正方法&#xff0c;其中包括普通针孔相机模型和鱼眼相机模型fisheye两种畸变校正方法。普通相机模型畸变校正函…

机器人专业讲师与科技的转型思考

2023年以前&#xff0c;编程需要学习各种语法&#xff0c;现在只需要提示词。 未来还需要编程老师吗&#xff1f;需求一定越来越少。 “ Prompting TurtleSim from ChatGPT ” https://github.com/mhubii/chatgpt_turtlesim The demo lets ChatGPT call into ROS services …

左孩子右兄弟路径之谜

题目 对于一棵多叉树&#xff0c;我们可以通过 “左孩子右兄弟” 表示法&#xff0c;将其转化成一棵二叉树。 如果我们认为每个结点的子结点是无序的&#xff0c;那么得到的二叉树可能不唯一。 换句话说&#xff0c;每个结点可以选任意子结点作为左孩子&#xff0c;并按任意顺序…

开源版社区团购系统源码 含小程序完整前后端+搭建教程+私有化部署

分享一个社区团购系统源码&#xff0c;源码开源可自由二开&#xff0c;含小程序完整前后端和详细的搭建教程&#xff0c;可私有化部署终身使用&#xff0c;功能界面diy团长供应商拼团秒杀优惠券菜谱积分群接龙充值预售配送等功能。 系统功能一览&#xff1a; 1、商品&#xf…

企业级应用:检测服务是否正常运行

1.说明&#xff1a; 在公司日常小项目中&#xff0c;会遇到一些小需求&#xff0c;比如&#xff1a;检测服务是否正常运行。 当一个经验不是很足的项目经理&#xff0c;让你写一个接口&#xff0c;然后检测服务是否正常运行啦。 然后你说阿里云有自动检测的接口&#xff0c;…

一文说明ROS中URDF和SRDF分别是什么

文章目录 前言一、功能作用说明URDFSRDF 二、样例文件说明URDF文件例子SRDF文件例子 总结 前言 URDF全称为Unified Robot Description Format&#xff0c;中文可以翻译为“统一机器人描述格式”。与计算机文件中的.txt文本格式、.jpg图像格式等类似&#xff0c;URDF是一种基于…

浅谈TCP IP协议(二)IP地址

上一节大致了解TCP/IP协议栈是个啥东西&#xff0c;依旧是雾里看花的状态&#xff0c;有很多时候学一门新知识时&#xff0c;开头总是很急躁&#xff0c;无从下手&#xff0c;刚学会一点儿&#xff0c;却发现连点皮毛都不算&#xff0c;成就感太低&#xff0c;所以任何时候学习…

JavaScript 中的 Window.open() 用法详解

文章目录 1 方法介绍2 参数说明3 使用示例3.1 当前窗口中打开网页3.2 新窗口中打开网页3.3 在独立窗口中打开一个指定大小和位置的网页 1 方法介绍 window.open() 方法是 JavaScript 中的一个内置方法&#xff0c;用于在浏览器中打开一个新的窗口或标签页。 这个方法的语法是…

《五》 Git 中的标签和分支

标签 tag&#xff1a; Git 可以给仓库中某一次 commit 的提交打上标签。对于重大的版本经常会打上一个标签来表示它的重要性。 创建标签&#xff1a; git tag【tag 名称】&#xff1a;创建标签。 查看标签&#xff1a; git tag&#xff1a;查看标签。 推送标签到远程仓库…

【计算机视觉 | 目标检测】arxiv 计算机视觉关于目标检测的学术速递(5月30日论文合集)

文章目录 一、检测相关(16篇)1.1 Contextual Object Detection with Multimodal Large Language Models1.2 Towards minimizing efforts for Morphing Attacks -- Deep embeddings for morphing pair selection and improved Morphing Attack Detection1.3 Mining Negative Tem…

Pytorch CIFAR10图像分类 ShuffleNet篇

Pytorch CIFAR10图像分类 ShuffleNet篇 文章目录 Pytorch CIFAR10图像分类 ShuffleNet篇4. 定义网络&#xff08;ShuffleNet&#xff09;Channel Shuffle网络单元 Shuffle UnitShuffleNet 网络结构summary查看网络测试和定义网络 5. 定义损失函数和优化器6. 训练及可视化&#…