【Linux】文件打包解压_tar_zip

embedded/2024/10/18 16:51:19/

文章目录

  • 📑引言:
  • 一、文件打包压缩
    • 1.1 什么是文件打包压缩?
    • 1.2 为什么需要文件打包压缩?
  • 二、打包解压
    • 2.1 zip
    • 2.2 unzip
    • 2.3 tar指令
  • 🌤️全篇小结:

📑引言:

Linux操作系统中,文件打包压缩是一项常见而重要的任务。这一过程旨在将多个文件或目录组合成一个单一的文件,并通过压缩算法减小其占用的磁盘空间。本文将探讨文件打包压缩的概念、为什么在Linux中需要进行这一过程以及如何实现这一任务。

一、文件打包压缩

1.1 什么是文件打包压缩?

文件打包压缩是将多个文件或目录合并成一个文件,并通过压缩算法减小其大小的过程。这一过程有助于文件的整理、存储空间的节省以及文件传输时的效率提升。在Linux系统中,常用的工具有tar,zip等。

1.2 为什么需要文件打包压缩?

  1. 节省存储空间: 文件打包压缩可以显著减小文件占用的磁盘空间。这对于大型文件或者需要长期存储的文件非常重要,可以有效降低存储成本。
  2. 加速文件传输: 压缩文件在传输过程中占用更少的带宽,因此文件传输速度更快。特别是在网络环境下,压缩文件可以显著提升数据传输的效率。
  3. 整理文件结构: 文件打包可以将多个相关文件或整个目录结构组织成一个单一文件,使得文件的管理和维护更加方便。这对于备份文件或将文件传递给他人都非常有用。
  4. 备份和归档: 打包压缩是进行文件备份和归档的常见方式。通过将文件打包成一个压缩文件,可以更方便地进行备份,并且可以节省备份存储空间。

二、打包解压

2.1 zip

语法:

zip [-options] 压缩文件.zip  目录或文件

功能: 将指定目录或文件压缩成zip格式的归档文件。
常用选项:

  • -r 递归处理,将指定目录下的所有文件和子目录一并处理。

示例:

# 将test2目录压缩
zip -r test2.zip test2/*

2.2 unzip

语法:

unzip [-options] [zip.目录或文件]

功能: 解压缩zip格式的归档文件。
示例:

# 解压到tmp目录
unzip test2.zip -d /tmp

2.3 tar指令

tar [-cxtzjvf] 文件与目录 …
参数:

  • -c :建立一个压缩文件的参数指令(create 的意思);
  • -x :解开一个压缩文件的参数指令!
  • -t :查看 tarfile 里面的文件!
  • -z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
  • -j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
  • -v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
  • -f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
  • -C : 解压到指定目录

打包:

tar -czf cs.tgz cs

把cs目录打包成tgz后缀的压缩包,-czf理解成一个选项,创建一个cs.tgz压缩包。
解包:

tar -xzf cs.tgz

cs.tgz压缩包进行解压,-xzf理解成一个选项,解压包。

🌤️全篇小结:

文件打包压缩在Linux系统中是一个非常有用的工具,它通过整理文件、节省存储空间、加速文件传输等方式提高了文件管理的效率。通过使用 tarzip 等工具,可以轻松地实现文件的打包和压缩,从而更高效地管理和维护文件。

linux.png


http://www.ppmy.cn/embedded/28331.html

相关文章

dolphinscheduler使用与测试文档

文章目录 dolphinscheduler使用与测试文档1. 安全中心(Security)1.1 队列管理(Queue manage)1.2 租户管理(Tenant Manage)3 用户管理(User Manage)1.4 告警组管理(Warning group manage)1.5 Workers分组管理(Worker group manage)1.6 令牌管理(Token manage)2. 监…

0425DormAJAX项目

0425DormAJAX项目包-CSDN博客 数据库字段 添加界面: 初始状态: 点击性别,宿舍号使用ajax动态添加: 学生主界面: 实现分页查询: 点击修改学生宿舍,查看换寝记录,ajax动态显示列表&…

Java使用POI库对excel进行操作

excel转为图片 这个操作是要根据excel一行一行画出来的 package com.gxuwz.zjh.util;import java.awt.BasicStroke; import java.awt.Color; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Graphics2D; import java.awt.RenderingHints; import java.…

GitHub介绍,GitHub如何订阅充值?

一、GitHub介绍 GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名Github。 GitHub于2008年4月10日正式上线,除了git代码仓库托管及基本的Web管理界面以外,还提供了订阅、讨论组、…

揭秘APP应用分发:一站式流程与优化 - 小猪APP分发平台(推广)

APP应用分发揭秘APP应用分发:一站式流程与优化 - 小猪APP分发平台的定义与流程 APP应用分发揭秘APP应用分发:一站式流程与优化 - 小猪APP分发平台,简单来说,就是将开发完成的APP通过一些特定的渠道发布到用户手中的过程。这个流程…

CSS3 animation (动画) 属性

keyframes规定动画 animation 所有动画属性的简写属性,除了animation-play-state属性。 animation-name 动画的名称 (必须的) animation-duration 完成一共用的时间,默认是0s (必须的) animation-timin…

无人机+大载重+长航时:油电混动多旋翼无人机技术详解

多旋翼无人机是一种具有三个及以上旋翼轴的特殊的无人驾驶旋翼飞行器。具有稳定性强、操控简单、勤务性高、价格便宜等优势,因此在市场上的应用非常广泛。此外,利用地面供电的绳系多旋翼通过电缆向多旋翼持续传输电能,可以大大提高多旋翼的空…

【Jenkins】持续集成与交付 (七):Gitlab添加组、创建用户、创建项目和源码上传到Gitlab仓库

🟣【Jenkins】持续集成与交付 (七):Gitlab添加组、创建用户、创建项目和源码上传到Gitlab仓库 1、创建组2、创建用户3、将用户添加到组中4、在用户组中创建项目5、源码上传到Gitlab仓库5.1 初始化版本控制5.2 将文件添加到暂存区5.3 提交代码到本地仓库5.4 推送代码到 Git…