目录

前言

什么是压缩?

tar的介绍与使用

简介

打包压缩文件

打包文件(不压缩)

gzip压缩类型压缩文件

bzip压缩类型压缩文件

xzip压缩类型压缩文件

解包解压文件

简介

解压缩(解压到当前目录)

解压缩(指定解压到的目录)

总结


前言

前面学习了文件的查找,这篇文章将学习Linux中文件的打包及解压、文件的解包和解压。这就是这篇文章的学习目标,学会如何打包压缩,解包解压。


什么是压缩?

压缩的原理就是去重法,在一个目录或者文件中有多个重复的内容,在压缩过程中会将这些重复的内容用简短的内容来代替,压缩的文件是无法直接打开的,需要经过解压才可以打开使用。


tar的介绍与使用

简介

tar命令是Unix/Linux系统中备份文件的可靠方法,几乎可以作用于任何环境中,他的使用权限是所有用户。
建议针对目录。

打包压缩文件

命令语法:语法:tar  选项  压缩包名称   源文件

选项可用:

  • -cf:c是create   f是file,cf是打包。
  • -czf:gzip压缩类型压缩文件,z是gzip。
  • -cjf:bzip压缩类型压缩文件,j是bzip。
  • -cJf:xzip压缩类型压缩文件,J是xzip。

注意:czf、cjf、cJf这些选项的字母顺序不能乱,不然会报错。

打包文件(不压缩)

命令:tar   -cf   压缩名   需要压缩的文件

代码如下(示例):

//查看test文件内容
[root@localhost ~]# ll /test
总用量 0
//打包etc文件到test/目录下,并且名称为tar.tar
[root@localhost ~]# tar -cf  /test/tar.tar /etc
tar: 从成员名中删除开头的“/”
//查看test目录内容
[root@localhost ~]# ll /test
总用量 38272
-rw-r--r--. 1 root root 39188480 10月 31 14:14 tar.tar

仅仅是打包了etc/目录,并没有压缩。

gzip压缩类型压缩文件

命令:tar   -czf   压缩名   需要压缩的文件

代码如下(示例):

//调换f和z的顺序压缩文件失败
[root@localhost ~]# tar -cfz /test/tar-gzip.tar  /etc
tar: 从成员名中删除开头的“/”
tar: /test/tar-gzip.tar:无法 stat: 没有那个文件或目录
tar: 由于前次错误,将以上次的错误状态退出
//并没有压缩成功
[root@localhost ~]# ll -h /test/
总用量 38M
-rw-r--r--. 1 root root 38M 10月 31 14:14 tar.tar
//正确顺序czf压缩etc到test目录,压缩包名称为tar-gizip.tar
[root@localhost ~]# tar -czf /test/tar-gzip.tar  /etc
tar: 从成员名中删除开头的“/”
//查看test下文件内容
[root@localhost] ll -h /test/
总用量 50M
-rw-r--r--. 1 root root 12M 10月 31 14:36 tar-gzip.tar
-rw-r--r--. 1 root root 38M 10月 31 14:14 tar.tar

由代码可以看出czf这三个字母的顺序不能颠倒,否则会报错。如图所见,仅仅打包的文件大小为38M,压缩文件大小为12M,文件大小明显减少很多,为我们省去空间,这就是压缩的目的。

bzip压缩类型压缩文件

命令:tar -cjf  压缩文件名    需要压缩的文件

代码如下(示例):

//使用bzip格式解压文件etc到test目录,压缩包名为tar-bzip.tar
[root@localhost ~]# tar -cjf /test/tar-bzip.tar /etc
tar: 从成员名中删除开头的“/”
[root@localhost ~]# ll -h  /test
总用量 60M
-rw-r--r--. 1 root root 11M 10月 31 14:41 tar-bzip.tar
-rw-r--r--. 1 root root 12M 10月 31 14:36 tar-gzip.tar
-rw-r--r--. 1 root root 38M 10月 31 14:14 tar.tar

使用cjf选项压缩文件的时候会发现压缩时间比czf选项压缩文件时间长。

xzip压缩类型压缩文件

命令:tar   -cJf   压缩文件名    需要压缩的文件

代码如下(示例):

//以xzip格式压缩etc目录到test目录,压缩包名为/tar-xzip.tar
[root@localhost ~]# tar -cJf  /test/tar-xzip.tar   /etc
tar: 从成员名中删除开头的“/”
[root@localhost ~]# ll  -h /test
总用量 68M
-rw-r--r--. 1 root root  11M 10月 31 14:41 tar-bzip.tar
-rw-r--r--. 1 root root  12M 10月 31 14:36 tar-gzip.tar
-rw-r--r--. 1 root root  38M 10月 31 14:14 tar.tar
-rw-r--r--. 1 root root 8.3M 10月 31 14:46 tar-xzip.tar

如图所示,各种压缩方法的压缩文件后的大小有所不一样,当我们压缩的时候明显感觉使用不同的方法压缩文件,等待的时间也是不一样的,压缩时间和压缩比例成正比,压缩后的文件大小越小,压缩所需要的时间越长,在生产环境下,我们一般追求速率,一般选择压缩时间短的压缩方法进行对文件的压缩。


解包解压文件

简介

打包压缩后的文件不是目录了是文件用cat查看会乱码,不是目录是无法用命令进入到里面的,这个时候我们需要对压缩文件进行解包解压操作。

解压缩(解压到当前目录)

命令:tar   -xf    压缩包名称

代码如下(示例):

//进入/test目录
[root@localhost ~]# cd /test
[root@localhost test]# pwd
/test
//解压tar-gzip到当前目录
[root@localhost test]# tar -xf  /test/tar-gzip.tar
//查看当前目录信息,etc解压成功
[root@localhost test]# ll
总用量 69240
drwxr-xr-x. 140 root root     8192 10月 20 15:18 etc
-rw-r--r--.   1 root root 10663380 10月 31 14:41 tar-bzip.tar
-rw-r--r--.   1 root root 12337613 10月 31 14:36 tar-gzip.tar
-rw-r--r--.   1 root root 39188480 10月 31 14:53 tar.tar
-rw-r--r--.   1 root root  8688348 10月 31 14:46 tar-xzip.tar
//切换到tartest目录
[root@localhost test]# cd /tartest
[root@localhost tartest]# pwd
/tartest
//解压tar-gzip到当前目录
[root@localhost tartest]# tar -xf  /test/tar-gzip.tar
//查看当前目录信息,解压文件成功
[root@localhost tartest]# ll
总用量 12
drwxr-xr-x. 140 root root 8192 10月 20 15:18 etc

如代码所示,切换不同的目录解压文件,解压后的文件到了当前所在目录。

解压缩(指定解压到的目录)

命令:tar   -xf   需要接下的压缩包  -C  需要解压到的路径

代码如下(示例):

//创建两个新的文件夹
[root@localhost tartest]# mkdir /tartest1
[root@localhost tartest]# mkdir /tartest2
//解压tar-bzip.tar到tartest1目录中
[root@localhost tartest]# tar -xf  /test/tar-bzip.tar  -C /tartest1
//查看tartest1目录,指定解压路径成功
[root@localhost tartest]# ll /tartest1
总用量 12
drwxr-xr-x. 140 root root 8192 10月 20 15:18 etc
//解压tar-bzip.tar到tartest2目录中
[root@localhost tartest]# tar -xf  /test/tar-bzip.tar  -C /tartest2
//查看tartest2目录,指定解压路径成功
[root@localhost tartest]# ll /tartest2
总用量 12
drwxr-xr-x. 140 root root 8192 10月 20 15:18 etc

如代码所示,指定解压路径后,解压后的文件会自动到指定的路径中。


总结

本篇文章主要学习了解压缩原理,压缩的好处可以节省空间,学习压缩解压文件的操作,并且需要注意压缩选项的字母顺序不能乱否则会报错操作失败。


创作不易,动动小手给个点赞加关注吧,有什么意见评论区告诉我,一起学习。

Linux文件打包及压缩、解包及解压相关推荐

  1. Linux——文件打包与压缩

    Linux 下常见常用的压缩包文件格式有*.zip,*.rar,*.7z*.gz,*.xz,*.bz2,*.tar,*.tar.gz,*.tar.xz,*tar.bz2等后缀的压缩文件 文件后缀名 说 ...

  2. system.img解包打包工具_好程序员云计算学习路线分享文件打包及压缩

    好程序员云计算学习路线分享文件打包及压缩 好程序员 建议针对目录 Demo: 复制未打包的文件到远程主机 [root@yangs ~]# du -sh /etc 39M /etc [root@yang ...

  3. linux tar zcxf,tar/gzip/zip文件打包、压缩命令

    一.tar打包备份工具 1.命令功能 tar 将多个文件或目录打包在一起,可用通过调用gzip或zip实现压缩.解压的命令:tar不仅可以多多个文件进行打包,还可以对多个文件打包后进行压缩. 2.语法 ...

  4. Linux新手上路(六):文件打包和解压缩

    1.概念讲解 在讲 Linux 上的压缩工具之前,有必要先了解一下常见常用的压缩包文件格式.在 Windows 上最常见的不外乎这两种 .zip,.7z 后缀的压缩文件.而在 Linux 上面常见的格 ...

  5. linux中如何压缩单个文件大小,Linux 将文件打包、压缩并分割成指定大小

    打包文件: tar -cvf .tar 分割文件: split -b 3G -d -a .tar .tar. //使用split命令,-b 3G 表示设置每个分割包的大小,单位还是可以k // -d ...

  6. Linux 文件打包压缩常用命令(笔记,搜录自网络和文档)

    Linux 文件打包压缩常用命令 zip 老了一些,但是所有系统都支持(.zip). 格式   zip 压缩后的文件名 要被压缩的文件 参数 参数   -1                    压缩 ...

  7. linux下tar命令解压缩,tar解压缩命令 Linux下的tar压缩解压缩命令详解

    <tar解压缩命令 Linux下的tar压缩解压缩命令详解>由会员分享,可在线阅读,更多相关<tar解压缩命令 Linux下的tar压缩解压缩命令详解(14页珍藏版)>请在人人 ...

  8. linux下的tar压缩解压缩命令详解,Linux下的tar压缩解压缩命令详解

    linux下tar gz bz2 tgz z等众多压缩文件的压缩与解压方法,需要的朋友可以参考下 Linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命 ...

  9. 把java文件打包成.jar (jar命令详解)

    把java文件打包成.jar (jar命令详解) 先打开命令提示符(win2000或在运行框里执行cmd命令,win98为DOS提示符),输入jar Chelp,然后回车(如果你盘上已经有了jdk1. ...

最新文章

  1. Failed to save settings. Please restart Android Studio
  2. Windows7中搭建Android x86_64及armv8-a操作步骤
  3. 利用BP神经网络教计算机识别语音特征信号(代码部分SS)
  4. 关于 top、left 结合 translate 实现居中的原理探讨
  5. 中兴ZXR10交换机配置手册
  6. 【java基础】POJO和JavaBean的区别
  7. 号称最安全的苹果TEE被黑客攻破了,怎么办?
  8. 关于MySQL的慢日志分析工具
  9. BugKuCTF 杂项 白哥的鸽子
  10. PyQt5:窗口的基本功能
  11. 服务动态选择域名问题
  12. [USACO12OPEN]书架Bookshelf
  13. smarty 执行php,smarty模板执行原理
  14. SpringBoot单元测试保姆级教程,文末介绍Postman的基本使用
  15. 基于linux的软件测试,基于linux的Web服务器性能测试
  16. 腾讯安全全面出击:双十一不该成为黑产的狂欢
  17. 如何在12315网上投诉平台把内容复制粘贴到投诉内容那里的解决方法
  18. MySql练习---[SQL查询语句练习]
  19. Andorid11系统自带Dialer不是默认应用
  20. 京东店铺的运营爆款打造

热门文章

  1. 电脑常见问题主板,CMOS/BIOS,内存常见 故障维修指南 2
  2. Python+Vue计算机毕业设计建筑工地信息管理系统2172n(源码+程序+LW+部署)
  3. Latex下使用JabRef添加参考文献
  4. 关于mybaits中如何循环map集合
  5. 【Rainbow——强化学习之DQN进化版】
  6. [音乐]Musiqua
  7. 低学历又如何?这样的程序员照样可以逆袭
  8. Java 实现添加office水印
  9. 计算机网络安全性分析建模研究,计算机网络信息安全风险层次分析模型研究
  10. FFmpeg+libmp3lame库源码Linux安装教程(centosarm7.6)