首页 > 系统相关 >linux 中的压缩和解压操作

linux 中的压缩和解压操作

时间:2023-02-03 22:00:29浏览次数:44  
标签:解压 文件 tar 压缩 压缩文件 linux gzip


linux 中的压缩和解压操作_压缩文件


1、压缩/解压操作

在开发中,很多时候会遇到某些文件要进行压缩的操作,比如文件较大不方便传输的时候,可能会考虑对文件进行压缩,以减少文件传输的时间。

比如在网络中传输文件的时候,就会考虑先将文件进行压缩,然后传输压缩的文件,这样可以减少文件传输所需要的带宽和时间,在网络接收到文件之后再解压,就可以得到文件了。

文件的压缩有两种方式:有损压缩和无损压缩。有损压缩会对文件的数据有一定的破坏,一般对于重要的文件我们不会考虑这样的方式。无损压缩不会影响文件,所以对于压缩我们最先考虑的是使用无损压缩的方式。

2、单个文件压缩和解压用 gzip / bzip2

对单个文件的压缩和解压我们可以使用使用gzip 和 bzip2 进行操作。这两个命令只能用于对单个文件的压缩操作,对于目录和多级目录的压缩是不行的。

2.1、gzip 压缩和解压

gzip命令的使用如下:

gzip [选项] [完整的文件名]
常用的选项有:
-l(list):列出压缩文件的内容;
-k(keep):在压缩或解压时,保留输入文件;
-d(decompress):将压缩文件进行解压缩;

使用gzip压缩完之后的文件会生成后缀为.gz的压缩文件。如果直接使用 gzip 对某个文件进行压缩,不加任何其他选项的话,压缩完成之后是会删除掉被压缩的源文件的,加 -k 选项就会在压缩完成之后依然保留源文件。

gzip的使用示例如下:

1)  压缩文件 
gzip -k "需要压缩的文件名" // 压缩成功后得到了一个.gz结尾的压缩文件

2) 查看压缩文件
gzip -l "经过压缩的.gz的文件"

3) 解压文件
gzip -kd pwd.1.gz //该压缩文件必须是以.gz结尾的单个文件

2.2、bzip2 压缩和解压

bzip2 命令的使用如下:

bzip2 [选项] [完整的文件名]
常用的选项有:
-l(list):列出压缩文件的内容;
-k(keep):在压缩或解压时,保留输入文件;
-d(decompress):将压缩文件进行解压缩;

使用bzip2压缩完之后的文件会生成后缀为.gz的压缩文件。

bzip2 的使用示例如下:

1)  压缩文件 
bzip2 -k "需要压缩的文件名" // 压缩成功后得到了一个.bz2结尾的压缩文件

2) 查看压缩文件
bzip2 -l "经过压缩的.bz2的文件"

3) 解压文件
bzip2 -kd pwd.1.gz //该压缩文件必须是以.bz2结尾的单个文件

gzip 和 bzip2 都能对单个文件进行压缩,那这两个方式有什么不同呢?

不同之处在于:

1)  一般情况下,小文件使用gzip来压缩,大文件使用bzip2来压缩;

2)  bzip2 比 gzip 的压缩率更高。

3、目录和多级目录的解压和压缩用 tar

对目录以及多级递归的目录的压缩和解压可以使用 tar 进行操作。常用的 tar 命令的选项有:

-c(create):表示创建用来生成文件包 。
-x:表示提取,从文件包中提取文件。
-t:可以查看压缩的文件。
-z:使用gzip方式进行处理,它与”c“结合就表示压缩,与”x“结合就表示解压缩。
-j:使用bzip2方式进行处理,它与”c“结合就表示压缩,与”x“结合就表示解压缩。
-v(verbose):详细报告tar处理的信息。
-f(file):表示文件,后面接着一个文件名。 -C <指定目录> 解压到指定目录。

使用 tar 的进行打包压缩的时候,是可以选择压缩方式的,这个压缩方式就是前面提到的 gzip 和 bzip2 。

可以简单的理解为:tar就是将目录进行打包压缩,至于选择什么样的压缩文件的方式就要自己指定,对文件的压缩可选 gzip 和 bzip2 。

3.1、tar打包,用 gzip 压缩/解压

1)把目录 file1 压缩、打包为file1.tar.gz文件:
tar czvf file1.tar.gz file1。
注意:“tar –czvf”与“tar czvf”是一样的。

2)查看压缩文件:
$ tar tvf file1.tar.gz

3) 解压文件,可以用 -C 指定解压到哪个目录:
$ tar xzvf file1.tar.gz //解压到当前所在的目录。
$ tar xzvf file1.tar.gz -C "解压路径:xxx" //解压到xxx。

3.2、tar打包,用 bzip2 压缩/解压

1)把目录 file1 压缩、打包为file1.tar.bz2文件:
tar cjvf file1.tar.bz2 file1。
注意:“tar –cjvf”与“tar cjvf”是一样的。

2)查看压缩文件:
$ tar tvf file1.tar.bz2

3) 解压文件,可以用 -C 指定解压到哪个目录:
$ tar xjvf file1.tar.bz2 //解压到当前所在的目录。
$ tar xjvf file1.tar.bz2 -C "解压路径:xxx" //解压到xxx。



linux 中的压缩和解压操作_解压缩_02

标签:解压,文件,tar,压缩,压缩文件,linux,gzip
From: https://blog.51cto.com/wangjunlv/6036077

相关文章

  • Linux DDR configuration
    https://blog.csdn.net/xuhao0258/article/details/120306591https://mp.weixin.qq.com/s/WBjkeWMKP-WGOxA8r1dfyghttps://e2e.ti.com/support/processors-group/proces......
  • misc之压缩包总结------2023.2.3
    1,ZIP伪加密 ZIP文件格式一个ZIP文件由三个部分组成:压缩源文件数据区+压缩源文件目录区+压缩源文件目录结束标志压缩源文件数据区:504B0304:这是头文件标记(0x040......
  • Linux 将正在运行的进程转到 tmux 会话中运行
    概述Linux将正在运行的进程转到tmux会话中运行正文参考:Movearunningprocessintoatmuxsessionreptyr-Atoolfor"re-ptying"programs.笔记:开始一......
  • Linux基础课:第五章---git
    开启了第五章的学习。之前学过,又忘记了,这里做笔记,不断加深记忆git分为本地和云端。本地就足够实现版本管理最常用的四个命令gitstatus,gitadd.,gitcommit-m"up......
  • linux定时任务
    #查看当前定时任务执行规则crontab-l#查看定时任务执行日志tail-f/var/log/cron#编辑定时任务规则,下面规则是每周1,1点执行/root/test/下的clean_file脚本crontab-e0......
  • Linux 命令 | telnet
    telnet是登录远程服务器的一种工具。不过所有通信都是明文发送,不会加密。因此一般不会用来登录远程服务器,不过可以调试远程连接问题。用法telnet<hostnameorip><......
  • [linux] 冯诺依曼体系及操作系统的概念
    @​​TOC​1.冯诺依曼体系结构常见的计算机,如:笔记本,不常见的服务器,如服务器,大部分都遵循冯诺依曼体系1.为什么要有内存?输入、输出设备称之为外围设备,简称外设,外设速度一般......
  • Linux系统中GDB调试详细操作方法
    第一:启动在shell下敲gdb命令即可启动gdb,启动后会显示下述信息,出现gdb提示符。添加编译指令:gcc-ga.c-otest打开指令:gdbtest  或者gdb  然后输入:filetest➜exa......
  • JAVA 图片压缩
    packageimage;importjavax.imageio.ImageIO;importjava.awt.*;importjava.awt.image.BufferedImage;importjava.io.File;importjava.io.IOException;/***功能描述:......
  • linux部署nacos集群
    linux部署nacos集群一、简介:什么是NacosNacos/nɑ:kəʊs/是DynamicNamingandConfigurationService的首字母简称,一个更易于构建云原生应用的动态服务发现、配置......