在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. iOS infoplist 权限设置
  2. 1003 Emergency (25 分)【难度: 中等 / 知识点: 变种的Dijkstra】
  3. OriginPro 2021 for win 科学绘图软件最新版 中英文 完美稳定附下载安装使用教程
  4. Finally语句块的运行
  5. python手动安装包_python pip如何手动安装二进制包
  6. string拼接_String拼接操作-的优化
  7. C# 7.0 新特性3: 模式匹配
  8. Xcode工作区间xxxx.xcworkspace不包含xxxx.xcodeproj
  9. Centos安装Lammps教程——intel、openmpi、fftw环境
  10. linux下安装交叉编译器
  11. 纯css实现icon的网站,代码可复制
  12. Several ports (8005, 8080, 8009) required by demo are already in use. The server may already be runn
  13. kiosk 无效_开发Kiosk Web应用程序的10个技巧
  14. 从零开始构建嵌入式实时操作系统2——重构
  15. 基于树结构的机器学习模型
  16. [转载]中情局数千份机密文档泄露:各种0day工具、恶意程序应有尽有
  17. 1_01李婉玲_函数_1019
  18. 可信云最高级认证 百度飞桨企业版BML就是这么飒!
  19. 三十二楼层选几层最好_【高层住宅几层最好】33、32层高层住宅几层最好,26、18高层住宅几层最好-吉屋网知识专区...
  20. RGBA 转 RGB

热门文章

  1. 苹果CEO史蒂夫·乔布斯(Steve Jobs),2005年,斯坦福大学
  2. Kafka Leader Election
  3. Firefox备份图文教程
  4. Redis(1): SQL or NoSql
  5. 实习总结-2017.5.2
  6. 不会论文管理?带你从零开始完成zotero安装,插件配置及使用
  7. 支持用户将文件从一台计算机,2016年职称计算机考试WindowsXP冲刺试题(5)
  8. java面试题:Redis常见面试题(实际面试有被问到)
  9. 文字图片转换成html,将图片转换成HTML格式的文字图程序源代码
  10. 修改Mendeley的界面字体