linux基础(day19)

6.1 压缩打包介绍

家用带宽和机房带宽的区别:

  1. 家用的IP是动态的、不固定的,而机房的IP却是固定不变的
  2. 家用的上传和下载带宽也是不同的;而在机房中的带宽,下载和上传带宽都是相同的
    • 举例:家用—>联通的百兆宽带,指的是下载的速度是一百兆,而上传一般只有10M到20M

常见压缩文件

  • windows系统中,常见的压缩文件有 .rar, .zip, .7z
  • linux系统中,常见的压缩文件有 .zip, .gz, .bz2, .xz, .tar.gz, .tar.bz2, .tar.xz

压缩后优势:

  1. 压缩的文件会变小很多
  2. 压缩后的文件带宽资源耗费也变小了
  3. 压缩后的文件会减少传输时间

6.2 gzip压缩工具

压缩和解压

  • 压缩:在多个文件一起压缩的时候,只能压缩第一个文件
  • 解压:多个文件可以在一起直接,比如bzip2 -d 1.txt.bz2 2.txt.bz2 这样会将两个文件都解压

gzip目录概要

  • gzip 1.txt 压缩1.txt文件
  • gzip -d 1.txt 或者 gunzip 1.txt.gz 解压1.txt文件的两种方法
  • gzip -# 1.txt //#表示范围1-9,默认为6
  • 不能压缩目录
  • zcat 1.txt.gz
  • gzip -c 1.txt > /root/1.txt.gz 压缩文件,并指定目录
  • gunzip -c /root/1.txt.gz > /tmp/1.txt.new 解压文件,并指定

gzip压缩文件

  • gzip 1.txt 压缩1.txt文件
  1. 首先切换到/tmp目录下,并新建一个目录d6z [root@localhost ~]# cd /tmp/ [root@localhost tmp]# ls 11.sh han.111 23.sh fstab [root@localhost tmp]# mkdir d6z
  2. 切换到/d6z目录下,并查找/etc目录下所有以conf结尾的文件 [root@localhost tmp]# cd d6z [root@localhost d6z]# find /etc/ -type f -name "*conf" 查找所有文件中,名字以conf结尾的文件 /etc/resolv.conf /etc/pki/ca-trust/ca-legacy.conf /etc/yum/pluginconf.d/fastestmirror.conf /etc/yum/pluginconf.d/langpacks.conf /etc/yum/protected.d/systemd.conf /etc/yum/version-groups.conf /etc/rdma/mlx4.conf /etc/rdma/rdma.conf
  3. 然后这文件查找出的文件内容追加到1.txt中,这个符号 {} 表示列出来的文件
    • 多追加几次文件内容到1.txt中

    [root@localhost d6z]# find /etc/ -type f -name "*conf" -exec cat {} >> 1.txt \; [root@localhost d6z]#

  4. 查看文件和大小 [root@localhost d6z]# ls 1.txt [root@localhost d6z]# du -sh 1.txt 3.2M 1.txt

这里多次追加会看到文件,du -sh 1.txt查看的文件数值不同,但在多次查看,文件大小会恢复正常。(跳转数值较大比,是因为这个文件本身存在很多空隙,最后在压缩并解压后,会发现大小会有不同)

  1. 压缩文件1.txt [root@localhost d6z]# gzip 1.txt [root@localhost d6z]# ls 1.txt.gz 会看到源文件消失了,变成了.gz的压缩文件 1.查看压缩文件大小 [root@localhost d6z]# du -sh 1.txt.gz 332K 1.txt.gz

gzip解压文件(两种方法)

  • gzip -d 1.txt.gz 把1.txt文件解压出来
[root[@localhost](https://my.oschina.net/u/570656) d6z]# gzip -d 1.txt.gz
[root[@localhost](https://my.oschina.net/u/570656) d6z]# ls
1.txt
[root[@localhost](https://my.oschina.net/u/570656) d6z]# du -sh 1.txt
1.3M	1.txt
  • gunzip 1.txt.gz 解压1.txt文件
[root@localhost d6z]# gunzip 1.txt.gz
[root@localhost d6z]# ls
1.txt
[root@localhost d6z]# du -sh 1.txt
1.3M	1.txt

gzip指定压缩的级别

  • gzip压缩的级别范围有1-9,默认是 6 级别,也可以指定压缩级别
    • 9级别是压缩的最严谨,所耗费的CPU资源也最大(压缩的文件也是最小的)
    • 压缩到一定级别后,到达极限后,会压缩不了

file命令,查看压缩后的文件

  • 压缩后的文件变成了二进制文件,不能直接使用cat查看
  • file命令,查看压缩的文件
    • 格式 file 1.txt.gz
[root@localhost d6z]# file 1.txt.gz
1.txt.gz: gzip compressed data, was "1.txt", from Unix, last modified: Thu Nov  9 14:23:33 2017, max compression

这里会看到这是一个gzip的压缩数据,名称是1.txt,基于Unix平台,最后一次的更改时间,压缩的级别

zcat命令,查看压缩文件的内容

  • zcat命令,查看压缩文件的内容
    • 格式 zcat 1.txt.gz
      • 这是先解压,后cat查看的

gzip压缩文件,并指定目录

  • gzip -c 1.txt > /tmp/1.txt.gz 压缩文件,并重定向目录和名称
[root@localhost d6z]# gzip -c 1.txt > /tmp/1.txt.gz
[root@localhost d6z]# ls /tmp/1.txt.gz
/tmp/1.txt.gz

gzip解压文件,并指定目录

  • gunzip -c /tmp/1.txt.gz > /tmp/6dz/2.txt
  • gzip -d -c /tmp/1.txt.gz > /tmp/6dz/2.txt
[root@localhost d6z]# gunzip -c /tmp/1.txt.gz >/tmp/d6z/2.txt
[root@localhost d6z]# ls
1.txt  2.txt
[root@localhost d6z]# gzip -c -d /tmp/1.txt.gz >/tmp/d6z/2.txt
[root@localhost d6z]# ls
1.txt  2.txt

1.txt和2.txt这两个文件大小相同(du -sh 1.txt 2.txt),行数形同(wc -l 1.txt 2.txt)

gzip不能压缩目录

6.3 bzip2压缩工具

bzip2目录概要

  • bzip2 1.txt 或 bzip2 -z 1.txt 压缩文件
  • bzip2 -d 1.txt.bz2 或 bunzip2 1.txt.bz2 解压文件
  • bzip -# 1.txt 范围1-9,默认9
  • 不能压缩目录
  • bzcat 1.txt.bz2 查看压缩文件的内容(含义为:先解压,后查看)
  • bzip2 -c 1.txt > /root/1.txt.gz 压缩文件,并重定向文件的目录和名称
  • bzip2 -c -d /root/1.txt.bz2 > /tmp/1.txt.nws 解压文件,并重定向文件的目录和名称

bzip2压缩文件

  • 安装bzip2包——>yum install -y bzip2
  • bzip2 1.txt 压缩文件
[root@hf-01 d6z]# du -sh 1.txt
2.0M	1.txt
[root@hf-01 d6z]# bzip2 1.txt
[root@hf-01 d6z]# ls
1.txt.bz2
[root@hf-01 d6z]# du -sh 1.txt.bz2
168K	1.txt.bz2

bzip2解压文件(两种办法)

  • bzip2 -d 1.txt 解压文件
[root@hf-01 d6z]# bzip2 -d 1.txt.bz2
[root@hf-01 d6z]# ls
1.txt
[root@hf-01 d6z]# du -sh 1.txt
1.5M	1.txt
  • bunzip2 1.txt.bz2 解压文件
[root@hf-01 d6z]# bunzip2 1.txt.bz2
[root@hf-01 d6z]# ls
1.txt

bzip2压缩文件,并指定目录

  • bzip2 -c 1.txt > /tmp/2.txt.bz2 压缩1.txt文件,并压缩到/tmp下2.txt.bz2
[root@hf-01 d6z]# bzip2 -c 1.txt > /tmp/2.txt.bz2
[root@hf-01 d6z]# du -sh /tmp/2.txt.bz2
168K	/tmp/2.txt.bz2

bzip解压文件,并指定目录(两种方法)

  • bzip2 -d -c /tmp/2.txt.bz2 > 4.txt 解压tmp目录下的文件,并解压到当前目录下,改名为4.txt
[root@hf-01 d6z]# bzip2 -d -c /tmp/2.txt.bz2 > 4.txt
[root@hf-01 d6z]# ls
1.txt  4.txt
[root@hf-01 d6z]# du -sh 4.txt
1.5M	4.txt
  • bunzip2 1.txt.bz2 > 5.txt 解压文件,并解压到当前目录下,名称为5.txt
[root@hf-01 d6z]# bunzip2 1.txt.bz2 > 5.txt
[root@hf-01 d6z]# ls
1.txt  4.txt  5.txt

bzip2压缩级别

  • bzip2默认压缩级别为 9

file查看压缩文件大小

  • file命令,会知道压缩文件的类型,大小
[root@hf-01 d6z]# file 1.txt.bz2
1.txt.bz2: bzip2 compressed data, block size = 900k
  • 若是文件名的格式被改错,或者不知道
    • 在使用less、cat、head查看该文件的时候,会提示“该文件是二进制文件,是否继续查看呢”
    • 这时候可以使用 file命令 去查看,会知道该文件的格式

bzcat查看压缩文件内容

  • bzcat命令,查看压缩文件中的内容
    • 格式 bzcat 1.txt.bz2
[root@hf-01 d6z]# bzcat 1.txt.bz2

查看的时候,需注意压缩文件是否为空,若为空,则看不到什么文件

6.4 xz压缩工具

xz目录概要

  • xz 1.txt 或 xz -z 1.txt 压缩文件
  • xz -d 1.txt.xz 或 unxz 1.txt.xz 解压文件
  • xz -# 1.txt 1.txt //#表示范围1-9,默认为 6
  • 不能压缩目录
  • xzcat 1.txt.xz 查看压缩文件的内容
  • xz -c 1.txt > /root/1.txt.xz 压缩文件,压缩到指定目录下,并修改名称
  • xz -d -c /root/1.txt.xz > 1.txt.news 解压文件,解压到指定目录下,并修改名称

xz压缩文件

[root@hf-01 d6z]# xz 1.txt
[root@hf-01 d6z]# ls
1.txt.xz  4.txt  5.txt
[root@hf-01 d6z]# du -sh 1.txt.xz
60K	1.txt.xz

xz解压文件(两种方法)

  • xz -d 1.txt.xz 解压文件
[root@hf-01 d6z]# xz -d 1.txt.xz
[root@hf-01 d6z]# ls
1.txt  4.txt  5.txt
[root@hf-01 d6z]# du -sh 1.txt
1.5M	1.txt
  • unxz 1.txt.xz 解压文件
[root@hf-01 d6z]# unxz 1.txt.xz
[root@hf-01 d6z]# ls
1.txt  4.txt  5.txt

xz压缩文件,并压缩到指定目录

  • xz -c 1.txt > /tmp/ha.txt.xz
[root@hf-01 d6z]# xz -c 1.txt > /tmp/ha.txt.xz
[root@hf-01 d6z]# du -sh /tmp/ha.txt.xz
60K	/tmp/ha.txt.xz

xz解压文件,并解压到指定目录

  • xz -d -c /tmp/ha.txt.xz > ./8.txt
  • unxz -c /tmp/ha.txt.xz > ./8.txt
[root@hf-01 d6z]# unxz -c /tmp/ha.txt.xz > ./8.txt
[root@hf-01 d6z]# ls
1.txt  4.txt  5.txt  8.txt
[root@hf-01 d6z]# du -sh 8.txt
1.5M	8.txt

xzcat查看压缩文件

  • xzcat /tmp/ha.txt.xz

xz压缩级别

  • xz压缩级别是1-9,默认是 6 级别

压缩工具排序

  • xz >bzip2 >gzip(这不是绝对的,关键还得看文件)
    • xz 压缩最为严谨,bzip2稍次之,gzip排在最后

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Linux运维学习之路

Linux Rsync备份服务介绍及部署守护进程模式

rsync介绍 rsync是一款开源的、快速的、多功能的、可实现全量及增量的本地或远程数据同步备份工具 在常驻模式(daemon mode)下,rsync默认监...

41970
来自专栏数据库

开发篇-MySQL分区(一)

MySQL从5.1版本开始支持分区的功能。分区是指根据一定的规则,数据库把一个表分解成多个更小的、更容易管理的部分。就访问数据库的应用而言,逻辑上只有一个表或一...

27870
来自专栏编程

多迪技术总监揭秘:前端工程师主要做什么?前景怎么样?

下面多迪技术总监向你介绍什么是web前端工程师?Web前端工程师到底做什么?每一个初入web前端开发的人都会被各种问题困扰,甚至,这些困惑导致夸大学习难度,形成...

297100
来自专栏不想当开发的产品不是好测试

java项目 远程debug

AVA项目无法像PHP那样可以随时修改文件内容进行调试,调试可以借助eclipse,本地代码的话很容易在本地debug,但如果代码已经打包部署在linux上呢?...

31270
来自专栏Linux运维学习之路

Linux中MySQL5.6编译安装与MySQL5.7二进制安装步骤

首先,介绍一下MySQL的几种安装方式 1、RPM、Yum 的安装方式:安装方便、安装速度快,无法定制 2、二进制:不需要安装,解压即可使用,不能定制功能 3、...

39770
来自专栏Linux运维学习之路

Nginx服务编译安装、日志功能、状态模块及访问认证模式实操

系统环境   [root@web ~]# cat /etc/redhat-release   CentOS release 6.9 (Final)   [ro...

32860
来自专栏存储

建立本地的Blast数据库

Blast(basic local alignment search tool) 局部序列比对基本检索工具,是NCBI开发的一款基于序列相似性的数据库搜索程序。...

72290
来自专栏编程

还没开始学Python之前,你要知道,Python程序员一定会的十件事

1、健康 ? 众所周知,每天坐8-16个小时是软件开发人员的“必须课”,在休息时间少之又少的情况下,添加脂肪是必不可免的,而成果可能导致肥壮。因此,体育锻炼必不...

36190
来自专栏Linux运维学习之路

Nginx的各种报错总结

1、Nginx安装过程报错 错误一:软件依赖包未正确安装问题---PCRE依赖包没有安装 ./configure: error: the HTTP ...

321100
来自专栏Linux运维学习之路

Linux中MySQL配置文件my.cnf参数优化

MySQL参数优化这东西不好好研究还是比较难懂的,其实不光是MySQL,大部分程序的参数优化,是很复杂的。MySQL的参数优化也不例外,对于不同的需求,还有硬件...

85280

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励