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

tar命令:压缩、解压的好工具

一、命令简介

  • 用途: tar​ 命令用于创建归档文件(tarball),以及从归档文件中提取文件。

  • 标签: 文件管理,归档。

  • 特点:

    • 归档文件可以保留原始文件和目录的层次结构,通常使用 .tar ​或 .tar.gz ​作为文件扩展名。
    • 对打包文件进行压缩以节省空间或传输带宽。

二、命令参数

2.1命令格式

tar [选项] [归档文件] [文件或目录]

2.2选项和参数

  • 选项:

    • -c​:创建归档文件(Create)
    • -x​:从归档文件中提取文件(eXtract)
    • -v​:显示详细信息(Verbose)
    • -f​:指定归档文件的名称(File)
    • -z​:使用 gzip 压缩或解压缩(gzip)
    • -j​:使用 bzip2 压缩或解压缩(bzip2)
    • -r​:向归档文件中追加文件(append)
    • -t​:列出归档文件的内容(List)
  • 参数:

    • 归档文件​:要创建或操作的归档文件的名称。
    • 文件或目录​:要添加到归档文件中或从中提取的文件或目录。

三、命令示例

3.1创建归档文件

简单的示例:通过以下命令将文件 file1 和 file2 ,文件夹 catalog 打包到 archive.tar

tar -cvf archive.tar file1 file2 catalog/

压缩:通常,使用 -z 选项压缩 tar 包的体积。接下来我们将/bin 目录下所有内容打包。

#仅打包,不压缩
sudo tar -cvf archive.tar /bin/*#打包且压缩
sudo tar -czvf archive.tar.gz /bin/*

对比:不压缩为 500MB+,压缩为 200MB+,可见 gz 压缩效果还是很明显的。

Clip_2024-09-28_21-06-39

优点:节省的硬盘体积,减少了网络传输时的流量和时间。

缺点(代价):原本打包、解包可以秒完成。使用压缩后,需要消耗额外的算力和时间来完成压缩、解压过程。即便如此,多数时候,依然选择使用压缩。

3.2列出归档文件

有时我们希望看看 tar 包里面有些什么东西,而不是直接解开它,可以使用以下命令:

tar -tvf archive.tar

例如刚才打包的 tar 包,使用-tvf 就可以看到 tar 包中的文件列表:

Clip_2024-09-28_21-40-40

3.3解压缩归档文件

解包到当前目录


tar -xvf archive.tar# tar.gz
tar -czvf archive.tar.gz

解包到指定目录

tar -xvf archive.tar -C /path/to/target/directory

例如,将刚才打包的文件解包到 ./dir-test ​目录,目录必须先创建。

mkdir dir-test
tar -xvf archive.tar -C dir-test

如果不想看解包过程,就不要使用-v 选项。

Clip_2024-09-28_22-57-44

3.4测试不同压缩选项

只是片面的测试,不是综合测试。

3.4.1测试
  • -z 选项(已学):使用 gzip 压缩、解压
  • -j 选项:使用 bzip2 压缩、解压

用法是类似的,-z 换成 -j 即可,如下(顺便瞧瞧两种压缩方式的效率,time 命令统计执行时间)

# 打包
## 不压缩
time tar -cf  new.tar     /bin/*
## gzip压缩
time tar -czf new.tar.gz  /bin/*
## bzip2压缩
time tar -cjf new.tar.bz2 /bin/*# 创建文件夹,用来装解压文件
mkdir 文件夹 文件夹1-gz 文件夹2-bz2# 解包
## 不压缩
time tar -xf  new.tar    -C 文件夹
## gzip压缩
time tar -xzf new.tar.gz -C 文件夹1-gz
## bzip2压缩
time tar -xjf new.tar.bz2 -C 文件夹2-bz2

3.4.2测试结果

压缩耗时:

  • gzip:28 秒
  • bz2:51 秒
  • 不压缩:1 秒

文件大小:

  • gzip:213 MB
  • bz2:197 MB
  • 不压缩:590 MB

Clip_2024-09-28_23-28-27

解压耗时:

  • gzip:5 秒
  • bz2:23 秒
  • 不压缩:1 秒

Clip_2024-09-28_23-33-43

3.4.3选择压缩选项
  • gzip压缩可以满足大多数情况:既可以压缩体积,也不用等待太久。
  • 不压缩可以秒打包、解包。
  • bzip2可以最大压缩体积。

3.5规范后缀

规范的后缀 .tar​、.tar.gz​、.tar.bz2 ​可以让人一眼分辨出应该使用哪个命令去解压缩包。

Linux 系统不以后缀名来决定文件类型,而是通过文件的 inode 信息来确定。inode 包含了文件的元数据,如文件的大小、创建时间、最后修改时间、权限等,以及一个指向文件数据块的指针。

3.6结语

tar​ 命令是在 Linux 系统中非常常用的工具,用于管理文件和目录的归档和解压缩。通过掌握 tar​ 命令的基本用法,您可以方便地打包和解压文件,进行文件备份和迁移等操作。

相关文章:

tar命令:压缩、解压的好工具

一、命令简介 用途: tar​ 命令用于创建归档文件(tarball),以及从归档文件中提取文件。 标签: 文件管理,归档。 特点: 归档文件可以保留原始文件和目录的层次结构,通常使用 .tar ​…...

Mac电脑上最简单安装Python的方式

背景 最近换了一台新的 MacBook Air 电脑,所有的开发软件都没有了,需要重新配环境,而我现在最常用的开发程序就是Python。这篇文章记录一下我新Mac电脑安装Python的全过程,也给大家一些思路上的提醒。 以下是我新电脑的配置&…...

Linux基础命令cd详解

cd(change directory)命令是 Linux 中用于更改当前工作目录的基础命令。它没有很多复杂的参数,但它的使用非常频繁。以下是 cd 命令的详细说明及示例。 基本语法 cd [选项] [路径] 常用选项 -L : 使用逻辑路径(默认选项&…...

【大模型对话 的界面搭建-Open WebUI】

Open WebUI 前身就是 Ollama WebUI,为 Ollama 提供一个可视化界面,可以完全离线运行,支持 Ollama 和兼容 OpenAI 的 API。 github网址 https://github.com/open-webui/open-webui安装 第一种 docker安装 如果ollama 安装在同一台服务器上&…...

如何在算家云搭建text-generation-webui(文本生成)

一、text-generation-webui 简介 text-generation-webui 是一个流行的用于文本生成的 Gradio Web UI。支持 transformers、GPTQ、AWQ、EXL2、llama.cpp (GGUF)、Llama 模型。 它的特点如下, 3 种界面模式:default (two columns), notebook, chat支持多…...

【Java SE】初遇Java,数据类型,运算符

🔥博客主页🔥:【 坊钰_CSDN博客 】 欢迎各位点赞👍评论✍收藏⭐ 1. Java 概述 1.1 Java 是什么 Java 是一种高级计算机语言,是一种可以编写跨平台应用软件,完全面向对象的程序设计语言。Java 语言简单易学…...

XSS(内含DVWA)

目录 一.XSS的攻击方式: 1. 反射型 XSS(Reflected XSS) 2. 存储型 XSS(Stored XSS) 3. DOM型 XSS(DOM-based XSS) 总结 二..XSS的危害 三.常见的XSS方式 1.script标签 四.常见基本过滤方…...

【SpringCloud】环境和工程搭建

环境和工程搭建 1. 案例介绍1.1 需求1.2 服务拆分服务拆分原则服务拆分⽰例 2. 项目搭建 1. 案例介绍 1.1 需求 实现⼀个电商平台(不真实实现, 仅为演⽰) ⼀个电商平台包含的内容⾮常多, 以京东为例, 仅从⾸⻚上就可以看到巨多的功能 我们该如何实现呢? 如果把这些功能全部…...

基于Java开发的(控制台)模拟的多用户多级目录的文件系统

多级文件系统 1 设计目的 为了加深对文件系统内部功能和实现过程的理解,设计一个模拟的多用户多级目录的文件系统,并实现具体的文件物理结构、目录结构以及较为完善的文件操作命令集。 2 设计内容 2.1系统操作 操作命令风格:本文件系统的…...

tailwindcss group-hover 不生效

无效 <li class"group"><div class"tw-opacity-0 group-hover:tw-opacity-100" /> </li>配了tw前缀&#xff0c;group要改成tw-group // tailwind.config.jsmodule.exports {prefix: "tw-", }<li class"tw-group&q…...

python环境配置问题(个人经验)

很久没配置 python 新环境了&#xff0c;最近新项目需要进行配置&#xff0c;在配置过程中发现了不少问题&#xff0c;记录下。 问题1&#xff1a;fatal error: longintrepr.h: 没有那个文件或目录 这个问题的原因是新环境的 python 版本(3.10以上)与本地的版本(3.8.x)差异过…...

BERT训练之数据集处理(代码实现)

目录 1读取文件数据 2.生成下一句预测任务的数据 3.预测下一个句子 4.生成遮蔽语言模型任务的数据 5.从词元中得到遮掩的数据 6.将文本转化为预训练数据集 7.封装函数类 8.调用 import os import random import torch import dltools 1读取文件数据 def _read_wiki(data_d…...

一款辅助渗透测试过程,让渗透测试报告一键生成

《网安面试指南》http://mp.weixin.qq.com/s?__bizMzkwNjY1Mzc0Nw&mid2247484339&idx1&sn356300f169de74e7a778b04bfbbbd0ab&chksmc0e47aeff793f3f9a5f7abcfa57695e8944e52bca2de2c7a3eb1aecb3c1e6b9cb6abe509d51f&scene21#wechat_redirect 《Java代码审…...

力扣最热一百题——颜色分类

目录 题目链接&#xff1a;75. 颜色分类 - 力扣&#xff08;LeetCode&#xff09; 题目描述 示例 提示&#xff1a; 解法一&#xff1a;不要脸用sort Java写法&#xff1a; 运行时间 解法二&#xff1a;O1指针 Java写法&#xff1a; 重点 运行时间 C写法&#xff1a;…...

2024年工业制造企业CRM研究报告:需求清单、市场格局、案例分析

我国是世界上产业体系最完备的国家&#xff0c;拥有全球规模最大、门类最齐全的生产制造体系&#xff0c;在500种主要工业产品中&#xff0c;有四成以上产品产量位居全球第一。2023年制造业增加值达33万亿元&#xff0c;占世界的比重稳定在30%左右&#xff0c;我国制造业增加值…...

Spring MVC参数接收 总结

1. 简介 Spring MVC可以简化从前端接收参数的步骤。 2. Param传参 通过设定函数入参和添加标记来简化接受&#xff1a; //参数接收 RequestMapping("product") ResponseBody //接受/product?productgoods&id123 //1.名称必须相同&#xff0c;2.不传值不会不…...

Docekrfile和docker compose编写指南及注意事项

Dockerfile 基础语法 我们通过编写dockerfile,将每一层要做的事情使用语法固定下来&#xff0c;之后运行指令就可以通过docker来制作自己的镜像了。 构建镜像的指令&#xff1a;docker build /path -t imageName:tag 注意&#xff0c;docker build后的path必须是dockerfile…...

VITS源码解读6-训练推理

1. train.py 1.1 大体流程 执行main函数&#xff0c;调用多线程和run函数执行run函数&#xff0c;加载日志、数据集、模型、模型优化器for循环迭代数据batch&#xff0c;每次执行train_and_evaluate函数&#xff0c;训练模型 这里需要注意&#xff0c;源码中加载数据集用的分…...

力扣 简单 104.二叉树的最大深度

文章目录 题目介绍解法 题目介绍 解法 如果知道了左子树和右子树的最大深度 l 和 r&#xff0c;那么该二叉树的最大深度即为max(l,r)1&#xff0c;而左子树和右子树的最大深度又可以以同样的方式进行计算。因此我们可以用递归的方法来计算二叉树的最大深度。具体而言&#xff…...

单片机长短按简单实现

单片机长短按简单实现 目录 单片机长短按简单实现1 原理2 示例代码2.1 按键实现 3 测试log4 其他实现方式 1 原理 按键检测和处理的步骤如下&#xff1a; 1&#xff1a;定时扫描按键&#xff08;使用定时器定时扫描&#xff0c;也可以用软件延时或者系统心跳之类的方式&#…...

Simulink模型到AUTOSAR RTE的‘最后一公里’:手把手教你处理ARXML接口冲突并自动配置ISOLAR

Simulink模型到AUTOSAR RTE的‘最后一公里’&#xff1a;手把手教你处理ARXML接口冲突并自动配置ISOLAR 在汽车电子软件开发中&#xff0c;Simulink与AUTOSAR工具链的集成已经成为行业标配。但当你满怀期待地将Simulink模型导出为ARXML文件&#xff0c;准备导入ISOLAR进行后续开…...

保姆级教程:在Ubuntu 20.04上用Docker搞定GPUStack,让Atlas 300I Duo推理卡跑通LLM

保姆级教程&#xff1a;Ubuntu 20.04Docker部署GPUStack全流程指南&#xff08;Atlas 300I Duo专版&#xff09; 最近在折腾Atlas 300I Duo这块推理卡的朋友应该都深有体会——虽然硬件性能强悍&#xff0c;但要让它在Ubuntu系统上顺利跑起大语言模型&#xff0c;光驱动和依赖就…...

霍尔电流传感器原理与应用全解析

霍尔电流传感器测量原理深度解析 1. 霍尔效应电流测量基础 1.1 霍尔效应原理 霍尔效应是电流测量的基础物理现象&#xff0c;当导体或半导体薄片置于磁场中&#xff0c;并在其两端施加控制电流时&#xff0c;垂直于电流和磁场方向的两侧会产生电势差&#xff0c;这种现象称为…...

实时数据复制技术在大数据平台中的应用与实践

实时数据复制技术在大数据平台中的应用与实践关键词&#xff1a;实时数据复制、大数据平台、CDC&#xff08;变更数据捕获&#xff09;、数据同步、数据一致性、分布式系统、ETL摘要&#xff1a;本文深入探讨了实时数据复制技术在大数据平台中的核心应用场景与实践方法。我们将…...

半导体制冷片温控实战:H桥PWM驱动电路设计与单片机PID参数整定避坑指南

半导体制冷片温控实战&#xff1a;H桥PWM驱动电路设计与单片机PID参数整定避坑指南 在DIY恒温装置或小型冷热台时&#xff0c;半导体制冷片&#xff08;帕尔贴&#xff09;因其紧凑结构和快速温变特性成为理想选择。但真正实现0.5℃级别的精准温控&#xff0c;需要跨越硬件驱动…...

2026 年 OpenClaw 生态选型指南:从「红色龙虾」到国产「小龙虾」

2026 年初&#xff0c;一只名为 OpenClaw 的「红色龙虾」长期占据 GitHub 热度前列&#xff0c;星标在公开页面上已达到 三十万量级&#xff08;具体数字每日波动&#xff09;。业界常把它描述为 AI 从「只会聊」走向「能替你办事」的一块试金石&#xff1a;不是多一个聊天窗口…...

PaddleOCR方向分类器优化:基于文本矩形框筛选的准确率提升实践

1. 为什么需要优化PaddleOCR方向分类器 在实际项目中&#xff0c;我们经常遇到需要处理各种方向文本图片的场景。PaddleOCR作为一款优秀的开源OCR工具&#xff0c;虽然内置了方向分类功能&#xff0c;但在实际使用中发现&#xff0c;对于90度和270度旋转的文本图片&#xff0c;…...

相对位置偏置在视觉Transformer中的应用:为什么Swin Transformer离不开它?

相对位置偏置&#xff1a;视觉Transformer中空间建模的隐形引擎 在计算机视觉领域&#xff0c;Transformer架构正逐步取代传统CNN成为图像理解的新范式。然而&#xff0c;将最初为序列数据设计的Transformer直接应用于二维图像数据时&#xff0c;一个关键挑战浮现&#xff1a;…...

信号分析避坑指南:MATLAB里算相位差,为什么你的结果总是不准?

MATLAB相位差计算避坑指南&#xff1a;从频谱泄漏到四象限陷阱的深度解析 在信号处理领域&#xff0c;相位差计算看似简单却暗藏玄机。许多工程师在使用MATLAB进行相位差分析时&#xff0c;经常会遇到结果跳变、误差过大甚至完全不符合预期的情况。这并非MATLAB的"bug&quo…...

如何用ADB提升调试效率?掌握这8个核心技巧

如何用ADB提升调试效率&#xff1f;掌握这8个核心技巧 【免费下载链接】awesome-adb ADB Usage Complete / ADB 用法大全 项目地址: https://gitcode.com/gh_mirrors/aw/awesome-adb ADB&#xff08;Android Debug Bridge&#xff09;是Android调试的瑞士军刀&#xff0…...