当前位置: 首页 > news >正文

Shell文档归档、压缩与解压

Shell文档归档、压缩与解压

      • 1、文件归档与压缩
      • 2、zip、gzip与tar指令
        • 2.1、zip指令
        • 2.2、gzip指令
        • 2.3、tar指令




1、文件归档与压缩


归档文件是指将一组文件或目录保存到一个文件中;压缩文件是指将一组文件或目录按照某种存储格式保存到一个文件中,所占磁盘空间比其中所有文件总大小要少

归档文件是没有经过压缩的,它所使用的磁盘空间等于其所有文件大小的总和。因而,用户可以将归档文件再进行压缩,使其容量更小

gzip是Linux中最流行的压缩工具,具有较好的移植性,可在不同架构的系统中使用。如果用户需要经常在Linux与Windows之间交换文件,建议使用zip

目前,归档文件使用最广泛的是tar命令,tar可以将若干文件或目录合并到一个称为tarfile的文件中,最初的设计目的是将文件备份到磁带(Tape ARchive)上,因而得名tar,通常文件扩展名为.tar,然后,再使用zipgzip等压缩工具进行压缩

压缩工具解压工具文件扩展名
zipunzip.zip
gzipgunzip.gz
tartar.gz.tgz.bz2

在Linux系统中,通常更倾向于使用.tar的压缩文件格式,因为.tar文件本身并不是压缩文件,而是一种归档文件格式

2、zip、gzip与tar指令

2.1、zip指令

zip指令可以压缩文件或目录,一般后缀名为.zip,压缩后不覆盖源文件,并且能够保留文件的原始结构和属性,其语法格式如下:

zip [选项] 文件名.zip 文件/目录

常用选项如下:

  • -r:递归压缩,将目录下的所有文件和子目录全部压缩

例如,压缩/etc/目录(压缩文件名为etc.zip):

zip -r etc.zip /etc/

unzip指令对zip压缩文件进行解压缩,其语法格式如下:

unzip 文件名.zip [-d dir]

其中,-d可用于指定解压目标目录,例如:

unzip etc.zip -d ./test/
2.2、gzip指令

gzip指令只能用来压缩文件,不能压缩目录,即使指定了目录,也只能压缩目录里的所有文件,一般后缀名为.gz,压缩后会删除源文件,该命令会自动在当前文件名后添加扩展名.gz,其语法格式如下:

gzip [选项] 文件名

常用选项如下:

  • -num:指定压缩比率,可选有1~9等级,默认为6
  • -d:将文件解压,功能与gunzip相同
  • -l:查看压缩文件的信息,包括文件数、大小、压缩比等参数

例如,压缩log.txt文件为log.txt.gz

gzip log.txt

gunzip指令用于解压缩gzip压缩的文件,其语法格式如下:

gunzip [选项] 文件名.gz

值得注意的是,选项-f用于解压缩文件时,对覆盖同名文件不做提示(如果目标文件已经存在,不会进行提示,直接覆盖),在执行该命令后,它将删除旧的未压缩的文件并只保留已压缩的版本

2.3、tar指令

tar指令用于将Linux文件和目录创建为归档文件或将归档文件还原为文件和目录。此外,tar也可以在归档文件中改变文件,或者向归档文件中添加新的文件

tar可用于压缩与解压缩。正向是打包与压缩,反向是解压缩与还原。打包是指将若干文件或目录变成一个总文件,压缩则是将一个总文件通过一些压缩算法(gzipbzip2)变成一个小文件。反之,解压缩与还原刚好是相反的过程

tar指令的语法格式如下:

tar [选项] 归档/压缩文件 文件/目录 

常用选项如下:

  • -c:创建一个新的归档文件
  • -z:由tar生成归档,然后由gzip命令压缩或解压归档
  • -j:由tar生成归档,然后由bzip2命令压缩或解压归档
  • -v:显示指令执行归档或释放的过程信息
  • -f:用户指定归档文件的文件名,否则使用默认名称tar
  • -x:释放归档文件,从归档提取文件
  • -C:将归档工作目录从当前目录改为指定目录,对顺序敏感,即影响其后的所有选项

例如,指定打包为.dat归档文件并使用gzip进行压缩:

tar -czvf test.dat.gz ./test.dat/

压缩后的文件名称为test.dat.gz

例如,将归档并使用gzip压缩的文件解压到指定目录下:

tar -zxf test.dat.gz -C ../test/

解压缩后在test目录下可看到名为test.dat的目录



相关文章:

Shell文档归档、压缩与解压

Shell文档归档、压缩与解压 1、文件归档与压缩2、zip、gzip与tar指令2.1、zip指令2.2、gzip指令2.3、tar指令 1、文件归档与压缩 归档文件是指将一组文件或目录保存到一个文件中;压缩文件是指将一组文件或目录按照某种存储格式保存到一个文件中,所占磁盘…...

【Bluedroid】AVRCP 连接源码分析(一)

一、AVRCP协议简介 AVRCP(Audio/Video Remote Control Profile)是蓝牙协议栈中的一个重要部分,它定义了蓝牙设备之间的音视频传输控制的流程和特点。AVRCP使得用户可以通过一个蓝牙设备(如手机)远程控制另一个蓝牙设备(如蓝牙耳机或音箱)上的音视频播放,如播放、暂停、…...

CMake入门

1.什么是CMake Makefile想必大家都不陌生吧,它能够解决我们的自动化编译问题,大多是IDE软件都集成了make,譬如 Visual C的 nmake、linux 下的 GNU make、Qt 的 qmake 等等。 不同的IDE所集成的make工具所遵循的规范和标准都不同,也…...

基于vite6创建项目

pnpm create vue vite已自动配置路径,在.config.js jsconfig.json 中 按需引用element-plus 官网中有 pnpm install element-plus npm install -D unplugin-vue-components unplugin-auto-import // vite.config.ts import { defineConfig } from vite import Aut…...

简单封装一个websocket构造函数

问题描述 最近维护一个老项目,发现项目中有大量重复代码,特别是websocket的调用这一块,同样的代码复制了十几个页面,于是自己封装了一个websocket调用的构造函数。 export default class CreateWebSocket {constructor(url) {//…...

大模型产品Deepseek(八)、数据嵌入+知识库管理+联网搜索,实现精准的知识查询

如何将数据嵌入到DeepSeek中以实现精准的知识查询 1. 目标 DeepSeek是一个强大的基于大模型的知识查询工具,能够通过数据嵌入和智能查询功能提供精确的答案。本文将详细介绍如何在DeepSeek中进行数据嵌入,以便最大化其在实际应用中的价值。 2. 推荐使用的Page Assist插件 …...

探索Vue:数字翻滚动画的实现与优化

在前端开发中,动画效果总能为用户界面增添一抹生动与趣味。今天,我们将深入剖析一个基于Vue 3实现的数字翻滚动画组件,从代码结构到功能实现,再到性能优化,一步步揭开它的神秘面纱。 组件概述 这个Vue组件名为Number…...

POI pptx转图片

前言 ppt页面预览一直是个问题&#xff0c;office本身虽然有预览功能但是收费&#xff0c;一些开源的项目的预览又不太好用&#xff0c;例如开源的&#xff1a;kkfileview pptx转图片 1. 引入pom依赖 我这个项目比较老&#xff0c;使用版本较旧 <dependency><gro…...

力扣LeetCode: 2506 统计相似字符串对的数目

题目&#xff1a; 给你一个下标从 0 开始的字符串数组 words 。 如果两个字符串由相同的字符组成&#xff0c;则认为这两个字符串 相似 。 例如&#xff0c;"abca" 和 "cba" 相似&#xff0c;因为它们都由字符 a、b、c 组成。然而&#xff0c;"aba…...

DeepSeek模型量化

技术背景 大语言模型&#xff08;Large Language Model&#xff0c;LLM&#xff09;&#xff0c;可以通过量化&#xff08;Quantization&#xff09;操作来节约内存/显存的使用&#xff0c;并且降低了通讯开销&#xff0c;进而达到加速模型推理的效果。常见的就是把Float16的浮…...

如何调整CAN位宽容忍度?

CAN位宽容忍度是指在控制器局域网络&#xff08;CAN, Controller Area Network&#xff09;中允许时钟同步的误差范围。这是CAN网络正常通信时的关键因素之一&#xff0c;因为CAN协议依赖位同步来确保多个节点在总线上正确解码数据。CAN位宽容忍度确保节点之间由于时钟偏差或抖…...

Versal - 基础6(Linux 开发 AIE-ML + 自动化脚本解析)

目录 1. 简介 2. 步骤解析 2.1 概览 2.1.1 步骤依赖关系 2.1.2 总目录结构 2.2 Vitis XPFM 2.2.1 Dir 2.2.2 Makefile 2.2.3 vitis_pfm.py 2.3 Kernels 2.3.1 Dir 2.3.2 Makefile 2.3.3 config 文件 2.4 AIE_app 2.4.1 Dir 2.4.2 Makefile 2.4.3 aie 要点 2.…...

乐享数科:供应链金融—三个不同阶段的融资模式

供应链金融是与产业链紧密结合的融资模式&#xff0c;它主要体现在订单采购、存货保管、销售回款这三个不同的业务阶段&#xff0c;并针对这些阶段提供了相应的金融服务。以下是这三个阶段中主要的融资模式及其特点&#xff1a; 供应链金融融资模式主要分为以下几种&#xff1…...

vmware虚拟机Ubuntu Desktop系统怎么和我的电脑相互复制文件、内容

1、先安装vmware workstation 17 player&#xff0c;然后再安装Ubuntu Desktop虚拟机&#xff0c;然后再安装vmware tools&#xff0c;具体可以参考如下视频&#xff1a; VMware虚拟机与主机实现文件共享&#xff0c;其实一点也不难_哔哩哔哩_bilibili 2、本人亲自试过了&…...

【React】React 基础(2)

JSX 是什么 JSX是一种 JavaScript 的语法扩展(extension), 也在很多地方称之为 JavaScript XML, 因为看起就是一段XML语法。它用于描述我们的Ul界面&#xff0c;并且其完成可以和 JavaScript 融合在一起使用&#xff1b; 为什么 React 选择使用 jsx&#xff1f; React 认为渲…...

DeepSeek接入Siri(已升级支持苹果手表)完整版硅基流动DeepSeek-R1部署

DeepSeek接入Siri&#xff08;已升级支持苹果手表&#xff09;完整版硅基流动DeepSeek-R1部署 **DeepSeek** 是一款专注于深度学习和人工智能的工具或平台&#xff0c;通常与人工智能、机器学习、自动化分析等领域有关。它的主要功能可能包括&#xff1a;深度学习模型搜索&…...

ASP.NET MVC AJAX 文件上传

如何使用 MVC 5 和 AJAX&#xff08;.NET Framework&#xff09;上传文件。 使用AJAX和ASP.NET MVC 上传文件 再简单不过了。对于最纯粹的人来说&#xff0c;这不需要使用jQuery。此代码实际上允许上传多个文件。 注意&#xff1a;以下代码示例支持 ASP.NET MVC 5。如果使用 .…...

npm使用了代理,但是代理软件已经关闭导致创建失败

如果在关闭前打开了vscode&#xff0c;此时vscode中的终端没有刷新&#xff0c;就会出现这个问题&#xff0c;最开始会一直转圈圈&#xff0c;直到超时&#xff0c;然后出现该报错 ❯ npm create vuelatest npm error code ECONNREFUSED npm error syscall connect npm error …...

Spring Boot定时任务原理

Spring Boot定时任务原理 在现代应用中&#xff0c;定时任务的调度是实现周期性操作的关键机制。Spring Boot 提供了强大的定时任务支持&#xff0c;通过注解驱动的方式&#xff0c;开发者可以轻松地为方法添加定时任务功能。本文将深入探讨 Spring Boot 中定时任务的实现原理…...

公文派2025:免费社区版重大安装更新!

大家好&#xff0c;感谢对「公文派」的支持。 距离上一次更新已经过去了将近一年的时间&#xff0c;今天我们带来了全新的免费2025社区版&#xff0c;该版本也是目前最新的版本&#xff0c;无需授权即可使用所有的功能。 我们先来看下本版本的更新及特色功能 聚合多个AI功能…...

Ubuntu24.04LTS的下载安装超细图文教程(VMware虚拟机及正常安装)

&#x1f638;个人主页&#x1f449;&#xff1a;神兽汤姆猫 &#x1f4d6;系列专栏&#xff1a;开发语言环境配置 、 Java学习 、Java面试 、Markdown等 学习上的每一次进步&#xff0c;均来自于平时的努力与坚持。 &#x1f495;如果此篇文章对您有帮助的话&#xff0c;请点…...

ES6相关操作

一.JavaScript的基础语法 1.Demo1.html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>JavaScrip…...

【运维】源码编译安装cmake

背景&#xff1a; 已经在本地源码编译安装gcc/g&#xff0c;现在源码安装cmake 下载源码 下载地址&#xff1a;CMake - Upgrade Your Software Build System 安装步骤&#xff1a; ./bootstrap --prefix/usr/local/cmake make make install 错误处理 1、提示找不到libmpc.…...

代码随想录_回溯

代码随想录_回溯 回溯 77.组合 77. 组合 给定两个整数 n 和 k&#xff0c;返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 思路: 回溯 优化: 剪枝 注意代码中i&#xff0c;就是for循环里选择的起始位置。 for (int i startIndex; i <…...

tauri2实现监听记住窗口大小变化,重启回复之前的窗口大小

要想实现记住窗口大小的功能&#xff0c;整体逻辑就是要监听窗口大小变化&#xff0c;将窗口大小保存下来&#xff0c;重启之后&#xff0c;读取保存的大小&#xff0c;然后恢复。这里可以使用rust层实现&#xff0c;也可以在前端实现。我这里就纯rust层实现了。 监听窗口变化…...

番茄工作法html实现

对比了deepseek-r1-online和本地部署的14b的版本&#xff0c;输出的输出的html页面。 在线满血版的功能比较强大&#xff0c;可以一次完成所有要求。14b版本的功能有一些欠缺&#xff0c;但是基本功能也是写了出来了。 input write a html named Pomodoro-clock which “hel…...

C++:dfs,bfs各两则

1.木棒 167. 木棒 - AcWing题库 乔治拿来一组等长的木棒&#xff0c;将它们随机地砍断&#xff0c;使得每一节木棍的长度都不超过 5050 个长度单位。 然后他又想把这些木棍恢复到为裁截前的状态&#xff0c;但忘记了初始时有多少木棒以及木棒的初始长度。 请你设计一个程序…...

【ORB-SLAM3】鲁棒核函数的阈值设置

问题背景 阈值 δ \delta δ 是 Huber 鲁棒核函数的重要参数。首先给出结论&#xff0c;在ORB-SLAM系列中&#xff0c;该阈值选取的原则为&#xff1a; 单目情况下&#xff0c;根据95%置信水平下两自由度卡方检验的临界值&#xff0c; δ \delta δ 设置为 5.991 \sqrt{5.9…...

四种常见图形库GLUT,SDL,SFML和GLFW简介

GLUT、SDL、SFML 和 GLFW 是四种常用的库&#xff0c;用于管理窗口、输入和上下文创建&#xff0c;通常与 OpenGL 结合使用以实现图形渲染。以下是它们的详细介绍、常用应用场合和具体案例。 1. GLUT&#xff08;OpenGL Utility Toolkit&#xff09; 简介 GLUT 是一个用于创建…...

C++类和对象进阶:初始化列表和static成员深度详解

C类和对象&#xff1a;初始化列表和static成员深度详解 1. 前言2. 构造函数初始化成员变量的方式2.1 构造函数体内赋值2.2 初始化列表2.2.1 初始化列表的注意事项 2.3 初始化列表的初始化顺序 3. 类的静态成员3.1 引入3.2 静态成员变量3.3 静态成员函数3.4 静态成员的注意事项3…...

[C#]C# winform部署yolov12目标检测的onnx模型

yolov12官方框架&#xff1a;github.com/sunsmarterjie/yolov12 【测试环境】 vs2019 netframework4.7.2 opencvsharp4.8.0 onnxruntime1.16.3 【效果展示】 【调用代码】 using System; using System.Collections.Generic; using System.ComponentModel; using System.…...

阿里云k8s服务部署操作一指禅

文章目录 DockerFile镜像操作阿里云k8s服务部署 DockerFile # 使用 JDK 17 官方镜像 # linux架构&#xff1a;FROM --platformlinux/amd64 openjdk:17-jdk-slim # arm架构&#xff1a;openjdk:17-jdk-slim FROM --platformlinux/amd64 openjdk:17-jdk-slim# 设置工作目录 WORK…...

Transformer LLaMA

一、Transformer Transformer&#xff1a;一种基于自注意力机制的神经网络结构&#xff0c;通过并行计算和多层特征抽取&#xff0c;有效解决了长序列依赖问题&#xff0c;实现了在自然语言处理等领域的突破。 Transformer 架构摆脱了RNNs&#xff0c;完全依靠 Attention的优…...

球队训练信息管理系统设计与实现(代码+数据库+LW)

摘 要 传统办法管理信息首先需要花费的时间比较多&#xff0c;其次数据出错率比较高&#xff0c;而且对错误的数据进行更改也比较困难&#xff0c;最后&#xff0c;检索数据费事费力。因此&#xff0c;在计算机上安装球队训练信息管理系统软件来发挥其高效地信息处理的作用&a…...

【存储中间件API】MySQL、Redis、MongoDB、ES常见api操作及性能比较

常见中间件api操作及性能比较 ☝️ MySQL crud操作✌️ maven依赖✌️ 配置✌️ 定义实体类✌️ 常用api ☝️ Redis crud操作✌️ maven依赖✌️ 配置✌️ 常用api ☝️ MongoDB crud操作✌️ maven依赖✌️ 配置文件✌️ 定义实体类✌️ MongoDB常用api ☝️ ES crud操作 ⭐️…...

UE_C++ —— Gameplay Classes

目录 一&#xff0c;Adding Classes 二&#xff0c;Class Headers Class Declaration Class Specifiers Metadata Specifiers 三&#xff0c;Class Implementation Class Constructor 引擎中每个游戏类都由一个类头文件&#xff08;.h&#xff09;和一个类源文件&#x…...

windows上vscode cmake工程搭建

安装vscode插件&#xff1a; 1.按装fastc&#xff08;主要是安装MinGW\mingw64比较方便&#xff09; 2.安装C&#xff0c;cmake&#xff0c;cmake tools插件 3.准备工作完成之后&#xff0c;按F1&#xff0c;选择cmake:Quick Start就可以创建一个cmake工程。 4.设置Cmake: G…...

软件测试:1、单元测试

1. 单元测试的基本概念 单元&#xff08;Unit&#xff09;&#xff1a;软件系统的基本组成单位&#xff0c;可以是函数、模块、方法或类。 单元测试&#xff08;Unit Testing&#xff09;&#xff1a;对软件单元进行的测试&#xff0c;验证代码的正确性、规范性、安全性和性能…...

如果后台的Long类型的数据返回是null,那么Android客户端的数据bean的kotlin的Long类型的字段接受到数据后是null空指针吗?

如果后台的Long类型的数据返回是null&#xff0c;那么Android客户端的数据bean的kotlin的Long类型的字段接受到数据后是null空指针吗&#xff1f; DeepSeek R1 思考 35 秒 思考过程 好的&#xff0c;用户的问题是关于在Android客户端使用Kotlin处理后台返回的Long类型数据为n…...

Vue3 打造 Windows 桌面个性高效组件工具

软件介绍 Widgets 这款基于 Vue3 构建的开源 Windows 桌面小部件工具超实用。 其多样化组件库涵盖超 20 种&#xff0c;从倒计时、打工进度等实用工具&#xff0c;到抖音热榜等实时资讯组件应有尽有&#xff0c;各组件独立运行&#xff0c;满足多场景需求。 高度自定义布局支持…...

学习笔记-沁恒第四讲-米醋

一&#xff0c; 语音模块&#xff1a;数据包发送 刷卡模块&#xff1a;数据包接收 AS608&#xff1a;数据包发送接收 二&#xff0c;第三讲文件夹改成第四讲&#xff0c;工程也改成第四讲 三&#xff0c;目前在内存里面。保存新值&#xff0c;掉电会丢失 u8 password[6]{1,…...

epoll_event的概念和使用案例

epoll_event 是 Linux 下 epoll I/O 多路复用机制的核心数据结构&#xff0c;用于描述文件描述符&#xff08;File Descriptor, FD&#xff09;上发生的事件及其关联的用户数据。通过 epoll&#xff0c;可以高效地监控多个文件描述符的状态变化&#xff08;如可读、可写、错误等…...

容器和虚拟机选择对比

1. 概述 如果主要需求是学习和测试 Ubuntu 下的命令行工具或服务型应用&#xff0c;推荐使用 Docker Docker 更轻量、更高效&#xff0c;适合快速搭建和销毁环境。 启用 WSL 2&#xff0c;Docker Desktop 是一个非常好的选择。 如果需要完整的桌面环境或进行复杂的系统级开…...

C++17中std::chrono::duration和std::chrono::time_point的舍入函数

文章目录 1. std::chrono::duration的舍入函数1.1 floor1.2 ceil1.3 round 2. std::chrono::time_point的舍入函数2.1 示例 3. 舍入函数的应用场景3.1 时间测量3.2 数据记录3.3 时间同步 4. 总结 在C17中&#xff0c; std::chrono库提供了一组强大的时间处理工具&#xff0c;包…...

基于SpringBoot的线上汽车租赁系统的设计与实现(源码+SQL脚本+LW+部署讲解等)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…...

基于Dancing Links的精确覆盖算法(解决NP难问题)和量子计算机模拟中的Shor算法(涉及数论与量子叠加态模拟)

一、Dancing Links算法实现数独求解(NP难问题) 算法方案 数独可转化为精确覆盖问题,使用Knuth提出的DLX算法实现高效求解。该算法通过双向十字循环链表实现快速回溯,时间复杂度可达O(n^k)(k为常数) #include <iostream> #include <vector> #include <c…...

体育品牌排行榜前十名:MLB·棒球1号位

MLB是一个融合了棒球文化与街头时尚元素的潮流运动品牌。以下是对该品牌的详细介绍&#xff1a; 一、品牌背景 • 全称&#xff1a;MLB全称是Major League Baseball&#xff0c;即美国职业棒球大联盟。不过&#xff0c;作为品牌的MLB并非由美国职业棒球大联盟直接运营&#x…...

Java网络编程封装

系列文章目录 Java知识点 文章目录 系列文章目录&#x1f449;前言&#x1f449;一、封装的目标&#x1f449;二、套接字层封装&#x1f449;壁纸分享&#x1f449;总结 &#x1f449;前言 Java 网络编程封装原理主要围绕着将底层的网络通信细节隐藏起来&#xff0c;提供简洁…...

数字内容体验标杆案例解析

内容概要 在数字化转型浪潮中&#xff0c;数字内容体验正成为企业构建核心竞争力的关键抓手。本文通过拆解金融、零售、文旅等领域的标杆案例&#xff0c;系统分析沉浸式设计与智能交互系统的技术融合路径&#xff0c;揭示头部企业如何通过XR技术、实时数据可视化及场景化内容…...

区块链相关方法-PEST分析

一、定义:一种用于分析企业外部宏观环境的工具。PEST 这四个字母分别代表政治&#xff08;Political&#xff09;、经济&#xff08;Economic&#xff09;、社会&#xff08;Social&#xff09;和技术&#xff08;Technological&#xff09;。这种分析方法帮助企业或组织了解宏…...