Linux系统下文件的压缩与打包

news2024/10/7 4:34:01

压缩和解压缩

压缩数据或者解压数据:

为什么要移出数据信息前面的 / 目录

在这里插入图片描述

-P          --absolute-paths  不要从文件名中去除 '/'

1 compress和uncompress

格式

compress Options [file ...]

常用选项

  • -d 解压缩,相当于uncompress
  • -c 结果输出至标准输出,不删除原文件
  • -v 显示详情
  • uncompress fifile.Z 解压缩
  • zcat fifile.Z 不显式解压缩的前提下查看文本文件内容

范例:

zcat file.Z >file

2 gzip和gunzip

格式:

gzip [OPTION]... FILE ...

常用选项:

  • -d 解压缩,相当于gunzip
  • -c 结果输出至标准输出,保留原文件不改变
  • -# 指定压缩比,#取值为1-9,值越大压缩比越大
  • gunzip fifile.gz 解压缩
  • zcat fifile.gz 不显式解压缩的前提下查看文本文件内容

范例:

gzip -c messages >messages.gz 
gzip -c -d messages.gz > messages 
zcat messages.gz > messages 
cat messages | gzip > m.gz

3. bzip2和bunzip2

格式:

bzip2 [OPTION]... FILE ...

常用选项

  • -k keep, 保留原文件
  • -d 解压缩
  • -c 结果输出至标准输出,保留原文件不改变
  • -# 1-9,压缩比,默认为9
  • bunzip2 fifile.bz2 解压缩
  • bzcat fifile.bz2 不显式解压缩的前提下查看文本文件内容

4 xz和unxz

格式

xz [OPTION]... FILE ...

常用选项

  • -k keep, 保留原文件

  • -d 解压缩

  • -c 结果输出至标准输出,保留原文件不改变

  • -# 压缩比,取值1-9,默认为6

unxz fifile.xz 解压缩

xzcat fifile.xz 不显式解压缩的前提下查看文本文件内容

5 zip和unzip

zip 可以实现打包目录并压缩

范例:

#打包并压缩 
zip –r /backup/sysconfig.zip /etc/sysconfig/ 
#默认解压缩至当前目录 
unzip /backup/sysconfig.zip 
#解压缩至指定目录 
unzip /backup/sysconfig.zip -d /tmp 

cat /var/log/messages | zip messages - 
unzip -p message.gz > message		 #-p 表示管道

打包和解包

1 tar

tar 即 Tape ARchive,磁带归档,经常用于备份

格式

tar  [OPTION]...

(1) 创建归档,保留权限

tar -cpvf /PATH/FILE.tar FILE... 

(2) 追加文件至归档: 注:不支持对压缩文件追加

tar -rf /PATH/FILE.tar FILE... 

(3) 查看归档文件中的文件列表

tar -t -f /PATH/FILE.tar 

(4) 展开归档

tar xf /PATH/FILE.tar 
tar xf /PATH/FILE.tar -C /PATH/

(5) 结合压缩工具实现:归档并压缩

  • -z 相当于gzip压缩工具
  • -j 相当于bzip2压缩工具
  • -J 相当于xz压缩工具

范例:

[root@naWang day21]# tar zcvf 1.txt.tar.gz 1.txt 
1.txt
[root@naWang day21]# ll
总用量 8
-rw-r--r-- 1 root root  14 129 20:05 1.txt
-rw-r--r-- 1 root root 121 129 20:05 1.txt.tar.gz
[root@naWang day21]# tar jcvf 1.txt.tar.bz2 1.txt 
1.txt
[root@naWang day21]# ll
总用量 12
-rw-r--r-- 1 root root  14 129 20:05 1.txt
-rw-r--r-- 1 root root 125 129 20:06 1.txt.tar.bz2
-rw-r--r-- 1 root root 125 129 20:05 1.txt.tar.gz
[root@naWang day21]# tar Jcvf 1.txt.tar.xz 1.txt 
1.txt
[root@naWang day21]# ll
总用量 16
-rw-r--r-- 1 root root  14 129 20:05 1.txt
-rw-r--r-- 1 root root 125 129 20:06 1.txt.tar.bz2
-rw-r--r-- 1 root root 125 129 20:05 1.txt.tar.gz
-rw-r--r-- 1 root root 180 129 20:09 1.txt.tar.xz

–exclude 排除文件

范例:

tar zcvf /root/a.tgz --exclude=/app/host1 --exclude=/app/host2 /app

-T 选项指定输入文件

-X 选项指定包含要排除的文件列表

范例:

tar zcvf mybackup.tar.gz -T /root/includefilelist -X /root/excludefilelist

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Xtie5XBl-1669020044182)(E:\Typora软件\linux运维笔记\运维笔记图片库\018 tar打包解压.PNG)]

2 split

split 命令可以分割一个文件为多个文件

范例:

#分割大的 tar 文件为多份小文件 
split -b Size –d tar-file-name 
prefix-name split -b 1M mybackup.tgz mybackup-parts 

#切换成的多个小分文件使用数字后缀 
split -b 1M –d mybackup.tgz mybackup-parts

将多个切割的小文件合并成一个大文件

cat mybackup-parts* > mybackup.tar.gz

3 cpio

cpio 是历史悠久的打包和解包工具,不过目前也已较少使用

cpio命令是通过重定向的方式将文件进行打包备份,还原恢复的工具,它可以解压以“.cpio”或者“.tar”结

尾的文件

格式:

cpio [选项] > 文件名或者设备名 
cpio [选项] < 文件名或者设备名

常用选项

  • -o output模式,打包,将标准输入传入的文件名打包后发送到标准输出
  • -i input模式,解包,对标准输入传入的打包文件名解包到当前目录
  • -t 预览,查看标准输入传入的打包文件中包含的文件列表
  • -O fifilename 输出到指定的归档文件名
  • -A 向已存在的归档文件中追加文件
  • -I fifilename 对指定的归档文件名解压
  • -F fifilename 使用指定的文件名替代标准输入或输出
  • -d 解包生成目录,在cpio还原时,自动的建立目录
  • -v 显示打包过程中的文件名称

范例:

#将etc目录备份: 
find ./etc -print | cpio -ov > bak.cpio 
#将/data内容追加bak.cpio 
find /data | cpio -oA -F bak.cpio 
#内容预览 
cpio –tv < etc.cpio 
#解包文件 
cpio –idv < etc.cpio

追加压缩数据

一个压缩包生成之后,如何向这个压缩包中追加新的压缩数据

批量压缩

如何实现批量压缩不同的数据信息

eg:将/etc目录中以h开头的文件,进行压缩保存

find /etc/ -maxdepth 1 -type f -name "h*" |xargs tar -zcvf /backup/etc.tar.gz

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

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

相关文章

Spring 事务失效的场景

1、private、final、static 方法 被 Transactional 注解标注的方法的访问权限必须是 public&#xff1b; 被 Transactional 注解标注的方法不能被 final、static 修饰&#xff0c;被标注的方法必须是可覆盖的。这是因为事务底层使用的是 aop&#xff0c;而 aop 使用的是代理模…

嵌入式为何钟爱SourceInsight,主要因为这个功能~

已剪辑自: https://mp.weixin.qq.com/s/F-gafwbZswpnY8EaCz8HxQ 不管是玩单片机还是嵌入式linux&#xff0c;只要是与硬件结合比较紧密的部分目前基本上还是C语言&#xff0c;当然了&#xff0c;不知道以后C语言会不会被取代&#xff0c;即便哪天被某种更加优秀的语言取代&…

m基于matlab的MIMO信道容量分析,对比了不同天线数量;非码本预编码SVD,GMD;码本预编码DFT,TxAA以及空间分集

目录 1.算法概述 2.仿真效果预览 3.MATLAB部分代码预览 4.完整MATLAB程序 1.算法概述 MIMO信道容量 平均功率分配的MIMO信道容量&#xff1a;通过Matlab仿真在加性高斯白噪声情况下的SISO (1*1)、SIMO(1*6)、MISO(4*1)、MIMO(3*3)、MIMO&#xff08;4*4&#xff09;系统的…

VMware Explore 2022 China,赋能中国企业加速实现云智能

全球领先的企业软件创新者VMware&#xff08;NYSE: VMW&#xff09;的年度技术盛会—— VMware Explore 2022 China于11月8日正式举行。本届大会以“探索多云宇宙”为主题&#xff0c;汇聚云计算领域的顶尖技术专家和创新者&#xff0c;通过150多场解决方案演讲、围绕云基础架构…

[附源码]Python计算机毕业设计超市团购平台

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

JuiceFS 使用效果及注意事项

以某线上集群为例&#xff0c;数据规模&#xff1a;每天写入 5TB&#xff0c;数据储存 30 天&#xff0c;热数据储存一周&#xff0c;节点数量&#xff1a;5 个热节点&#xff0c;15 个冷节点。 采用 JuiceFS 后&#xff0c;热节点保持不变&#xff0c;冷节点从 15 个降到了 1…

[b01lers2020]Life on Mars (难发现的sql注入)

[b01lers2020]Life on Mars 打开界面以后&#xff0c;查看各种都没有提示&#xff0c;果断扫描目录&#xff0c;但也是没获得什么。 到这里只能burp抓个包看看 抓包两个界面发现了get传参&#xff0c;考虑是否存在sql注入 尝试额以后发现只返回了一个1&#xff0c;试一下别的引…

Nginx显示500错误原因和解决方法

文章目录1.背景2.Nginx 常见的几种报错3. 解决500错误1.背景 最近在操作nginx 的时候出现了 Nginx 500 内部错误&#xff0c;在此记录一下原因&#xff0c;项目采用的是前后端分离方式&#xff0c;后端SpringBoot &#xff0c;前端是Vue 部署到Nginx 下。 2.Nginx 常见的几种…

从水质监测运维工程师转行软件测试,武汉校区小哥哥除了收获10k高薪,还有...

从大学步入社会&#xff0c;每个人都会面临角色和身份的转变&#xff0c;大部分同学对此充满信心和期待&#xff0c;仿佛有用不完的精力、耗不尽的热情。可是社会中的磨砺也让心态慢慢变得成熟&#xff0c;生活、文化等方面的落差显现出来&#xff0c;想要做出改变&#xff0c;…

java项目-第151期ssm文物管理系统_java毕业设计_计算机毕业设计

java项目-第151期ssm文物管理系统_java毕业设计_计算机毕业设计 【源码请到资源专栏下载】 今天分享的项目是《ssm文物管理系统》 该项目分为2个角色&#xff0c;管理员、用户。 用户可以浏览前台文物信息、论坛交流、文物资讯、留言反馈。 管理员负责登录后台系统&#xff0c…

[附源码]java毕业设计校医院病人跟踪治疗信息管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

产品质量模型

产品质量模型将系统/软件产品质量属性划分为8个特征&#xff1a;功能性、性能效率、兼容性、易用性、可靠性、安全性、可维护性、可移植性&#xff0c;每个特征由一组相关子特征组成。 衡量一个优秀软件的维度&#xff1a; 产品质量模型只应用于软件产品&#xff0c;或者包含软…

从零开始做一款Unity3D游戏<三>——编写游戏机制

添加跳跃 了解枚举 使用层遮罩 发射投射物 实例化对象 管理游戏对象的创建 游戏管理器 维护玩家属性 get和set属性 精益求精 图形用户界面 胜败条件 使用预编译指定和命令空间 总结 前面一章&#xff0c;我们专注于通过代码来移动玩家和相机&#xff0c;同时了解了…

深入理解计算机系统——Midterm Exam 2012

深入理解计算机系统——Midterm Exam 2012Problem 4 疑问Problem 6 疑问Problem 7 疑问Problem 8 疑问试卷&#xff1a;Midterm Exam 2012 答案&#xff1a;Exam Solutions Problem 4 疑问 第 4 题为第三章内容&#xff0c;这里觉得题目有一步骤写错了&#xff0c;<13> …

让Python可视化事半功倍!

分享一款不错的Matplotlib可视化查询手册&#xff0c;让Python Matplotlib事半功倍&#xff01; 当可视化时&#xff0c;记不清楚图形Marker名称、colormap名称、坐标轴刻度设置、图例设置等等时&#xff0c;稍微扫描一眼该手册&#xff0c;直接YYDS。 下面简单介绍一下这个手册…

SpringBoot SpringBoot 开发实用篇 5 整合第三方技术 5.5 变更缓存供应商 Ehcache

SpringBoot 【黑马程序员SpringBoot2全套视频教程&#xff0c;springboot零基础到项目实战&#xff08;spring boot2完整版&#xff09;】 SpringBoot 开发实用篇 文章目录SpringBootSpringBoot 开发实用篇5 整合第三方技术5.5 变更缓存供应商 Ehcache5.5.1 缓存实现方案5.5.…

部署支持使用Redis哨兵模式,支持纳管ClickHouse数据库,JumpServer堡垒机v2.28.0发布

2022年11月21日&#xff0c;JumpServer开源堡垒机正式发布v2.28.0版本。在这一版本中&#xff0c;JumpServer的部署支持使用Redis哨兵集群作为后端缓存数据库&#xff0c;从而使系统更加健壮和高可用。操作日志审计方面&#xff0c;新增支持查看资源变更信息。当资源有新增、更…

今天给大家介绍一篇基基于SSM超市管理系统的设计与实现

项目描述 临近学期结束&#xff0c;还是毕业设计&#xff0c;你还在做java程序网络编程&#xff0c;期末作业&#xff0c;老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下&#xff0c;你想解决的问…

【迁移学习】分布差异的度量以及迁移学习的统一表征方法

在文本分类中&#xff0c;由于文本数据有其领域特殊性&#xff0c;因此&#xff0c;在一个领域上训练的分类器&#xff0c;不能直接拿来作用到另一个领域上&#xff0c;这就需要用到迁移学习。 迁移学习是机器学习中重要的研究领域&#xff0c;ICML、NIPS、AAAI、ICIR等国际人工…

号码认证平台有哪些?号码认证平台费用?

随着互联网的发展&#xff0c;电话经常接到骚扰电话、买房、保险等电话&#xff0c;让用户不胜其扰。目前提供电话标记的软件个数达到几十款之多&#xff0c;可以有效预防诈骗发生&#xff0c;也暴露出“号码标记随意性强”“错误标记取消难”等一系列问题。如果被恶意标记&…