在Linux 中,解压、压缩、打包是日常会很频繁用到的几个操作,但是因为参数很多,没有记忆点,加上压缩文件的类型很多,如果不经常使用,是真的容易忘记。

<!-- more -->

所以这篇笔记就是用来整理常见的那些解压、压缩、打包的命令。

在正式学习之前,需要明确的两个概念,打包和压缩不是一回事:

  • 打包:是指将一大堆文件或目录变成一个总的文件。
  • 压缩:则是将一个大文件通过压缩算法变成一个小文件。

为什么要区分这两个概念呢?这源于Linux 中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得先将这一大堆文件先打成一个包(tar命令),然后再用压缩程序进行压缩(gzip bzip2命令)。

tar

压缩/打包

仅打包,不压缩。

tar -cvf foo.tar foo

foo.tar这个文件名是自定义的,只是习惯上我们使用 .tar 作为包文件。

打包,且压缩。-z 参数表示以 .tar.gz 或者 .tgz 后缀名代表 gzip 压缩过的 tar 包。

tar -zcvf foo.tar.gz foo

打包,且压缩。-j 参数表示以 .tar.bz2 后缀名作为tar包名。

tar -jcvf foo.tar.gz foo

解压

在当前目录下直接解压:

tar -zxvf foo.tar.gz

注意,如果这个目录下有同名的文件,不会询问,直接覆盖。

解压至指定文件夹:

tar -zxvf foo.tar.gz -C <dir name>

gzip

gzip 命令用来压缩文件。文件经它压缩过后,其名称后面会多处 .gz 扩展名(不带 .tar)。

压缩

将当前目录的每个文件压缩成.gz文件:

gzip *

递归压缩指定目录的所有文件及子目录:

gzip -r <dir name>

解压

解压当前目录下的foo.gz 文件:

gzip -d foo.gz

解压完成之后,foo.gz 就变成了 foo 文件。

递归解压目录:

gzip -dr <dir name>

解压完成之后,<dir name> 目录下的所有 .gz 文件都会变成正常文件。

zip

zip 可以用来解压缩文件,或者对文件进行打包操作。文件经它压缩后会另外产生具有 .zip 扩展名的压缩文件。

压缩

将当前目录下的指定目录,压缩为 .zip文件:

zip -q -r foo.zip <dir name>

将指定目录下的所有文件及其文件夹,压缩为.zip 文件:

zip -q -r foo.zip /<path to dir>

注意,产生的压缩文件在执行命令的那个目录下。

解压

unzip 命令用于解压缩由 zip 命令压缩的 .zip压缩包。

查看压缩包内容:

unzip -v foo.zip

将压缩文件在指定目录下解压缩,如果已有相同的文件存在,要求 unzip命令不覆盖原先的文件。

unzip -n foo.zip -d /<file to dir>

将压缩文件在当前目下解压,如果已有相同的文件,不询问,直接覆盖。

unzip -o foo.zip

总结

Linux 下的压缩解压其实并不复杂,只是不常用的情况下,很容器忘记。

如果你不知道在什么场景下,该使用什么命令,可以参照:

  • 如果只有一个大文件,可以使用 gzip 或者 zip命令。
  • 如果是一个完整的目录,里面有很多子目录以及文件,可以使用tar命令。
  • 有问题欢迎联系我。

Linux 压缩、解压、打包详解相关推荐

  1. linux打包tar包命令,Linux tar 命令压缩解压打包详解

    Linux中压缩解压打包命令中用的最多的tar命令.tar命令是Unix/Linux系统中备份文件的可靠方法,几乎可以工作于任何环境中,它的使用权限是所有用户.在使用tar的参数需要区分大小写,参数写 ...

  2. linux tar.xz 解压命令,Linux下.tar.xz文件的解压教程详解

    前言 对于xz这个压缩相信很多人陌生,但xz是绝大数linux默认就带的一个压缩工具,xz格式比7z还要小. 最近在下载某个源码包的时候遇到的这种压缩格式,乘此机会分享一下xz的压缩与解压方法. 安装 ...

  3. Linux学习之zImage内核镜像解压过程详解

      zImage内核镜像解压过程详解 收藏 zImage内核镜像解压过程详解 作者: 刘洪涛,华清远见嵌入式培训中心 讲师. 本文以linux-2.6.14内核在S3C2410平台上运行为例,讲解内核 ...

  4. linux中常用的压缩、解压命令详解

    不管在windows中还是在linux中,我们会经常看到各种压缩的文件,此刻我们需要使用就得解压,在这就介绍介绍linux中解压.压缩的命令. 在做实验之前,我们先创建几个文件,大小都是100M,方便 ...

  5. linux 的gz命令详解,linux tar.gz压缩解压命令详解

    linux tar.gz命令是一个常见的文件解压缩命令,那么它具体用法是怎样的呢?下面由 小编为大家整理了linux tar.gz命令的相关知识,希望对大家有帮助! 1.linux tar.gz压缩命 ...

  6. linux解压tar.gz文件,linux tar.gz压缩解压命令详解

    linux tar.gz命令是一个常见的文件解压缩命令,那么它具体用法是怎样的呢?下面由学习啦小编为大家整理了linux tar.gz命令的相关知识,希望对大家有帮助! 1.linux tar.gz压 ...

  7. linux tar解压压缩,linux下压缩解压tar 详解

    tar -c|x|u|r|t[z|j][v] -f [未打包文件] 将多个文件打包为一个归档文件,可以在打包的同时进行压缩.支持的格式为tar(归档).gz(压缩). bz2(压缩率更高,比较耗时) ...

  8. linux解压命令rar,Linux下压缩与解压命令详解

    本文为大家分享了Linux下压缩与解压缩命令,供大家参考,具体内容如下 [tar命令] 解压:tar -zxvf FileName.tar 压缩:tar -czvf FileName.tar DirN ...

  9. linux压缩内核镜像,zImage内核镜像解压过程详解

    本文以linux-2.6.14内核在S3C2410平台上运行为例,讲解内核的解压过程. 内核编译完成后会生成zImage内核镜像文件.关于bootloader加载zImage到内核,并且跳转到zIma ...

  10. Cnetos7系统---文件压缩与解压命令详解。

    在CentOS 7系统中,您可以使用多种命令进行文件压缩和解压缩操作.以下是常见的文件压缩和解压命令及其用法的详解: tar:tar命令用于打包文件或目录,并可选地压缩为tar压缩包. 创建tar压缩 ...

最新文章

  1. 如何全面认识联邦学习
  2. 学习全基因组测序数据分析2:FASTA和FASTQ
  3. 数字图像的表示与类型(学习篇)
  4. Scala学习 -- 基础语法
  5. 【开发环境】Mac 安装 PyCharm 开发环境 ( 下载 PyCharm | 安装 PyCharm )
  6. Spark SQL 函数全集
  7. inner join on, left join on, right join on的区别与介绍
  8. PRDICQR and PRD01QR
  9. 悲痛!临近年关,一位 IT 创业者自杀,曾卖房给员工发工资
  10. 【数据结构和算法笔记】最小生成树(贪心算法讲解 )
  11. AVR单片机学习笔记
  12. 在网页中加入“加载中提示”的方法
  13. 一周学好python_学好 Python 的 11 个优秀资源
  14. aecmap快捷键_ARCMAP快捷键总结
  15. Mac Mounty正常卸载方法(mount failed异常解决)
  16. 一文看懂25个神经网络模型,神经网络模型结构图
  17. 电池电量与电压的关系
  18. [转]Berkeley DB实现分析
  19. iPhone 13 支持卫星上网?没那么简单
  20. python基础编程:jenkins配置python脚本定时任务过程图解

热门文章

  1. 计算机图形学名词解释
  2. 【迷人的爪哇】——Java继承
  3. echarts绘制多条折线图
  4. 翻译论文:Deep Domain Confusion: Maximizing for Domain Invariance
  5. 【小白入门】Socket和webSocket入门 这一篇就够了!用php的Socket自己实现简单webSocket服务器!
  6. 芯片制造过程3洁净室
  7. Fisher信息量与Cramer-Rao不等式
  8. Numerical Optimization Ch10. Least-Squares Problems
  9. 肺部结节手术风险评估和手术时间预测 相关工作及可行性分析
  10. double类型问题(精度丢失和自动拆箱)