Linux 压缩解压命令

2023-10-27

linux解压 tar命令

 

tar命令

tar [-cxtzjvfpPN] 文件与目录 .... 
参数: 
-c :建立一个压缩文件的参数指令(create 的意思); 
-x :解开一个压缩文件的参数指令! 
-t :查看 tarfile 里面的文件! 
特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在! 
因为不可能同时压缩与解压缩。 
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩? 
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩? 
-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程! 
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数! 
   例如使用『 tar -zcvfP tfile sfile』就是错误的写法,要写成 
   『 tar -zcvPf tfile sfile』才对喔! 
-p :使用原文件的原来属性(属性不会依据使用者而变) 
-P :可以使用绝对路径来压缩! 
-N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中! 
--exclude FILE:在压缩的过程中,不要将 FILE 打包! 
范例: 
范例一:将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar 
[root@linux ~]#
 tar -cvf /tmp/etc.tar /etc<==仅打包,不压缩! 
[root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc<==打包后,以 gzip 压缩 
[root@linux ~]# tar -jcvf /tmp/etc.tar.bz2 /etc<==打包后,以 bzip2 压缩 
# 特别注意,在参数 f 之后的文件档名是自己取的,我们习惯上都用 .tar 来作为辨识。 
# 如果加 z 参数,则以 .tar.gz 或 .tgz 来代表 gzip 压缩过的 tar file ~ 
# 如果加 j 参数,则以 .tar.bz2 来作为附档名啊~ 
# 上述指令在执行的时候,会显示一个警告讯息: 
# 『tar: Removing leading `/" from member names』那是关於绝对路径的特殊设定。

范例二:查阅上述 /tmp/etc.tar.gz 文件内有哪些文件? 
[root@linux ~]# tar -ztvf /tmp/etc.tar.gz 
# 由於我们使用 gzip 压缩,所以要查阅该 tar file 内的文件时, 
# 就得要加上 z 这个参数了!这很重要的!

范例三:将 /tmp/etc.tar.gz 文件解压缩在 /usr/local/src 底下 
[root@linux ~]# cd /usr/local/src 
[root@linux src]# tar -zxvf /tmp/etc.tar.gz 
# 在预设的情况下,我们可以将压缩档在任何地方解开的!以这个范例来说, 
# 我先将工作目录变换到 /usr/local/src 底下,并且解开 /tmp/etc.tar.gz , 
# 则解开的目录会在 /usr/local/src/etc 呢!另外,如果您进入 /usr/local/src/etc 
# 则会发现,该目录下的文件属性与 /etc/ 可能会有所不同喔!

范例四:在 /tmp 底下,我只想要将 /tmp/etc.tar.gz 内的 etc/passwd 解开而已 
[root@linux ~]# cd /tmp 
[root@linux tmp]# tar -zxvf /tmp/etc.tar.gz etc/passwd 
# 我可以透过 tar -ztvf 来查阅 tarfile 内的文件名称,如果单只要一个文件, 
# 就可以透过这个方式来下达!注意到! etc.tar.gz 内的根目录 / 是被拿掉了!

范例五:将 /etc/ 内的所有文件备份下来,并且保存其权限! 
[root@linux ~]# tar -zxvpf /tmp/etc.tar.gz /etc 
# 这个 -p 的属性是很重要的,尤其是当您要保留原本文件的属性时!

范例六:在 /home 当中,比 2005/06/01 新的文件才备份 
[root@linux ~]# tar -N "2005/06/01" -zcvf home.tar.gz /home

范例七:我要备份 /home, /etc ,但不要 /home/dmtsai 
[root@linux ~]# tar --exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc

范例八:将 /etc/ 打包后直接解开在 /tmp 底下,而不产生文件! 
[root@linux ~]# cd /tmp 
[root@linux tmp]# tar -cvf - /etc | tar -xvf - 
# 这个动作有点像是 cp -r /etc /tmp 啦~依旧是有其有用途的! 
# 要注意的地方在於输出档变成 - 而输入档也变成 - ,又有一个 | 存在~ 
# 这分别代表 standard output, standard input 与管线命令啦!

tar 
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
(注:tar是打包,不是压缩!)
———————————————
.gz
解压1:gunzip FileName.gz
解压2:gzip -d FileName.gz
压缩:gzip FileName

.tar.gz 和 .tgz
解压:tar zxvf FileName.tar.gz
压缩:tar zcvf FileName.tar.gz DirName
———————————————
.bz2
解压1:bzip2 -d FileName.bz2
解压2:bunzip2 FileName.bz2
压缩: bzip2 -z FileName

.tar.bz2
解压:tar jxvf FileName.tar.bz2
压缩:tar jcvf FileName.tar.bz2 DirName
———————————————
.bz
解压1:bzip2 -d FileName.bz
解压2:bunzip2 FileName.bz
压缩:未知

.tar.bz
解压:tar jxvf FileName.tar.bz
压缩:未知
———————————————
.Z
解压:uncompress FileName.Z
压缩:compress FileName
.tar.Z

解压:tar Zxvf FileName.tar.Z
压缩:tar Zcvf FileName.tar.Z DirName
———————————————
.zip
解压:unzip FileName.zip
压缩:zip FileName.zip DirName
———————————————
.rar
解压:rar x FileName.rar
压缩:rar a FileName.rar DirName
———————————————
.lha
解压:lha -e FileName.lha
压缩:lha -a FileName.lha FileName
———————————————
.rpm
解包:rpm2cpio FileName.rpm | cpio -div
———————————————
.deb
解包:ar p FileName.deb data.tar.gz | tar zxf -
———————————————
.tar .tgz .tar.gz .tar.Z .tar.bz .tar.bz2 .zip .cpio .rpm .deb .slp .arj .rar .ace .lha .lzh .lzx .lzs .arc .sda .sfx .lnx .zoo .cab .kar .cpt .pit .sit .sea
解压:sEx x FileName.*
压缩:sEx a FileName.* FileName

 

sEx只是调用相关程序,本身并无压缩、解压功能,请注意!

gzip 命令 
减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。gzip 是在 Linux 系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。

语法:gzip [选项] 压缩(解压缩)的文件名该命令的各选项含义如下:

-c 将输出写到标准输出上,并保留原有文件。-d 将压缩文件解压。-l 对每个压缩文件,显示下列字段:     压缩文件的大小;未压缩文件的大小;压缩比;未压缩文件的名字-r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩。-t 测试,检查压缩文件是否完整。-v 对每一个压缩和解压的文件,显示文件名和压缩比。-num 用指定的数字 num 调整压缩的速度,-1 或 --fast 表示最快压缩方法(低压缩比),-9 或--best表示最慢压缩方法(高压缩比)。系统缺省值为 6。指令实例:

gzip *% 把当前目录下的每个文件压缩成 .gz 文件。gzip -dv *% 把当前目录下每个压缩的文件解压,并列出详细的信息。gzip -l *% 详细显示例1中每个压缩的文件的信息,并不解压。gzip usr.tar% 压缩 tar 备份文件 usr.tar,此时压缩文件的扩展名为.tar.gz。
Linux中文件的压缩与解压缩
(李革新 2001年06月28日 14:02)

对许多用户来说,在DOS和Windows环境下利用工具软件ARJ、Winzip等,压缩或解压文件是比较容易的事。但是,在Linux中如何对文件进行压缩与解压呢?本文基于Red Hat 6.0,介绍了压缩与解压文件的几种方法与技巧,希望对读者有一定的帮助。 
 

命令 compress
格式 compress 选项 文件列表
功能 用Lempel-ziv压缩方法来压缩文件或压缩标准输入
选项 -r 递归操作,如果指定目录变元,则压缩该目录及其子目录中的所有文件。
-c 将压缩数据返回标准输出,而缺省情况下为压缩文件时将压缩数据返回文件。
-v 显示每个文件夹的压缩百分比。
解释 在用compress压缩文件时,将在原文件名之后加上扩展名.Z。如果不指定文件,则压缩标准输入,其结果返回标准输出。
实例 目的:压缩/mnt/lgx/a1.doc文件
命令:#compress /mnt/lgx/a1.doc
结果:压缩后生成a1.doc.Z文件。

 

命令 uncompress
格式 uncompress 选项 文件列表
功能 解压缩用compress 程序压缩过的文件
选项 -c 它将压缩数据发往标准输出而不是改写旧的压缩文件
解释 如果不指定文件,则解压缩标准输入。缺省-c时,为解压缩。
实例 目的:解压缩/mnt/lgx/a1.doc.Z
命令:# uncompress /mnt/lgx/a1.doc.Z

 

命令 gzip
格式 gzip 选项 文件目录列表
功能 用Lempel-ziv编码压缩文件
选项 -c 压缩结果写入标准输出,原文件保持不变。缺省时gzip将原文件压缩为.gz文件,并删除原文件。
-v 输出处理信息。
-d 解压缩指定文件。
-t 测试压缩文件的完整性。
解释 值得一提的是,gzip比compress压缩更加有效。
实例 目的:压缩/mnt/lgx/a1.doc
命令:#gzip -v /mnt/lgx/a1.doc
结果:产生a1.doc.gz的压缩文件

 

命令 gunzip
格式 gunzip 选项 文件列表
功能 解压缩用gzip命令(以及compress和zip命令)压缩过的文件
选项 -c 将输出写入标准输出,原文件保持不变。缺省时,gunzip将压缩文件变成解压缩文件。
-l 列出压缩文件中的文件而不解压缩。
-r 递归解压缩,深入目录结构中,解压缩命令行变元所指定目录中的所有子目录内的文件。
实例 目的:解压缩/mnt/lgx/a1.doc.gz
命令:#gunzip /mnt/lgx/a1.doc.gz

 

命令 tar
格式 tar 选项 文件目录列表
功能 对文件目录进行打包备份
选项 -c 建立新的归档文件
-r 向归档文件末尾追加文件
-x 从归档文件中解出文件
-O 将文件解开到标准输出
-v 处理过程中输出相关信息
-f 对普通文件操作
-z 调用gzip来压缩归档文件,与-x联用时调用gzip完成解压缩
-Z 调用compress来压缩归档文件,与-x联用时调用compress完成解压缩
实例1 目的:用tar打包一个目录下的文件
命令:#tar -cvf /mnt/lgx/a1.doc
结果:产生一个以.tar为扩展名的打包文件
实例2 目的:用tar解开打包文件
命令:#tar -xvf /mnt/lgx/a1.doc.tar
附加说明:在通常情况下,tar打包与gzip(压缩)经常联合使用,效果更好。方法是:
首先用tar打包,如:#tar -cvf /mnt/lgx/a1.doc (产生a1.doc.tar文件)
然后用gzip压缩a1.doc.tar文件,如:#gzip /mnt/lgx/a1.doc.tar (产生a1.doc.tar.gz文件)
实例3 目的:解压a1.doc.tar.gz文件
方法1:
#gzip -dc /mnt/lgx/a1.doc.tar.gz (产生a1.doc.tar文件)
#tar -xvf /mnt/lgx/a1.doc.tar (产生a1.doc文件)
这两次命令也可使用管道功能,把两个命令合二为一:
#gzip -dc /mnt/lgx/a1.doc.tar.gz | tar -xvf
方法2:使用tar提供的自动调用gzip解压缩功能
#tar -xzvf /mnt/lgx/a1.doc.tar.gz
经过tar打包后,也可用compress命令压缩(注:gzip比compress压缩更加有效),产生一个以.tar.Z的文件,在解包时,可先用“uncompress 文件名”格式解压,然后用“tar -xvf 文件名”解包。也可直接调用“tar -Zxvf 文件名”解包。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux 压缩解压命令 的相关文章

  • html 预览 base64 PDF

    pdf gt base64 pdf转base64数据 走看看 div class container div class row div class col md 12 div class form group div div div di
  • xenserver常见问题汇总

    xenserver常见问题汇总 gt gt Q1 无法删除POOL里面的虚拟机 选中不能删除的虚拟机所在的物理机 在console下输入如下内容 xe host forget uuid 其中uuid的信息使用 xe host list查看
  • 合法三角形

    有n个不同的点 问有多少组三元组能构成面积非0的三角形 Input 单组测试数据 第一行一个整数n 1 n 2000 表示点的数目 接下来n行 每行包含两个整数 xi yi 100 xi yi 100 表示第i个点的坐标 输入保证点是两两不
  • C++ std::tr1::shared_ptr使用

    看 effective c 作者一直强调用std tr1 shared ptr 比起auto ptr好多了 shared ptr采用引用计数 多个指针可以指向同一个对象 auto ptr就不能 只能运行一个指针指向一个对象 如果要指针赋值
  • Spring系列之spring中编程式事务怎么用的?

    本文内容 详解spring中编程式事务的使用 spring中使用事务的2种方式 spring使事务操作变的异常容易了 spring中控制事务主要有2种方式 编程式事务 硬编码的方式 声明式事务 大家比较熟悉的注解 Transaction的方
  • unity中关于WWW过时后 怎么改成用UnityWebRequest的代码

    在学习Unity的时候 视频学到文件读取时都是在用WWW的类 但是WWW过时了 现在都在使用UnityWebRequest 网上找了好多资料都是开协程用UnityWebRequest 跟学习视频上的代码套不上 自己试了了一下午才知道怎么回事
  • STM32串口接收中断BUG

    原文来自 http blog csdn net love maomao article details 8234039 调试串口时 发现串口会出现频繁跳中断 导致无法执行主循环的问题 调试发现是串口中断硬件BUG 1 USART ITCon
  • 小明分享

    小明会定期分享SigmastarSSD201 202相关芯片技术文档 我们也有一个Sigmastar技术沟通群聊 有感兴趣的开发小伙伴也可以留言给小明 小明邀请你进入 SSD20X 平 台 LCD 屏 的 配 置 主 要 涉 及 两 个 结
  • Android Studio使用lombok插件

    1 使用android studio 在插件中检索lombok下载安装 2 build gradle导入依赖 implementation org projectlombok lombok 1 18 8 annotationProcesso
  • 使用PostMan测试接口的时候如何在Header中添加token验证

    前提 由于业务要求 每次接口请求都是post方式 且头部需要在自定义字段中定义token字段 做法 在Authorization中添加APIKey 然后添加token和token的值 因为这里只是简单的开发个测试接口 所以不能通过登录验证去
  • #Java 拆分数字123456为[1,2,3,4,5,6]

    原题目 有int num 123456 如何在不转字符串并且不使用split 方法的情况下将其拆分为 1 2 3 4 5 6 解答 int num 1233456 int fac 10 算术因子 ArrayList
  • $.ajax()post方式请求参数无法传递,request.getParameter()无法获取

    ajax post方式请求参数无法传递 request getParameter 无法获取 在前台页面中 ajax url ctx rediscluster delete do data rname rname type post data
  • vue使用高德地图报错:AMap.DistrictSearch is not a constructor问题解决

    这个问题说的 是没有初始化 解决如下 参考 https blog csdn net shidaping article details 78537730
  • 400 Bad Request: The browser (or proxy) sent a request that this server could not understand.

    问题 from flask restful reqparse 自定义的help内容无法显示 代码如下 from flask restful import reqparse class EquipmentStaticView views Me
  • Unity Android手机触屏事件

    一 下面先说经常用的三个事件 手指按下 手指移动 手指松开 1 手指按下 if input touchCount 1 if input touches 0 phase TouchPhase Beagn 手指按下时 要触发的代码 2 手指在屏
  • 监控系统 服务器配置,监控系统服务器配置

    监控系统服务器配置 内容精选 换一换 简要介绍Mesos是一个集群管理器 提供了有效的 跨分布式应用或框架的资源隔离和共享 可以管理Hadoop MPI Hypertable Spark等集群 语言 C C 一句话描述 集群管理器开源协议
  • docker 报错 Container is not running

    我在运行docker exec it 56b90db5253e bin bash报错 出现这个问题 是因为Container容器之前已经启动过了 需要执行docker start 56b90db5253e就可以解决了
  • 转:前端 100 问:能搞懂80%的请把简历给我

    前端 100 问 能搞懂80 的请把简历给我 引言 半年时间 几千人参与 精选大厂前端面试高频 100 题 这就是 壹题 在 2019 年 1 月 21 日这天 壹题 项目正式开始 在这之后每个工作日都会出一道高频面试题 主要涵盖阿里 腾讯
  • 【工具】谷歌浏览器禁用JS

    操作 F12 进入调试窗口 ctrl shift p 调出命令行工具 输入 disable javascript 选中后回车执行 反之 enable javascript 启用JS 或者直接关闭调试窗口 好处 绕开JS校验 可以直接复制代码
  • java导入csv格式文件之身份证格式处理

    一 出现的问题 csv中的身份证号如下图 导到数据库中的结果 因此怎样导入才能使身份证能够正常导入呢 2 解决方案 第一步 选中身份证那一列 第二步 右键选择 设置单元格格式 第三步 数字列中 选择 特殊 gt 邮政编码 点击确定

随机推荐

  • MySql基础教程(二):数据类型

    MySql基础教程 二 数据类型 MySQL 中定义数据字段的类型对你数据库的优化是非常重要的 MySQL 支持多种类型 大致可以分为三类 数值 日期 时间和字符串 字符 类型 数值类型 MySQL 支持所有标准 SQL 数值数据类型 这些
  • 【C++11】随机数引擎与随机数类

    文章目录 随机数引擎与伪随机数 获取 真随机数 静态随机数引擎 随机数种子 std random device 服从均匀分布的整型随机数 服从均匀分布的实型随机数 服从标准正态分布的随机数 服从二项分布的随机结果 随机数引擎与伪随机数 C
  • 【CSDN竞赛】第八期解题报告

    文章目录 感想 关于自己 关于平台 第一题 难度 入门但是不完全入门 题目描述 90分做法 100分做法 第二题 难度 中等 题目描述 100分做法 第三题 难度 简单 中等 题目描述 100分做法 第四题 难度 中等 题目描述 100分做
  • 使用Qt开发俄罗斯方块游戏(1)

    使用Qt开发俄罗斯方块游戏 可能大家都比较感兴趣吧 那么就快看下面的详细讲解吧 其实在Qt Creator中已经有了俄罗斯方块的例子 大家可以在帮助中搜索Tetrix进行查看 其内容如下 但是对于初学者 这个例子并不是那么容易就能看懂 所以
  • 【图卷积神经网络】1-入门篇:为什么使用图神经网络(下)

    为什么使用图神经网络 在本书中 我们将重点介绍图学习技术中的深度学习家族 通常称为图神经网络 GNNs是一种新的深度学习架构类别 专门设计用于处理图结构化数据 与主要用于文本和图像的传统深度学习算法不同 GNNs明确地用于处理和分析图数据集
  • CSS中line-height属性

    line height CSS 属性用于设置多行元素的空间量 如多行文本的间距 对于块级元素 它指定元素行盒 line boxes 的最小高度 对于非替代的 inline 元素 它用于计算行盒 line box 的高度 CSS Demo l
  • Latex中插入多张图片,实现并排排列或者多行多列排列

    最近需要用latex插入多张图片 达到这么一个效果 但是我原来只插入过一张图片 图片内容来源于网络 是国漫一人之下的宝儿姐 强推这部国漫 代码如下 效果如图 begin figure centering includegraphics he
  • yolov3训练讯飞安检图像数据集记录

    yolov3训练讯飞安检图像数据集记录 前言 前置工作 数据集 yolov3配置 下载yolov3项目代码 修改Makefile文件并编译 实验 准备数据集 下载Imagenet上预先训练的权重 修改darknet cfg voc data
  • 用std::string::compare()用法

    c 系列文章目录 c 处理文本相对于python等脚本语言还是挺麻烦的 往往需要和fstream fstream string 一起配合使用才能完全把文本解析出来 其实 string并不是一个单独的容器 只是basic string 模板类
  • Unity3D高级动画(Animator)-动画状态机

    动态系统种类 Animation动画状态机 是旧版的动画状态机 Animator动画状态机 是新版的动画状态机 其实就是由Animation组成的 这里我们常用这个 Animator的使用 1 从网上找的3D模型FBX文件 包括了模型的动画
  • random_queue:支持push, popRamdom的数据结构

    pop哪一个元素 决定了queue stack priority queue的不同 新加一个random queue 等概率的从集合里取出一个元素pop 1 先用rand int l int r 得到一个随机位置 2 和top交换 3 to
  • Sonar部分问题解决归纳

    1 Refactor this method to not always return the same value 方法的返回值应根据不同情况而发生改变 不能返回固定值 实际判断是应结合返回值赋值情况等决定是否更改 2 String li
  • ARMV8体系结构简介:AArch64系统级体系结构之编程模型(4)- 其它

    1 前言 2 可配置的指令使能 禁用控制和trap控制 指令使能 禁用 当指令被禁用 则这条指令就会变成未定义 指令Trap控制 控制某条或某些指令在运行时进入陷阱 进入陷阱的指令会产生trap异常 路由规则如下 1 当前为EL1 则陷阱异
  • 【JDBC】JDBC之ResultSet 结果集

    ResultSet 结果集 一 ResultSet 结果集 1 1 接收结果集 1 2 遍历ResultSet中的数据 1 2 1 遍历方法 1 3 综合案例 1 3 1 根据列的名称获取 1 3 2 根据列的下标获取 二 常见错误 一 R
  • Android Studio 安装虚拟机报错 Intel® HAXM installation failed.

    Android Studio 安装虚拟机时报错 Intel HAXM installation failed To install Intel HAXM follow the instructions found at https gith
  • React - 甘特图时间轴

    组件调用
  • MySQL数据库基础

    目录 数据库介绍 什么是数据库 数据库的分类 1 数据库的操作 创建数据库 显示数据库 使用数据库 删除数据库 2 表的操作 创建表 删除表 3 常用数据类型 插入数据 查询数据 从本篇起就又要开始新的篇章了 数据结构初级阶段的就告一段落了
  • 未能加载文件或程序集 或它的某一个依赖项。试图加载格式不正确的程序。问题解决

    我使用x64程序 运行时总报错 解决方案 仔细检查项目引用的dll 有win32的直接移除 换x64的 介绍如何使用工具查看dll是否是x86或者x64的 如何查看dll以及lib文件是32位还是64位 参考 https blog csdn
  • RestSharp访问带有账号密码的接口地址实现方法

    可以将账号密码封装成一个HttpBasicAuthenticator 然后将其当作参数放置到RestSharpClient中 即可成功解决 其在postman中的表现是
  • Linux 压缩解压命令

    linux解压 tar命令 tar命令 tar cxtzjvfpPN 文件与目录 参数 c 建立一个压缩文件的参数指令 create 的意思 x 解开一个压缩文件的参数指令 t 查看 tarfile 里面的文件 特别注意 在参数的下达中 c