Linux系列之压缩命令
前言
Linux 有三个常用的压缩命令:gzip、bzip2和 tar 。本文介绍它们的区别和简单用法。
压缩文件
数据压缩是去除数据中冗余部分的过程,需要通过压缩算法完成。这些算法可分为两类:
- 无损压缩:保留原始文件中包含的所有数据。
- 有损压缩:在进行压缩时删除数据,以便应用更多的压缩。当文件被恢复时,它与原始版本不一致,是一个近似值。JPEG和MP3是有损压缩的例子。
gzip命令
该命令被用来压缩一个或多个文件。它将原始文件替换为压缩版本。
该命令的语法为gzip file 。
我们可以使用gunzip来解压缩。
gzip有诸多选项,使用命令man gzip查看完整的列表。
如果想要查看压缩的文本文件的内容,可以使用gunzip -c 或者 zcat进行查看。
bzip2命令
该命令与gzip类似,但使用了不同的压缩算法,并以压缩速度为代价实现更高的压缩水平。
用来压缩的命令:
bzip2 sample.txt
用来解压缩的命令:
bunzip2 sample.txt.bz2
bzip2也有几个受支持的选项。
归档文件
归档是将许多文件收集起来,并将它们打包在一起成为一个大文件的过程。
tar命令
tar程序是归档文件中的经典工具。如果你看到一个以.tar为扩展名的文件名,它表示一个普通的tar归档文件,如果它以.tgz结尾,它表示一个被gzip压缩过的归档文件。
tar有几种模式。请记住,模式必须总是先被指定。
| 模式 | 描述 |
|---|---|
| c | 从文件和/或目录的列表中创建一个归档。 |
| x | 提取一个归档。 |
| r | 将指定的路径名,添加到归档的末尾。 |
| t | 列出归档的内容。 |
我已经创建了几个文件夹和文件,我可以用tar cf playground.tar playground归档它们。
我们可以使用v选项(verbose)来获得更详细的列表。
我们可以在一个新的位置提取tar。请记住,除非我们是以超级用户的身份进行操作,否则从归档中提取的文件和目录的所有权是由执行恢复的用户来承担的,而不是原始的所有者。
tar默认使用相对路径名而不是绝对路径名。这是非常有用的,因为它允许我们提取归档到任何位置,而不是必须提取到它们的原始位置。
你可以通过在tar命令中加入尾部的路径名来限制从归档文件中提取的内容,tar将只恢复指定的文件。你也可以指定多个路径名。通配符通常情况下不被支持,但GUN版本的tar通过--wildcards选项支持它们。
tar xf ../playground2.tar --wildcards 'home/azureuser/playground/dir-*/file-A'
现代版本的GNU tar分别通过使用z和j选项,来直接支持gzip和bzip2压缩。
T是-files-from选项的缩写,它向tar指出从哪里读取它的路径名列表,以前我们告诉tar要使用的目录或文件,但现在我们使用-选项,这让tar知道要使用标准输入或输出作为要提取或归档的文件。-T选项起初有点令人困惑。这个命令是在说:
find playground/ -name 'file-A'查找playground中与file-A相匹配的所有文件|将查找到的内容使用管道输出到tartar czf playground创建一个被gzip压缩的tar,命名为playground.tgz-T -标准输出的文件,这些文件来自管道查找命令的标准输出。
Linux系列之压缩命令的更多相关文章
- Linux 常用的压缩命令有 gzip 和 zip
Linux 常用的压缩命令有 gzip 和 zip,两种压缩包的结尾不同:zip 压缩的后文件是 *.zip ,而 gzip 压缩后的文件 *.gz 相应的解压缩命令则是 gunzip 和 unzip ...
- [转帖]Linux系列之SAR命令使用详解
Linux系列之SAR命令使用详解 sar是System Activity Reporter(系统活动情况报告)的缩写.这个工具所需要的负载很小,也是目前linux中最为全面的性能分析工具之一.此款工 ...
- linux系统常见压缩命令
在linux环境中,压缩文件的扩展名基本是:*.tar,*.tar.gz,*.tgz,*.gz,*.Z,*.bz2 *.Z compress程序压缩的文件 *.gz gzip程序压缩的文件 *.bz2 ...
- Linux 解压压缩命令
一.概述: 1.压缩命令: 命令格式:tar -zcvf 压缩文件名.tar.gz 被压缩文件名 可先切换到当前目录下.压缩文件名和被压缩文件名都可加入路径. 2.解压缩命令: 命令格式:t ...
- 【linux】打包压缩命令
打包命令:tar\zip 压缩命令:gzip 打包文件 tar -zcvf xxx/ tar -xvf xxx.tar z的意思是通过gzip压缩 c是create是生成打包的意思,x是解包 v是压缩 ...
- linux下的压缩命令
linux zip命令 zip -r myfile.zip ./* 将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件. 2.unzip unzip - ...
- 【linux系列】压缩和解压缩tar
tar -c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个.下面的 ...
- (六)Linux下的压缩命令
======================================================================================== .zip格式的压缩和解 ...
- Linux系列之压缩与解压
1.压缩技术 1.常用命令实例 1.zip格式的压缩与解压缩 zip是压缩指令,unzip是解压指令.zip指令既可以压缩文件,也可以压缩目录.压缩会自动保留源文件,解压会自动保留压缩文件. zip ...
随机推荐
- 技术管理进阶——空降Leader如何开展工作?
原创不易,求分享.求一键三连 前几天有个粉丝咨询了一个的问题: 最近遇到一个空降Leader,挺苦恼的: 新Leader技术很厉害,但平时根本就不管我们,也不愿意了解业务,更像是一个技术顾问. 具体案 ...
- node-sass,sass-loader和node之间的关系
vue-cli运行在node平台上scss语言是运行在 node-sass平台上node-sass的运行环境是node平台vue-cli工程中不识别scss语法,.scss模块,sass-loader ...
- 微信小程序避坑指南——echarts层级太高/层级遮挡
问题:小程序中echarts因为小程序原生的canvas层级太高,而导致弹窗这类dom元素无法遮挡住canvas,如下图: 解决方案1:(wx:if控制dom显隐,显示canvas就重新渲染echar ...
- Linux 运行升讯威在线客服系统:同时支持 SQL Server 和 MySQL 的实现方法
前段时间我发表了一系列文章,开始介绍基于 .net core 的在线客服系统开发过程. 有很多朋友一直提出希望能够支持 MySQL 数据库,考虑到已经有朋友在用 SQL Server,我在升级的过程中 ...
- 2021.10.19 CSP 模拟赛 总结
T1 题意: \(n\) 个人摘苹果,跳起高度为 \(a_i\),苹果高度为 \(h_i\),高度小的先摘,摘了就没了 直接排序+双指针,复杂度 \(O(n+m)\) T2 题意:要轰炸一个有向图的所 ...
- 【Openxml】颜色变化属性计算
Openxml的颜色变化属性 目前Openxml存在颜色变化属性如下: 参数 说明 Hue 色调(色相) HueModulate 色调调制,百分比 HueOffset 色调偏移量,角度值 Satura ...
- 使用PowerShell校验文件MD5
更新记录 2022年4月16日:本文迁移自Panda666原博客,原发布时间:2021年7月14日. 方法1:使用Get-FileHash命令 (Get-FileHash ".\SQLSer ...
- 二、shell 脚本条件测试
目录 一.条件测试 test 格式 文件测试 文件测试常见选项 整数值比较 字符串比较 浮点数的运算 逻辑测试 二.if语句 1单分支 2双分支结构 3多分支结构 三元运算符 三.case 一.条件测 ...
- JavaScript易错知识点
JavaScript易错知识点整理1.变量作用域上方的函数作用域中声明并赋值了a,且在console之上,所以遵循就近原则输出a等于2. 上方的函数作用域中虽然声明并赋值了a,但位于console之下 ...
- Spring Data JPA系列3:JPA项目中核心场景与进阶用法介绍
大家好,又见面了. 到这里呢,已经是本SpringData JPA系列文档的第三篇了,先来回顾下前面两篇: 在第1篇<Spring Data JPA系列1:JDBC.ORM.JPA.Spring ...