linux文件压缩、解压缩以及归档

news2024/11/24 5:56:59

一、文件压缩、解压缩

1.linux  compress命令(compress/uncompress)

(1)压缩文件:

[root@server ~]# du -sh passwd1---查看文件大小
[root@server ~]# time compress passwd1---time:查看时间  compress:将文件进行压缩
real	0m0.012s
user	0m0.004s
sys	0m0.006s

压缩后文件变成passwd.Z

(2)解压:

法1:compress -d passwd1.Z

法2:uncompress passwd1.Z

2.zip格式:

(1)zip是可以既归档又压缩的工具,也可以压缩目录

(2)命令格式:

  • zip FILE
  • unzip FILE
  • unzip -d FILE +路径

(3)示例:

<1> 压缩文件passwd1

[root@server ~]# time zip passwd1.zip passwd1---内容:将passwd1文件压缩为passwd1.zip

<2> 将f1-6.txt文件压缩(压缩文件可以使用通配符)

[root@server ~]# zip f.zip f[1-6].txt

<3> 压缩目录 -r

[root@server ~]# zip -r dir1.zip dir1/

[root@server ~]# unzip dir1.zip -d /opt/---解压文件到指定/opt目录下

<4> 向压缩好的文件中添加文件 -m

[root@server ~]# zip -m f.zip passwd---将passwd文件添加到压缩文件f.zip中

<5> 在压缩文件中删除文件 -d

[root@server ~]# zip -d f.zip passwd---在压缩文件f.zip文件中删除passwd

<6> 压缩文件时排除个别文件 -x

[root@server ~]# zip passwd1.zip f*.txt -x f[1-6].txt---将f*.txt文件压缩到passwd1.zip文件中,排除f[1-6].txt

<7> 解压文件 unzip
默认解压在当前路径,如果要解压到指定路径,使用 -d pathname

[root@server ~]# unzip passwd1.zip -d /opt/ ---将压缩文件passwd1.zip解压到opt目录下

3.gzip(.gz)、bzip2(.bz2)、xz(.xz)、lzip(.lz)

(1)查看相应格式是否存在

lzip默认未安装,可以在链接上找到系统版本对应的lzip进行安装。

(2)gz

  • 压缩

[root@server ~]# time gzip passwd1---将passwd1文件压缩

  • 解压 

[root@server ~]# gzip -d passwd1.gz---将文件解压(-d 默认解压到当前路径)

  • 文件压缩后保留原始文件

[root@server ~]# gzip -c passwd1 > passwd1.gz---将文件压缩然后重定向输出到原位置

  • 查看压缩文件内容---zcat  zless

[root@server ~]# zcat test1.txt.gz ---查看压缩文件内容

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

[root@server ~]# zless test1.txt.gz

(3)bzip2

  • 压缩

[root@server ~]# time bzip2 passwd2---将passwd2文件压缩

  • 解压

[root@server ~]# bzip2 -d passwd2.bz2---将文件解压(-d 默认解压到当前路径)

  • 查看压缩文件内容---bzcat  bzless

[root@server ~]# bzcat test1.txt.bz2 ---查看压缩文件内容

[root@server ~]# bless test1.txt.bz2

(3)xz

  • 压缩

[root@server ~]# time xz passwd3---将passwd3文件压缩

  • 解压 

[root@server ~]# xz -d passwd3.xz---将文件解压(-d 默认解压到当前路径)

  • 查看压缩文件内容---xzcat  xzless

[root@server ~]# xzcat test1.txt.xz---查看压缩文件内容

[root@server ~]# xzless test1.txt.xz

(4)lz

  • 压缩

[root@server ~]# time lzip passwd4---将文件passwd4压缩

  • 解压

[root@server ~]# lzip -d passwd4.gz---将文件解压(-d 默认解压到当前路径) 

(5)推荐方法:将文件压缩推荐xz和lz

二、文件归档

1.格式:

  • tar [选项] 打包文件名 被打包的源文件或目录列表
  • tar [选项] 打包文件名 [-C 目标文件夹]

2.常用选项:

选项功能
c创建.tar格式的包文件
x释放.tar格式的包文件
t查看包中的文件列表
v表示在命令执行时显示详细的提示信息
f(包文件名)用于指定包文件名。当与-c选项一起使用时,创建的tar包文件使用该选项指定的文件名; 当与-x选项一起使用时,则释放该选项指定的tar包文件。
p打包时保留文件及目录的权限。
z调用gzip程序,以gzip格式压缩或解压缩文件。
j调用bzip2程序,以bzip2格式压缩或解压缩文件。
J使用xz压缩(.tar.xz)。xz的压缩率通常比bzip2更高。
C(目标路径名)解压包时指定解压包的目的位置。

3.tar的常见作用:

(1)创建(非压缩的)包文件

  • 命令:tar cvf 包文件名 要打包的目录或文件名列表
  • 功能:将指定的一个或多个文件或目录备份生成为一个指定的包文件。

(2)创建带压缩的包文件(支持三种不同的压缩方式)

  • 命令:tar c[z j|J] f 压缩包文件名 要备份的目录或文件名
czf	        .tar.gz
[root@server ~]# tar -czvf passwd1.tar.gz passwd1(v---查看过程)
cjf	        .tar.bz2
[root@server ~]# tar -cjvf passwd2.tar.bz2 passwd2
cJf	        .tar.xz
[root@server ~]# tar -cJvf passwd3.tar.xz passwd3
--lzip -cf	.tar.lz
[root@server ~]# tar --lzip -cf passwd4.tar.lz passwd4

(3)列出包文件中的文件列表

  • 命令:tar t[v]f 包文件名

(4)提取包文件到指定目录

  • 命令:tar x [z j|J] [v]f 包文件名 [ -C 目标位置]

(5)将文件进行解压

.tar.gz    tar -xzf passwd1.tar.gz
.tar.bz2   tar -xjf passwd2.tar.bz2
.tar.xz    tar -xJf passwd3.tar.xz
.tar.lz    tar --lzip -xf passwd4.tar.lz
  • -C (将文件解压到指定目录)

[root@server ~]# tar --lzip -xf passwd1.tar.lz -C /opt/

4.总结:

(1)工作中解压一律使用xf

(2)归档时可以排除文件

  • --exclude=PATTERN        排除以PATHERN指定的文件
[root@server ~]# tar --exclude=f1.txt -cJvf f.txt.tar.xz f*.txt
[root@server ~]# tar --exclude='f[1-4].txt' -czvf f4.tar.gz f*.txt
使用通配符时,文件名加引号
  • -X, --exclude-from=FILE 排除 FILE 中列出的模式串
[root@server ~]# vim exclude.txt---写入文件f1.f2.f3.f4.txt
f1.txt
f2.txt
f3.txt
f4.txt
[root@server ~]# tar -X exclude.txt -cJvf f3.tar.xz f*.txt---归档时排除文件exclude.txt中写入的文件
f5.txt
f6.txt

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

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

相关文章

医学主题词表(Medical Subject Headings, MeSH)

Medical Subject Headings 简称MeSH&#xff0c;由美国国立医学图书馆&#xff08;NLM出版&#xff09;&#xff0c;是目前最权威最常用的标准医学主题词表。 MeSH由范畴表&#xff08;Categories and Subcategories&#xff09;、字顺表&#xff08;Alphabetic listing&#…

AI 边缘计算平台 - 爱芯元智 AX620A 爱芯派开箱

最近疫情有点猛&#xff0c;宅在家里&#xff0c;没事找点事干&#xff0c;撸撸板子吧。 拿出来趁着双 11 优惠&#xff0c;花了 520 RMB / 块&#xff0c;买的两块爱芯派&#xff08;套餐&#xff09;&#xff0c;来个开箱贴&#xff0c;顺便测试一下开发板的串口、网口、音频…

智慧井盖解决方案-最新全套文件

智慧井盖解决方案-最新全套文件一、建设背景行业痛点二、建设思路三、建设方案四、获取 - 智慧井盖全套最新解决方案合集一、建设背景 城市井盖是每个城市管理的难点&#xff0c;井盖数量多&#xff0c;容易发生井盖破损或丢失后出现人员与财产损失。给群众生命财产带来损害。…

基于Netty的高性能API网关设计

0. 本文目的 对于网关设计&#xff0c;业界已有很多成熟的解决方案&#xff0c;开箱即用或者稍作自定义都能满足需求。本文主要是通过网关需求了解底层netty的使用&#xff0c;所以重心在netty的实践使用上。 1. 什么是网关 网关(Gateway)又称网间连接器、协议转换器。网关在…

基于球向量的粒子群优化(SPSO)算法在无人机路径规划中的实现(Matlab代码实现)

&#x1f468;‍&#x1f393;个人主页&#xff1a;研学社的博客 &#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜…

PyTorch for Audio + Music Processing(2/3/4/5/6/7) :构建数据集和提取音频特征

基于Torchaudio构建数据集 文章目录基于Torchaudio构建数据集前言02 Training a feed forward network03 Making predictions04 Creating a custom dataset05 Extracting Mel spectrograms06 Padding audio files07 Preprocessing data on GPU一、下载数据集文件目录标注格式二…

19 【RTK Query】

19 【RTK Query】 1.目前前端常见的发起 ajax 请求的方式 1、使用原生的ajax请求2、使用jquery封装好的ajax请求3、使用fetch发起请求4、第三方的比如axios请求5、angular中自带的HttpClient 就目前前端框架开发中来说我们在开发vue、react的时候一般都是使用fetch或axios自…

web前端期末大作业【 大学生抗疫感动专题网页设计】HTML+CSS

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

Prometheus 使用cadvisor采集docker容器监控数据

Prometheus采集主机监控参考部署下载&#xff0c;图形生成 系统安装Grafana downloadWindows参考图形生成参考win_exporterLinux参考node_exporterMysql参考Mysql_exporterSQL Server参考SQL exporterRedis 参考Redis_exportercadvisor参考cadvisor snmp_exporter 参考图形展示…

Redis详细教程

【尚硅谷】2021最新版Redis详细教程&#xff08;基于Redis 6.2.x版本&#xff09; 文章目录 一、前言二、NoSQL数据库简介 1.技术发展 1.1 Web1.0时代1.2 Web2.0时代1.3 解决CPU及内存压力1.4 解决IO压力 2.NoSQL数据库 2.1 NoSQL数据库概述2.2 NoSQL适用场景2.3 NoSQL不适用…

小啊呜产品读书笔记001:《邱岳的产品手记-09》第17讲 产品经理如何获得非权力性的影响力 第18讲 产品案例分析:WWFTogether的情怀设计

小啊呜产品读书笔记001&#xff1a;《邱岳的产品手记-09》第17讲 产品经理如何获得非权力性的影响力 & 第18讲 产品案例分析&#xff1a;WWFTogether的情怀设计一、今日阅读计划二、泛读&知识摘录1、第17讲 产品经理如何获得非权力性的影响力&#xff1f;2、第18讲 产品…

Unity 打印安卓apk报错的日志

文章目录环境连接安卓手机附录环境 1.华为手机打开调试模式&#xff1a; 【设置】|【关于手机】|【版本号】点三次。 2.unity3d 环境设置&#xff1a; 【File】|【Building Settings】开启必备选项 &#xff08;其他非必选&#xff0c;最好勾上&#xff09;&#xff1a; D…

Sparse Merkle Tree

1. 引言 前序博客有&#xff1a; Merkle tree及其在区块链等领域的应用Merkle tree proof 2. Merkle tree Merkle tree可看成是对一组数据的密码学承诺&#xff0c;类似&#xff1a; 2.1 Merkle tree包含证明 如需证明A包含在上述树中&#xff0c;仅需要发送A, H(B), H(…

编译原理实验--实验一 词法分析--Python实现

目录 一、实验目的 二、实验内容 三、实验环境 四、实验步骤 五、测试要求 六、实验步骤 1、单词表<列出所识别语言的所有单词及其种别编码>&#xff1b; 2、识别单词的DFA图<可选择1-2类单词&#xff0c;给出识别该单词的DFA图> 3、关键代码 七、实验结果…

【C++实现】线程池的设计与实现

文章目录前言正文线程池提供的两个重要方法Any类的设计SemaphoreResult的实现Cache模式解释会遇到死锁问题第二个死锁问题&#xff0c;移植到Linux发生项目重构大致流程总结前言 开发环境&#xff1a; Linux&#xff0c;要求g版本能够支持C17以上&#xff1b;vs2019下开发&…

实验四 数码管实验【Verilog】

实验四 数码管实验【Verilog】前言推荐实验四 数码管实验【Verilog】一、实验目的&#xff1a;二、实验设备&#xff1a;三、实验任务:四、实验原理:五、实验步骤&#xff1a;六、实验结果&#xff1a;七、心得体会&#xff1a;最后前言 以下内容源自Verilog实验 仅供学习交流…

[附源码]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…

Git的基础操作及使用

目录 1.git工作原理示意 2.git拉取服务器上的代码 3.git往服务器上提交新code 4.git 查看提交记录&#xff0c; 5.git删除旧代码仓库&#xff0c;提交新的代码仓库 6.如何修改自己提交代码的用户名和邮箱 6.1.查看现用邮箱和用户名 6.2.使用命令修改git的用户名和提交的…

将一段文本映射到低纬向量空间

文本表示学习就是将一段文本映射到低纬向量空间&#xff0c;获取句子的语义表示&#xff0c;大致经历过四个阶段&#xff1a; 阶段 1&#xff1a;统计类型&#xff0c;此阶段比较典型的是利用 TD-IDF 抽取关键词&#xff0c;用关键词表示表征整个句子。 阶段 2&#xff1a;深度…

MySQL数据库增删改查进阶 — 聚合查询、分组查询、联合查询

文章目录1.聚合查询1.1 count 函数1.2 sum 函数1.3 avg 函数1.4 max 和 min 函数2.分组查询2.1 group by 子句2.2 分组查询可以指定条件2.2.1 分组之前&#xff0c;指定条件2.2.2 分组之后&#xff0c;指定条件2.2.3 分组前后都指定条件3.联合查询3.1 笛卡尔积3.1.1 笛卡尔积中…