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

linux 压缩解压缩

压缩解压缩

linux中压缩和解压文件也是很常见的

zip格式

zip格式的压缩包在windows很常见,linux中也有zip格式的压缩包

#压缩
#zip [选项] 压缩包名 文件(多个文件空格隔开)
zip 1.zip 123.txt 456.txt
 
zip -r 2.zip /home/user1

 ----------------------
 -r 压缩目录
 
 #
解压缩
 unzip [选项] 压缩包名
 --------------------
 -d  指定解压缩位置

gz格式

gz格式在linux中是一种很常用的格式,gzip不支持压缩目录

#压缩
#gzip [选项] 源文件
gzip test.txt

#
解压
gzip -d test.txt.gz

----------------------
选项
-d  解压缩
-c  将源文件输出到控制台
-r  压缩目录(也是将该目录下的文件分别压缩)
-t  检查命令参数中的压缩文件的完整性
-v  显示每个压缩文件的名字和压缩率
-N N取1-9,表示压缩等级
-f 强制压缩
-l 压缩文件使用的参数,列出每个压缩文件如下内容
      compressed size  压缩文件长度
      uncompressed size 压缩前文件的长度
      ratio  压缩率
      uncompressed-name  压缩前文件名

gzip压缩之后源文件就不见了,且不支持将多个文件压缩至一个压缩包中,压缩包的名称为源文件名称+.gz

bz2格式

bzip2可以提供比gzip更高的压缩率,但是压缩速度变慢了

#压缩
#bzip2 [选项] 源文件
bzip2 123.txt

#
解压缩
bzip2 -d 123.txt.bz2

---------------------------
选项
-d  解压缩
-z  压缩
-v  显示压缩时详细信息
-k  压缩时保留原文件
-c  直接输出到控制台

该格式不可以压缩目录

tar格式

由于多个文件一起压缩打包gzip和bz2无法完成,需要使用tar,但是tar命令只可以打包,不会压缩

#压缩
#tar [选项] [-f 压缩名] 源文件
tar -cvf 11.tar 123.txt
-------------------------------
选项
-c 打包
-f 压缩名,如果多个参数组合的情况下带有-f,f放在最后
-v 显示打包过程
-z  是否同时用gzip压缩
-j  是否同时用bzip2压缩
-- exclude filename  在打包时,不要讲filename文件包括在内

#
解压缩
#tar [选项] 压缩包
tar -xvf 11.tar

---------------------
选项

-f 压缩名
-v 显示解压缩过程
-x 解压缩
-t 查看包中有哪些文件,不解压

tar.gz和tar.bz2格式

由于tar格式只会打包不会压缩,而gzip和bz2只会压缩不会打包,所以将两者结合了一下,先进行tar打包,在进行gzip压缩,但是如果每次压缩和解压都要两步操作太麻烦了,所以出现了.tar.gz和.tar.bz2格式

#压缩
#tar [选项] [-f 压缩名] 源文件
tar -zcvf 11.tar.gz 123.txt
-------------------------------
选项
-z 压缩和解压缩tar.gz格式(仅用于识别格式),为gzip格式
-j 压缩和解压缩tar.bz2格式(仅用于识别格式),为bzip2格式
-c 打包
-f 压缩名
-v 显示打包过程

#
解压缩
#tar [选项] 压缩包
tar -zxvf 11.tar

---------------------
选项
-z 压缩和解压缩tar.gz格式(仅用于识别格式)
-j 压缩和解压缩tar.bz2格式(仅用于识别格式)
-f 指定需要解压的文件
-v 显示解压缩过程
-x 解压缩
-t 查看包中有哪些文件,不解压
-d 指定解压的目录

https://zhhll.icu/2021/linux/基础/压缩解压缩/

本文由 mdnice 多平台发布

http://www.lryc.cn/news/136391.html

相关文章:

  • centos9 mysql8修改数据库的存储路径
  • 【C++】<Windows编程中消息即事件的处理>
  • 数据库SQL语句使用
  • 从零开始 Spring Cloud 12:Sentinel
  • @Resurce和@Autowired的区别
  • ResNet简介
  • 了解单例模式,工厂模式(简单易懂)
  • 【中危】 Apache NiFi 连接 URL 验证绕过漏洞 (CVE-2023-40037)
  • 【Git版本控制工具使用---讲解一】
  • NLP | 基于LLMs的文本分类任务
  • 攻防世界-base÷4
  • 【Java转Go】快速上手学习笔记(三)之基础篇二
  • 【vue 引入pinia与pinia的详细使用】
  • USACO18DEC Fine Dining G
  • fckeditor编辑器的两种使用方法
  • 数据结构,查找算法(二分,分块,哈希)
  • C++(Qt)软件调试---gdb调试入门用法(12)
  • shell和Python 两种方法分别画 iostat的监控图
  • 设计模式(9)建造者模式
  • PHP 创业感悟交流平台系统mysql数据库web结构apache计算机软件工程网页wamp
  • 工作流程引擎之flowable(集成springboot)
  • leetcode54. 螺旋矩阵(java)
  • go gorm 查询
  • Flutter GetXController 动态Tabbar 报错问题
  • Redis(缓存预热,缓存雪崩,缓存击穿,缓存穿透)
  • UE4/5Niagara粒子特效学习(使用UE5.1,适合新手)
  • from moduleA import * 语句 和import moduleA 的区别
  • 【leetcode 力扣刷题】交换链表中的节点
  • 学会Mybatis框架:让你的代码更具灵活性、可维护性、安全性和高效性【二.动态SQL】
  • Oracle 中 ROWNUM 使用问题记录