2018年8月9日第八节课笔记——打包压缩

内容摘要

  • 压缩打包介绍
  • gzip压缩工具
  • bzip2压缩工具
  • xz压缩工具
  • zip压缩工具
  • tar打包
  • 打包和压缩
  • 课堂扩展相关
  • 涉及命令:gzip(解压缩工具,后缀为gz)、bzip2(解压缩工具,后缀为bz)、xz(解压缩工具,后缀为xz)、zip(解压缩工具,后缀为zip)、tar(打包工具同时也支持压缩,后缀为tar)

一、压缩打包介绍

  • 常见压缩文件,如图:

  • 使用压缩文件,不仅可以节省磁盘空间,而且在传输时还能节省网络宽带。

二、gzip压缩工具

gzip只能压缩文件,不能压缩目录

  • 命令gzip+目标文件  (原文件会删除),然后生成一个后缀为gz的压缩文件。例:gzip 1.txt
  • 命令gzip -d+目标文件   (原文件会删除)解压文件。例:gzip -d 1.txt.gz
  • 命令gzip -c 可以指定文件压缩输出到指定地址,原文件不会被删除。例:gzip -c 1.txt > /root/1.txt.gz   
  • 命令gunzip+压缩文件 (原文件会删除)也可以解压文件。
  • 命令gzip -d -cgunzip -c  可以将压缩文件解压输出到指定位置,原文件不会被删除。例:gunzip -c /root/1.txt.gz > /tmp/1.txt.new
  • 命令gzip后可以添加压缩等级,默认为6 最高为9。例gizp -9+文件地址
  • 命令file,可以查看压缩文件的详情,如压缩级别,压缩时间等。
  • 命令zcat 可以查看压缩文件的内容。

三、bzip2

bzip2只能压缩文件,不能压缩目录

  • 命令bzip2+文件地址   (原文件会删除),然后生成一个后缀为bz的压缩文件。例:bzip2 1.txt
  • 命令bzip2 -d+文件地址   (原文件会删除)解压文件例:bzip2 -d 1.txt.bz
  • 命令bzip2 -c 可以指定文件压缩输出到指定地址,原文件不会被删除。例:bzip2 -c 1.txt > /root/1.txt.gz
  • 命令bunzip2+压缩文件(原文件会删除) 也可以解压文件。
  • 命令bzip2 -d -cbunzip2 -c  可以将压缩文件解压输出到指定位置,原文件不会被删除。例:bzip2 -c /root/1.txt.gz > /tmp/1.txt.new
  • 命令bzip2后可以添加压缩等级,默认为9 最高为9。例bzip2 -1+文件地址。
  • 命令file,可以查看文件的详情,如压缩级别,压缩时间等。
  • 命令bzcat 可以查看压缩文件的内容。

四、xz压缩工具

xz只能压缩文件,不能压缩目录

  • 命令xz+文件地址   (原文件会删除),然后生成一个后缀为xz的压缩文件。例:xz 1.txt
  • 命令xz -d+文件地址   (原文件会删除)解压文件。例:xz -d 1.txt.xz
  • 命令xz -c 可以指定文件压缩输出到指定地址,原文件不会被删除。例:xz -c 1.txt > /root/1.txt.gz
  • 命令unxz+压缩文件 (原文件会删除)也可以解压文件。
  • 选项xz -c  可以将压缩文件解压输出到指定位置。例:bzip2 -c /root/1.txt.gz > /tmp/1.txt.new
  • 命令xz后可以添加压缩等级,默认为9 最高为9。例xz -1+文件地址。
  • 命令xzcat 可以查看压缩文件的内容。

五、zip压缩工具

zip压缩工具支持压缩目录,解压缩时均不会不会删除原文件,一般后缀为zip。

  • 命令zip+压缩名称+目标文件地址   例: zip 1.txt.zip 1.txt
  • 命令unzip+文件地址   解压文件     例: unzip 1.txt.zip
  • 命令zip -r+压缩名称+目录和文件 可以压缩目录。
  • 命令unzip 可以解压文件。
  • 命令unzip+压缩文件+-d+目标目录  可以解压到指定位置。
  • 命令unzip -l 可以查看文件列表

六、tar打包

tar可以单独打包文件和目录,也能同时打包文件和目录:

  • 命令tar -cvf+输出名称+需要打包的文件名或目录名。(原文件不会被删除)其中-c为打包选项,-v为可视化,-f为指定打包文件名。例:tar -cvf 12.tar 1.txt 2.txt
  • 命令tar -xvf+tar  解压打包的文件。(原文件不会被删除).例:tar -xvf 12.tar
  • 命令tar -tf+tar   可以查看打包的文件列表。
  • 命令tar -cvf+输出名称+--exclude+过滤文件+需要打包的文件或目录,可以过滤指定文件,将剩余的文件和目录打包。如图:

七、打包并压缩

  • 命令tar -czvf+输出名称+需要打包压缩的文件名或目录名。  支持gzip的压缩格式
  • 命令tar -cjvf +输出名称+需要打包压缩的文件名或目录名。 支持bzip2的压缩格式
  • 命令tar -cJvf+输出名称+需要打包压缩的文件名或目录名。  支持xz的压缩格式
  • 命令tar -xzvf+需要解压的tar压缩包。支持gzip的压缩格
  • 命令tar -xjvf+需要解压的tar压缩包。支持bzip2的压缩格
  • 命令tar -xJvf +需要解压的tar压缩包。支持xz的压缩格式

课堂笔记:

八、gzip相关

  •  .gz 表示由gzip压缩工具压缩的文件。
  • 命令gzip filename 压缩文件,暂不支持压缩目录,压缩后源文件消失
  • 命令gzip -d filename.gz 解压文件,解压后,源压缩文件消失
  • 命令gunzip filename.gz 解压文件, 解压后,源压缩文件消失
  • 命令gzip –c filename > /tmp/filename.gz指定压缩文件路径,并且源文件存在
  • 命令gzip –d –c /tmp/filename.gz > /目录/filename 解压文件到那个路径下,并且源压缩文件存在。
  • 命令gunzip –c /tmp/filename.gz > /目录/filename 解压文件到那个路径下,并且源压缩文件存在。
  • 命令zcat 1.txt.gz 查看.gz文件
  • 命令file /tmp/1.txt.gz 查看文件的属性

九、bz相关

  • bzip比gzip压缩更小,所耗费的CPU资源也更大。
  • 命令bzip2 1.txt  或者 bzip2 -z 1.txt 压缩文件
  • 命令bzip2 -d 1.txt.bz2 或者 bunzip2 1.txt.bz2 解压文件
  • 命令bzip -# 1.txt    #范围1-9,默认9
  • xz不能压缩目录
  • 命令bzcat 1.txt.bz2 查看压缩文件
  • 命令bzip2 -c 1.txt > /root/1.txt.bz2 指定压缩文件路径,并且源文件存在
  • 命令bzip2 -c -d /root/1.txt.bz2 > /tmp/1.txt.new2  解压文件到指定路径下,并且源压缩文件存在
  • 命令file 1.txt.bz2 查看文件属性

十、xz相关

  • xz压缩文件比bzip2更小,所耗费的CPU资源也最大(压缩的文件也是最小的)
  • 命令xz 1.txt 或者 xz -z 1.txt 压缩文件
  • 命令 xz -d 1.txt.xz 者者 unxz 1.txt.xz 解压缩文件
  • 命令xz -# 1.txt  #范围1-9,默认9
  • xz不能压缩目录
  • 命令xzcat 1.txt.xz 查看压缩文件内容
  • 命令xz -c 1.txt > /root/1.txt.xz 指定压缩文件路径,并且源文件存在
  • 命令xz -d -c /root/1.txt.xz > 1.txt.new3 解压文件到指定路径下,并且源压缩文件存在
  • 命令file 1.txt.xz查看文件属性

十一、tar相关

  •  tar本身是一个打包工具,可以把目录打包成一个文件,它把所有的文件整合成一个大文件,方便复制或者移动。
  • 选项-z表示同时使用gzip压缩
  • 选项  -j表示同时用bzip压缩
  • 选项 -J表示同时用xz压缩
  • 选项-c表示建立一个tar包或者压缩文件包
  • 选项-x表示解包或者解压
  • 选项-v表示可视化
  • 选项 -f后面跟文件名(-f filename,表示压缩后的文件名为filename)注意:如果多个参数组合的情况下,-f要写在最后面。
  • 选项-t表示查看tar包里的文件
  • 选项--exclude filename 表示在打包或压缩时,不要将某个文件不包含在里面。
  • 打包或者解包,源文件都存在。
  • 打包后产生的文件与打包前的文件在同一目录下。
  • 打包后文件越小,耗时越长,占用cpu资源越多。

十二、/etc/fstab/自动挂载扩展

  • /etc/fstab文件的作用:
  1. 磁盘被手动挂载之后都必须把挂载信息写入/etc/fstab这个文件中,否则下次开机启动时仍然需要重新挂载。系统开机时会
  2. 主动读取/etc/fstab这个文件中的内容,根据文件里面的配置挂载磁盘。这样我们只需要将磁盘的挂载信息写入这个文件中我们就不需要每次开机启动之后手动进行挂载了。
  • 挂载的限制

    在说明这个文件的作用之前我想先强调一下挂载的限制。

  1. 根目录是必须挂载的,而且一定要先于其他mount point被挂载。因为mount是所有目录的跟目录,其他目录有都是由根目录 /衍生出来的。
  2. 挂载点必须是已经存在的目录。
  3. 挂载点的指定可以任意,但必须遵守必要的系统目录架构原则
  4. 所有挂载点在同一时间只能被挂载一次
  5. 所有分区在同一时间只能挂在一次
  6. 若进行卸载,必须将工作目录退出挂载点(及其子目录)之外。
  • /etc/fstab文件中的参数,如图:

第一列:Device:磁盘设备文件或者该设备的Label或者UUID : 使用设备名称(/dev/sda)来挂载分区时是被固定死的,一旦磁盘的插槽顺序发生了变化,就会出现名称不对应的问题。因为这个名称是会改变的。不过使用label挂载就不用担心插槽顺序方面的问题。不过要随时注意你的Label name。至于UUID,每个分区被格式化以后都会有一个UUID作为唯一的标识号。使用uuid挂载的话就不用担心会发生错乱的问题了。

第二列:Mount point:设备的挂载点,就是你要挂载到哪个目录下。

第三列:filesystem:磁盘文件系统的格式,包括ext2、ext3、reiserfs、nfs、vfat等

第四列:parameters:文件系统的参数,可选参数:

Async/sync

设置是否为同步方式运行,默认为async

auto/noauto 

 当下载mount -a 的命令时,此文件系统是否被主动挂载。默认为auto

rw/ro        

 是否以以只读或者读写模式挂载

exec/noexec    

 限制此文件系统内是否能够进行"执行"的操作

user/nouser

是否允许用户使用mount命令挂载

suid/nosuid

是否允许SUID的存在

Usrquota

启动文件系统支持磁盘配额模式

Grpquota

启动文件系统对群组磁盘配额模式的支持

Defaults

同事具有rw,suid,dev,exec,auto,nouser,async等默认参数的设置

第五列:能否被dump备份命令作用:dump是一个用来作为备份的命令。通常这个参数的值为0或者1:

0

代表不要做dump备份

1

代表要每天进行dump的操作

2

代表不定日期的进行dump操作

第六列:是否检验扇区:开机的过程中,系统默认会以fsck检验我们系统是否为完整(clean):

0

不要检验

1

最早检验(一般根目录会选择)

2

1级别检验完成之后进行检验

十三、RAID磁盘阵列扩展

  • 磁盘阵列介绍:
  1. 磁盘阵列(Redundant Arrays of Independent Disks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意。
  2. 磁盘阵列是由很多价格较便宜的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。
  3. 磁盘阵列还能利用同位检查(Parity Check)的观念,在数组中任意一个硬盘故障时,仍可读出数据,在数据重构时,将数据经计算后重新置入新硬盘中。

  • RAID磁盘阵列的优点
  1. 提高传输速率。
  2. 通过数据校验提供容错功能。

  • RAID磁盘阵列的缺点
  1.           RAID0没有冗余功能,如果一个磁盘(物理)损坏,则所有的数据都无法使用。
  2.           RAID1磁盘的利用率最高只能达到50%(使用两块盘的情况下),是所有RAID级别中最低的。
  3.           RAID0+1以理解为是RAID 0和RAID 1的折中方案。RAID 0+1可以为系统提供数据安全保障,但保障程度要比 Mirror低而磁盘空间利用率要比Mirror高。

  • RAID级别——raid 0
  1. 阵列中最简单的一种形式,只需要2块以上的硬盘即可,成本低,可以提高整个磁盘的性能和吞吐量。RAID 0没有提供冗余或错误修复能力,但实现成本是最低的。
  2. RAID 0最简单的实现方式就是把N块同样的硬盘用硬件的形式通过智能磁盘控制器或用操作系统中的磁盘驱动程序以软件的方式串联在一起创建一个大的卷集。
  3. 它的最大优点就是可以整倍的提高硬盘的容量。如使用了三块80GB的硬盘组建成RAID 0模式,那么磁盘容量就会是240GB。其速度方面,各单独一块硬盘的速度完全相同。
  4. 最大的缺点在于任何一块硬盘出现故障,整个系统将会受到破坏,可靠性仅为单独一块硬盘的1/N。

  • RAID级别——raid 1
  1. raid 称为磁盘镜像,原理是把一个磁盘的数据镜像到另一个磁盘上,也就是说数据在写入一块磁盘的同时,会在另一块闲置的磁盘上生成镜像文件,在不影响性能情况下最大限度的保证系统的可靠性和可修复性上,只要系统中任何一对镜像盘中至少有一块磁盘可以使用,甚至可以在一半数量的硬盘出现问题时系统都可以正常运行,当一块硬盘失效时,系统会忽略该硬盘,转而使用剩余的镜像盘读写数据,具备很好的磁盘冗余能力.
  2. 磁盘利用率为50%,以四块80GB容量的硬盘来讲,可利用的磁盘空间仅为160GB。
  3. 出现硬盘故障的RAID系统不再可靠,应当及时的更换损坏的硬盘,否则剩余的镜像盘也出现问题,那么整个系统就会崩溃。更换新盘后原有数据会需要很长时间同步镜像,外界对数据的访问不会受到影响,只是这时整个系统的性能有所下降。
  4. RAID 1多用在保存关键性的重要数据的场合。
  5. RAID 1主要是通过二次读写实现磁盘镜像,所以磁盘控制器的负载也相当大,尤其是在需要频繁写入数据的环境中。为了避免出现性能瓶颈,使用多个磁盘控制器就显得很有必要。

  • RAID级别——raid 0+1
  1. 这种配置方式综合了带区集和镜像的优势,所以被称为RAID 0+1。
  2. RAID0和RAID1技术结合起来,数据除分布在多个盘上外,每个盘都有其物理镜像盘,提供全冗余能力,允许一个以下磁盘故障,而不影响数据可用性,并具有快速读/写能力
  3. RAID0+1要在磁盘镜像中建立带区集至少4个硬盘。

  • RAID级别——raid 5
  1. 至少大于等于3块硬盘
  2. 总容量为n-1/n,其中一块为校验盘。
  3. 它的安全和性能介于raid0和raid1之间,属于一个折中方案。(支持1块盘的冗余)

  • RAID级别——raid 6
  1. 至少大于等于4块盘
  2. 总容量为n-2/n,其中一块为校验盘。
  3. 它的安全性大于raid5,性能则低于raid5。(支持2块盘的冗余)

猜你喜欢

转载自blog.csdn.net/CN_SHzhaoyujie/article/details/81570977