Linux压缩与解压命令完全指南:tar.gz、zip等格式详解

Linux压缩与解压命令完全指南:tar.gz、zip等格式详解

在Linux系统中,文件压缩和解压是日常操作中不可或缺的一部分。本文将全面介绍Linux下常用的压缩和解压命令,包括tar.gz、tar、zip等格式的区别和使用方法,帮助你高效管理文件。

一、Linux常见压缩格式对比

格式压缩工具特点适用场景
.tartar仅打包不压缩,保留文件权限和属性需要保留文件属性的归档
.tar.gzgzip压缩率高,速度较快,Linux最常用软件发布、日志归档
.tar.bz2bzip2压缩率比gzip高,但速度较慢对压缩率要求高的场景
.tar.xzxz压缩率最高,但速度最慢极致的空间节省需求
.zipzip跨平台兼容性好,Windows/Linux/macOS通用跨平台文件分享
.7z7z开源,压缩率极高,支持多种压缩算法需要极高压缩率的场景

二、tar命令详解

tar是Linux下最强大的归档工具,可以结合不同压缩程序实现高效压缩。

1. 基本打包与解包

# 打包文件/目录(不压缩)
tar -cvf archive.tar file1 file2 dir1# 查看tar包内容
tar -tvf archive.tar# 解包
tar -xvf archive.tar

参数说明:

  • -c:创建新的归档文件
  • -x:从归档中提取文件
  • -v:显示处理过程
  • -f:指定归档文件名
  • -t:列出归档内容

2. 压缩与解压tar.gz

# 压缩为tar.gz(使用gzip)
tar -czvf archive.tar.gz file1 dir1# 解压tar.gz
tar -xzvf archive.tar.gz# 解压到指定目录
tar -xzvf archive.tar.gz -C /target/directory

3. 压缩与解压tar.bz2

# 压缩为tar.bz2(使用bzip2)
tar -cjvf archive.tar.bz2 file1 dir1# 解压tar.bz2
tar -xjvf archive.tar.bz2

4. 压缩与解压tar.xz

# 压缩为tar.xz(使用xz)
tar -cJvf archive.tar.xz file1 dir1# 解压tar.xz
tar -xJvf archive.tar.xz

三、zip命令详解

zip格式因其跨平台特性,在Linux中也有广泛应用。

1. 压缩文件/目录

# 压缩文件
zip archive.zip file1 file2# 递归压缩目录
zip -r archive.zip dir1# 设置压缩级别(0-9,9最高)
zip -9 -r archive.zip dir1# 排除特定文件
zip -r archive.zip dir1 -x "*.tmp"

2. 解压zip文件

# 解压zip文件
unzip archive.zip# 解压到指定目录
unzip archive.zip -d /target/directory# 查看zip文件内容
unzip -l archive.zip# 静默解压(不显示输出)
unzip -q archive.zip

四、其他压缩工具

1. gzip/gunzip

# 压缩文件(会删除源文件)
gzip file.txt# 解压.gz文件
gunzip file.txt.gz# 压缩并保留源文件
gzip -c file.txt > file.txt.gz

2. bzip2/bunzip2

# 压缩文件
bzip2 file.txt# 解压.bz2文件
bunzip2 file.txt.bz2

3. 7z

# 安装7z(Ubuntu/Debian)
sudo apt install p7zip-full# 压缩文件/目录
7z a archive.7z file1 dir1# 解压7z文件
7z x archive.7z

五、实用技巧

  1. 批量解压当前目录所有zip文件

    find . -name "*.zip" -exec unzip {} \;
    
  2. 创建分卷压缩包(适合大文件):

    tar -cvzf - bigfile | split -b 100M - bigfile.tar.gz.
    
  3. 查看压缩文件内容不解压

    zcat file.gz         # 查看gzip压缩文件
    bzcat file.bz2       # 查看bzip2压缩文件
    unzip -l file.zip    # 查看zip文件内容
    
  4. 压缩时排除特定文件

    tar -czvf archive.tar.gz --exclude='*.tmp' dir1
    
  5. 网络传输时直接压缩/解压

    # 压缩并传输
    tar -czf - dir1 | ssh user@host "cat > /remote/path/archive.tar.gz"# 接收并解压
    ssh user@host "tar -czf - /remote/path" | tar -xzvf -
    

六、如何选择合适的压缩格式

  1. 需要最佳兼容性:选择.zip格式
  2. Linux系统使用,需要高压缩率:选择.tar.xz
  3. 平衡压缩率和速度:选择.tar.gz
  4. 需要保留文件权限和属性:使用tar格式(.tar/.tar.gz等)
  5. 需要极高压缩率:选择.7z格式

七、常见问题解决

  1. 解压时报"gzip: stdin: not in gzip format"错误

    • 可能原因:文件损坏或实际不是gzip格式
    • 解决方案:先用file命令检查实际文件类型
  2. tar: This does not look like a tar archive

    • 可能原因:文件损坏或格式错误
    • 解决方案:检查文件完整性,确认正确的解压命令
  3. 解压中文文件名乱码

    unzip -O GBK archive.zip  # 指定编码格式
    

掌握这些压缩解压命令,你将能够高效地管理Linux系统中的各种文件。根据实际需求选择合适的压缩格式和参数,可以显著提高工作效率。

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

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

相关文章

C++ STL 环形队列模拟实现

C STL 环形队列模拟实现 下面是一个使用C STL实现的环形队列&#xff08;Circular Queue&#xff09;的完整示例&#xff1a; #include <iostream> #include <vector> #include <stdexcept>template <typename T> class CircularQueue { private:std…

部署rocketmq集群

容器化部署RocketMQ5.3.1集群 背景: 生产环境单机的MQ不具有高可用,所以我们应该部署成集群模式,这里给大家部署一个双主双从异步复制的Broker集群 一、安装docker yum install -y docker systemctl enable docker --now # 单机部署参考: https://www.cnblogs.com/hsyw/p/1…

mysql的函数(第一期)

一、字符串函数​​ 处理文本数据&#xff0c;常用函数&#xff1a; ​​CONCAT(str1, str2, ...)​​ ​​作用​​&#xff1a;拼接字符串。​​示例​​&#xff1a;SELECT CONCAT(Hello, , World); → Hello World​​注意​​&#xff1a;若任一参数为 NULL&#xff0c;…

Linux下的网络管理

注意&#xff1a;本文使用的Linux系统版本为Red Hat Enterprise Linux 9 (RHEL 9)。 在RHEL9上&#xff0c;使用NM&#xff08;NetworkManager&#xff09;进行网络配置&#xff0c;ifcfg &#xff08;也称为 文件&#xff09;将不再是网络配置文件的主存储。虽然 ifcfg 样式仍…

游戏引擎学习第233天

原地归并排序地方很蒙圈 game_render_group.cpp&#xff1a;注意当前的SortEntries函数是O(n^2)&#xff0c;并引入一个提前退出的条件 其实我们不太讨论这些话题&#xff0c;因为我并没有深入研究过计算机科学&#xff0c;所以我也没有太多内容可以分享。但希望在过去几天里…

从《周游记3》演绎歌剧版《菊花台》,周杰伦婚礼曲目意大利文版惊喜亮相

今天&#xff08;4月19日&#xff09;22:00&#xff0c;由魔胴西西里咖啡冠名的户外实境互动综艺《周游记3》第四期即将播出。本期节目中&#xff0c;“J式之旅”发起人周杰伦和林暐恒、杜国璋、陈冠霖、陈冠廷&#xff0c;将继续意大利之旅&#xff0c;从那不勒斯的百年老店到…

Linux系统编程 day6 进程间通信mmap

父子共享的信息&#xff1a;文件描述符&#xff0c;mmap建立的共享映射区&#xff08;MAP_SHARED&#xff09; mmap父子间进程通信 var的时候 &#xff1a;读时共享&#xff0c;写时复制 父进程先创建映射区&#xff0c;指定共享MAP_SHARED权限 &#xff0c; fork创建子进程…

opencv--图像处理

图像处理技术 图像处理技术是利用计算机对图像进行计算,分析和处理的技术,包括数字图像处理和计算机视觉两大领域。 对图像的处理包括滤波,缩放,分割,识别(两种信息对比)等。 链接 数字图像处理 1. 数字图像处理(Digital Image Processing) 数字图像处理主要关注图…

Spring 学习笔记之 @Transactional详解

一、数据库事务基础 数据库事务&#xff08;Transaction&#xff09;是数据库管理系统中用于确保数据一致性和完整性的一种机制。它是一组操作的集合&#xff0c;这些操作要么全部成功&#xff0c;要么全部失败&#xff0c;从而保证数据库状态的正确性。 1.1 事务的基本概念 定…

【Openlayers】Openlayers 入门教程

Openlayers 入门教程 -系列文章列表 openlayers 入门教程&#xff08;一&#xff09;&#xff1a;openlayers简介 openlayers 入门教程&#xff08;二&#xff09;&#xff1a;Map 篇 openlayers 入门教程&#xff08;三&#xff09;&#xff1a;View 篇 openlayers 入门教程&a…

【Lua语言】Lua语言快速入门

初始Lua Lua是一种轻量小巧的脚本语言&#xff0c;他使用标准C语言编写并以源代码形式开放。这意味着Lua虚拟机可以很方便的嵌入别的程序中&#xff0c;从而为应用程序提供灵活的扩展和定制功能。同时&#xff0c;在目前脚本引擎中&#xff0c;Lua的运行速度占有绝对优势。 变…

车载诊断新架构--- SOVD初入门(上)

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 周末洗了一个澡,换了一身衣服,出了门却不知道去哪儿,不知道去找谁,漫无目的走着,大概这就是成年人最深的孤独吧! 旧人不知我近况,新人不知我过…

linux查看目录相关命令

查看目录命令 学习目标 能够使用Linux命令查看目录信息 1. 查看目录命令的使用 命令说明ls查看当前目录信息tree以树状方式显示目录信息 ls命令效果图: tree命令效果图: 2. 查看当前目录路径 命令说明pwd查看当前目录路径 pwd命令效果图: 3. 清除终端内容 命令说明clear…

JavaScript中的Event事件对象详解

一、事件对象&#xff08;Event&#xff09;概述 1. 事件对象的定义 event 对象是浏览器自动生成的对象&#xff0c;当用户与页面进行交互时&#xff08;如点击、键盘输入、鼠标移动等&#xff09;&#xff0c;事件触发时就会自动传递给事件处理函数。event 对象包含了与事件…

OSPF综合实验(HCIP)

1&#xff0c;R5为ISP&#xff0c;其上只能配置Ip地址&#xff1b;R4作为企业边界路由器&#xff0c; 出口公网地址需要通过ppp协议获取&#xff0c;并进行chap认证 2&#xff0c;整个OSPF环境IP基于172.16.0.0/16划分&#xff1b; 3&#xff0c;所有设备均可访问R5的环回&…

2024-04-19| Java: Documented注解学习 JavaDoc

在 Java 中&#xff0c;Documented 是一个元注解&#xff08;meta-annotation&#xff09;&#xff0c;用于标记其他注解&#xff0c;表明这些注解应该被包含在 JavaDoc 文档中。以下是关于 Documented 注解的作用的简要说明&#xff1a; 作用 记录注解信息到 JavaDoc&#x…

15.Chromium指纹浏览器开发教程之WebAudio指纹定制

WebAudio指纹概述 浏览器中的 WebAudio API 提供了丰富的功能&#xff0c;其中包括了大量生成和处理音频数据的API。WebAudio API 的音频指纹技术是一种利用音频信号的特征来唯一标识音频的技术。因为WebAudio API 提供了丰富的音频处理功能&#xff0c;包括合成、过滤、分析等…

2025年赣教云智慧作业微课PPT模板

江西的老师们注意&#xff0c;2025年赣教云智慧作业微课PPT模版和往年不一样&#xff0c;千万不要搞错了&#xff0c;图上的才是正确的2025年的赣教云智慧作业微课PPT模版&#xff0c;赣教云智慧作业官网有问题&#xff0c;无法正确下载该模板&#xff0c;需要该模板的&#xf…

2.5.1DOS下常用工具 curl,netstat,telnet命令使用

curl命令 Win10及以上系统默认已安装Curl&#xff0c;打开命令提示符输入 curl --help&#xff0c;若显示帮助信息则无需安装 ​​手动安装方法​​ 官网下载&#xff1a;访问 curl官网 选择Windows版本curl for Windows若需在 Windows XP 等旧系统使用&#xff0c;需选择更…

使用Redis实现实时排行榜

为了实现一个实时排行榜系统&#xff0c;我们可以使用Redis的有序集合&#xff08;ZSet&#xff09;&#xff0c;其底层通常是使用跳跃表实现的。有序集合允许我们按照分数&#xff08;score&#xff09;对成员&#xff08;member&#xff09;进行排序&#xff0c;因此非常适合…