linux典型压缩包操作 tar打包、压缩与解压
1、tar打包与解包
有时,我们会在Linux
系统中将多个文件打包成一个单独的文件,通过本关的学习,我们将学会如何在Linux
系统中将多个文件/目录打包生成一个文件。
本关任务:使用tar
命令完成文件和目录的打包操作。
相关知识
tar
(tape archive
的简写)工具可完成许多功能,其名称源于它的原始功能-创建和读取归档文件和备份磁带。如今,该工具常用来将多个文件或多个目录打包成一个tar
文件,或者将某个tar
文件分解开。
接下让我们详细的学习tar
的使用方法。
打包
tar
命令可以将多个文件/目录进行打包,将多个文件生成一个文件,生成的文件后缀为.tar
。
具体打包命令如下:
tar -cvf 生成的tar包名 要打包的文件/目录列表
常用命令参数如下:
-c 建立新的归档文件; -v 处理过程中输出相关信息; -f 对普通文件操作;
案例演示1
:
在当前目录下创建a.txt
、b.txt
和c.txt
文件,将其打包成一个new.tar
,具体使用如下命令:
touch a.txt b.txt c.txt
tar -cvf new.tar a.txt b.txt c.txt
案例演示2
:
在当前目录下创建dirA
、dirB
和dirC
目录,将其打包成一个newDir.tar
,具体使用如下命令:
mkdir dirA dirB dirC
tar -cvf newDir.tar dirA dirB dirC
解包
tar
命令可以将已经打包好的文件解压出来。
具体打包命令如下:
tar -xvf 解压包名 -C 解压到指定目录
常用命令参数如下:
-x 或--ext\fract或--get:从备份文件中还原文件; -v 处理过程中输出相关信息; -f 对普通文件操作; -C <目的目录> 切换到指定的目录;
如果不使用-C
(大写)参数,则默认解压到当前目录下。
案例演示1
:
将当前目录下的a.txt
、b.txt
和c.txt
文件删除,将打包好的new.tar
文件解压到当前目录,具体使用如下命令:
rm -fr a.txt b.txt c.txt
tar -xvf new.tar
案例演示2
:
在当前目录下创建newDir
目录,将打包好的newDir.tar
文件解压到newDir
目录下,具体使用如下命令:
mkdir newDir
tar xvf newDir.tar -C ./newDir
案例1
在右侧编辑器中补充代码,使用tar
命令打包和解包,具体编程要求如下:
- 使用
tar
命令将当前目录下的oldFile1
和oldFile2
文件打包成一个newFile.tar
文件; - 使用
tar
命令将当前目录下的oldFile.tar
文件解压到当前目录下。
tar -cvf newFile.tar oldFile1 oldFile2
tar -xvf oldFile.tar
2、文件压缩命令
由于磁盘空间有限,我们通常会将不常用的大文件进行压缩以便于节约磁盘空间,通过本关的学习,我们将学会Linux
系统上常见的压缩命令。
本关任务:对系统中已存在的文件/目录进行压缩操作。
相关知识
Linux
下存在多个文件压缩工具,常用的有bzip2
、gzip
和zip
。这三个工具都是可以将一个文件进行压缩操作,使其在不丢失任何信息的情况下占用较少的磁盘空间。而如何对于多个文件/目录进压缩操作呢?
我们通过上一关的学习,我们了解到了使用tar
命令可以将多文件/目录打包生成一个文件,那么对于多文件/目录的压缩操作分为两步:第一步是将其进行打包,然后将打包过后的文件进行压缩操作。
接下让我们详细的学习bzip2
、gzip
和zip
的使用方法。
bzip2
bzip2
命令用于创建和管理(包括解压缩).bz2
格式的压缩包。
具体命令如下:
bzip2 命令参数 指定要压缩的文件
常用命令参数如下:
-z或——compress:强制执行压缩; -d或——decompress:执行解压缩; -f或-force:bzip2在压缩或解压缩时,若输出文件与现有文件同名,预设不会覆盖现有文件。若要覆盖。请使用此参数; -v或——verbose:压缩或解压缩文件时,显示详细的信息;
案例演示:
使用bzip2
命令对当前目录下的new.tar
文件进行压缩,具体使用如下命令:
bzip2 new.tar
gzip
gzip
命令用于创建和管理(包括解压缩).gz
格式的压缩包。
具体命令如下:
gzip 命令参数 指定要压缩的文件
常用命令参数如下:
-d或--decompress或----uncompress:解开压缩文件; -f或——force:强行压缩文件。不理会文件名称或硬连接是否存在以及该文件是否为符号连接; -l或——list:列出压缩文件的相关信息; -r或——recursive:递归处理,将指定目录下的所有文件及子目录一并处理; -v或——verbose:显示指令执行过程;
案例演示:
使用gzip
命令对当前目录下的new.tar
文件进行压缩,具体使用如下命令:
gzip new.tar
zip
zip
命令对文件进行打包操作。zip
是个使用广泛的压缩程序,文件经它压缩后会另外产生具有.zip
扩展名的压缩文件。
具体命令如下:
zip 命令参数 指定生成的压缩文件名 要被压缩的文件/目录列表
常用命令参数如下:
-d:从压缩文件内删除指定的文件; -q:不显示指令执行过程; -r:递归处理,将指定目录下的所有文件和子目录一并处理; -v:显示指令执行过程或显示版本信息; -u:更换较新的文件到压缩文件内; -x<范本样式>:压缩时排除符合条件的文件;
案例演示:
使用zip
命令将newDir
目录下的所有文件/目录压缩生成newDir.zip
,具体使用如下命令:
zip -r newDir.zip newDir
tar命令进行压缩
在上一关的学习中,我们学会了使用tar
命令对多个文件/目录进行打包操作,如果针对多文件/目录进行压缩操作时,首先使用tar
将其打包生成一个文件,然后使用bzip2
和gzip
对其进行压缩,那么这里也可以使用tar
命令一步就实现对多文件/目录进行压缩操作。
采用bzip2
方式执行tar
命令进行压缩的具体命令如下:
tar -jcvf 指定生成的压缩文件名 要被压缩的文件/目录列表
常用命令参数如下:
-c 建立新的归档文件;
-v 处理过程中输出相关信息;
-f 对普通文件操作;
-j 以bzip2对文件/目录进行压缩;
采用gzip
进行压缩的具体命令如下:
tar -zcvf 指定生成的压缩文件名 要被压缩的文件/目录列表
常用命令参数如下:
-c 建立新的归档文件;
-v 处理过程中输出相关信息;
-f 对普通文件操作;
-z 以gzip对文件/目录进行压缩;
案例演示1
:
使用tar
命令将当前目录下的a.txt
、b.txt
和c.txt
文件压缩生成new.tar.bz2
,具体使用如下命令:
tar -jcvf new.tar.bz2 a.txt b.txt c.txt
这里也可以分为两步进行操作,首先是创建tar
包,然后对tar
包使用bzip2
进行压缩操作。
案例演示2
:
使用tar
命令将当前目录下的a.txt
、b.txt
和c.txt
文件压缩生成new.tar.gz
,具体使用如下命令:
tar -zcvf new.tar.gz a.txt b.txt c.txt
这里也可以分为两步进行操作,首先是创建tar
包,然后对tar
包使用gzip
进行压缩操作。
编程要求
在右侧编辑器中补充代码,对系统中已存在的文件/目录进行压缩操作,具体编程要求如下:
- 使用
tar
命令将当前目录下的oldFile1
和oldFile2
文件打包压缩成一个newFile.tar.gz
文件; - 使用
bzip2
命令对当前目录下的oldFile.tar
文件压缩; - 使用
zip
命令将当前目录下的oldDir
目录所有文件/目录压缩生成oldDir.zip
。
tar -zcvf newFile.tar.gz oldFile1 oldFile2
bzip2 oldFile.tar
zip -r oldDir.zip oldDir
3、解压缩
相关知识
Linux
下存在多个文件压缩工具,上一关我们介绍了包括bzip2
、gzip
和zip
。针对这三种压缩工具生成的压缩包,我们可以使用bunzip2
、gunzip
和unzip
命令对其进行解压缩。
接下让我们详细的学习bunzip2
、gunzip
和unzip
的使用方法。
bunzip2
bunzip2
命令解压缩由bzip2
指令创建的.bz2
压缩包。使用bzip2 -d
命令也可以将.bz2
压缩包进行解压。
具体命令如下:
bunzip2 命令参数 指定要解压的文件
常用命令参数如下:
-f或--force:解压缩时,若输出的文件与现有文件同名时,预设不会覆盖现有的文件;
-k或——keep:在解压缩后,预设会删除原来的压缩文件。若要保留压缩文件,请使用此参数;
-v或——verbose:解压缩文件时,显示详细的信息;
案例演示:
使用bunzip2
命令对当前目录下的new.tar.bz2
文件进行解压操作,具体使用如下命令:
bunzip2 new.tar.bz2 或 bzip2 -d new.tar.bz2
**注意:**这里解压生成了一个tar
包,如果想得到tar
包里的内容,则需要对tar
包进行解包操作(详细命令参考第一关知识点)。
gunzip
gunzip
命令解压缩由gzip
指令创建的.gz
压缩包。使用gzip -d
命令也可以将.gz
压缩包进行解压。
具体命令如下:
gunzip 命令参数 指定要解压的文件
常用命令参数如下:
-f或-force:强行解开压缩文件,不理会文件名称或硬连接是否存在以及该文件是否为符号连接;
-l或-list:列出压缩文件的相关信息;
-q或-quiet:不显示警告信息;
-r或-recursive:递归处理,将指定目录下的所有文件及子目录一并处理;
-v或-verbose:显示指令执行过程;
案例演示:
使用gunzip
命令对当前目录下的new.tar.gz
文件进行解压操作,具体使用如下命令:
gunzip new.tar.gz 或 gzip -d new.tar.gz
**注意:**这里解压生成了一个tar
包,如果想得到tar
包里的内容,则需要对tar
包进行解包操作(详细命令参考第一关知识点)。
unzip
unzip
命令用于解压缩由zip
命令压缩的.zip
压缩包。
具体命令如下:
unzip 命令参数 指定要解压的文件
常用命令参数如下:
-q:执行时不显示任何信息; -n:解压缩时不要覆盖原有的文件; -d<目录>:指定文件解压缩后所要存储的目录;
案例演示:
使用unzip
命令对当前目录下的newDir.zip
文件进行解压操作,具体使用如下命令:
unzip newDir.zip
tar命令进行解压缩
在上一关的学习中,我们学会了使用tar
命令对多个文件/目录进行打包压缩操作,本关将继续讲解使用tar
命令对文件进行解压缩操作。
采用bunzip2
进行解压缩的具体命令如下:
tar -jxvf 指定要解压的文件
常用命令参数如下:
-x 或--ext\fract或--get:从备份文件中还原文件;
-v 处理过程中输出相关信息;
-f 对普通文件操作;
-j 以bunzip2进行解压缩;
采用gzip
进行压缩的具体命令如下:
tar -zxvf 指定要解压的文件
常用命令参数如下:
-x 或--ext\fract或--get:从备份文件中还原文件;
-v 处理过程中输出相关信息;
-f 对普通文件操作;
-z 以gunzip进行解压缩;
案例演示1
:
使用tar
命令对当前目录下的new.tar.bz2
文件进行解压,具体使用如下命令:
tar -jxvf new.tar.bz2
这里也可以分为两步进行操作,首先是使用bunzip2
进行解压生成tar
包,然后对tar
包进行解包操作。
案例演示2
:
使用tar
命令对当前目录下的 new.tar.gz
文件进行解压,具体使用如下命令:
tar -zxvf new.tar.gz
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xFKpGOVH-1657181259261)(https://data.educoder.net/api/attachments/185323)]
这里也可以分为两步进行操作,首先是使用gunzip
进行解压生成tar
包,然后对tar
包进行解包操作。
编程要求
在右侧编辑器中补充代码,将压缩文件进行解压,具体编程要求如下:
- 使用
tar
命令解压当前目录下的oldFile.tar.gz
文件; - 使用
bunzip2
命令解压当前目录下的oldFile.tar.bz2
文件; - 使用
unzip
命令解压当前目录下的oldDir.zip
。
tar -zxvf oldFile.tar.gz
bunzip2 oldFile.tar.bz2
unzip oldDir.zip
linux典型压缩包操作 tar打包、压缩与解压相关推荐
- java 操作Zip文件(压缩、解压、加密)
java 操作Zip文件(压缩.解压.加密) 依赖:点击下载 package com.zxl.test;import net.lingala.zip4j.model.ZipParameters; im ...
- Linux(入门基础):04---文件的压缩、解压、打包(gzip、bzip2、xz、tar)
.tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) --------------- .gz 解压 ...
- java tar.gz 格式多文件打包压缩与解压
问题背景:开发中,我们时常会遇到对文件进行存储或传输的问题,但如果传输储存的文件较大,浪费磁盘空间不说,还会大大影响程序运行效率.于是便引出了这篇文章的主题,关于文件打包与压缩的问题.这里" ...
- linux shell tar 分卷压缩与解压
日常工作中总会设计到超过1G以上文件的下载或者上传,由于单文件scp是有速度上限的,将其分卷压缩,然后再scp就简单快速多了.下面记录一下过程. 分卷压缩 举例:将10G大小的log文件2017.lo ...
- Linux 下软件包的安装,压缩,解压(详细)
1.已经编译打包好的xxx.rpm 如果你的Linux系统带有安装程序,最好用系统自带的安装程序来安装.比如 SuSE的YaST2就带有安装程序,在KDE环境下只要是rpm,就可以在Konqueror ...
- 文件查找,打包压缩,解压相关分享
一,命令查找which which:命令查找,后面直接跟命令 例:which vim:查找vim命令的位置 二,文件查找find 1,语法 find [path-] [options] [expres ...
- Linux命令学习(4):gzip压缩与解压
版权声明:本文为博主原创文章,未经允许不得转载 引子 gzip是Linux系统中最常用也是高效的压缩压缩命令.早期Linux系统中主要使用compress命令压缩,得到后缀为".Z" ...
- tar 打包文件与解压文件
tar 命令打包文件与解压文件 打包文件 1.把/root目录下的test1整个打包为test1.tar文件,如下所示 [root@localhost ~]# pwd /root [root@loca ...
- tar.gz及tar.bz2两种常见格式的打包压缩及解压方法
tar.gz 压缩文件 tar -zcvf 文件名.tar.gz 被压缩的文件/路径... 解压文件 tar -zxvf 打包文件.tar.gz 解压文件到指定目录 tar -zxvf 打包文件.ta ...
- tar.xz压缩、解压方式
解压: tar xf /root/go_kubelet_make.tar.xz -C /root/ 压缩: tar -cJvf go_kubelet_make.tar.xz go_kubelet_ma ...
最新文章
- python创建对象的格式为_Python入门基础学习(面向对象)
- keras中的fit函数参数_keras的fit_generator与callback函数
- kubelet配置cni插件_从零开始入门 K8s | 理解 CNI 和 CNI 插件
- 第一周冲刺_周三总结
- 如何删除有病毒的网站?
- 初学 Delphi 嵌入汇编[12] - 在汇编代码中可以直接使用 Result
- 如何使用IDEA 显示一个类的所有方法?与eclipse的outline视图类似
- jzoj1882-亲戚【并查集】
- vim常用命令(二)
- 秒杀各大网盘的不限速大文件传输工具
- 云上Java System Profiling与Debugging——蚂蚁金服观察与实践
- 从孤独里找到一束光-2021
- 运动学逆解(四足机器狗)
- 求解:Assertion failed (size.width0 size.height0) in cv::imshow, file C:\build\master_winpack-buil
- 上升了百分之几怎么算_求增加百分之几的应用题
- antd提交表单_antd快速开发(Form篇)
- “使用区块链进行安全可信的电子医疗记录共享”外文翻译——2019年4月份
- HTML5期末大作业:汉堡美食网站设计——餐饮美食-汉堡美食(6页) HTML+CSS+JavaScript 汉堡美食 咖啡主题HTM5网页设计作业成品
- 爬虫攻守道 - 2023最新 - JS逆向 - Python Scrapy实现 - 爬取某天气网站历史数据
- cv2.boundingRect
热门文章
- android 内嵌web,Android《内嵌浏览器-WebView》
- 安卓游戏广告加速插件_游戏加速器(强烈推荐!)[PC+安卓]
- 网易云linux版本如何安装包,网易云音乐Linux版提供64位和32位ubuntu16.04安装包
- 如何使用cmd查看jdk版本
- 【资源】16个在线机器学习视频与教程
- 运动计步app开发的功能分析
- Unity官网地址变更为https://unity.cn/
- 如何在C++中调用python代码
- 商务与经济统计学习 --多个比率的比较、独立性及拟合优度检验
- 莫烦 Matplotlib