鸟哥Linux私房菜基础学习篇(第四版)第八章 Linux文件与文件系统的压缩 笔记

文章目录

  • 一 压缩文件的用途和技术
  • 二 常见压缩和打包命令
    • 压缩
    • 打包命令:tar
  • 三.本章其他内容

一 压缩文件的用途和技术

原理有很多,也很有意思比如:

计算机系统中用字节进行计数,但其实最小的单位应该是位。当我们存储一个数字 1 时,我们会存储 为00000001;
也许数据为连续一百个 1 ,在压缩时,可能会被直接计为“100个1”

压缩命令为通过一些计算方法将原本的文件进行压缩,以减少文件所占用的磁盘容量,压缩前与压缩后的文件所占用的磁盘容量比值,称为 压缩比

二 常见压缩和打包命令

压缩

  1. gzip
    gzip 可以说是应用最广的压缩命令,可以解压compress,zipz,gizp 等压缩文件
    gzip 所建立的压缩文件为*.gz

注意:压缩过后源文件消失

先找到目录中最大的文件

zzy@zzy-Lenovo-Legion-Y7000:~/C/AC/AB$ ls -ldSr ./*
-rw-r--r-- 1 zzy zzy   0 12月 23  2012 ./end
-rw-r--r-- 1 zzy zzy   8 5月  12 19:00 ./a.txt
-rw-r--r-- 1 zzy zzy  26 5月   6 17:15 ./Linux.txt
-rw-r--r-- 1 zzy zzy 223 5月   6 20:09 ./lianxi.c
-rw-r--r-- 1 zzy zzy 266 5月  13 23:47 ./a.c
-rw-r--r-- 1 zzy zzy 436 4月   1 21:32 ./calloc.c

之后压缩calloc.c文件:

zzy@zzy-Lenovo-Legion-Y7000:~/C/AC/AB$ gzip -v calloc.c
calloc.c:	 52.1% -- replaced with calloc.c.gz

这里的 -v 可以显示出压缩比等信息

压缩参数
-c:输入到屏幕
-9:指的是压缩等级(一般6就够了)
通过 > 将本该打印在屏幕上的东西输入到文件中

gzip -c calloc.c > calloc.c.gz

由于我们压缩的是个文本文件我们可以试着读出压缩文件:

`zzy@zzy-Lenovo-Legion-Y7000:~/C/AC/AB$ zcat calloc.c.gz 
#include
#include
#define LEN sizeof(char[26])
、、、、、、(后面省略)

接下来我们解压a.c:

gzip -d calloc.c.gz

2.bzip2
与gzip用法类似,但是bzip2的压缩效率更高
-k:不会删除源文件

3.xz
压缩效率更高

打包命令:tar

将多个文件或目录打包成一个大文件的命令功能

常用参数:
-z 通过 zip 进行解压的文件名最好用 *.tar.gz
-j 用 bzip2 同上 *tai.bz2
-J 用 xz 同上 *.tar.xz
-c 建立打包文件
-t 查看打包文件的文件名
-x 解压, 配合 -C(大写)可将其解压到特定目录
-v 解压或者要过程中把正在处理的文件名显示出来
-f 后面立刻接要被处理的文件名(建议单独写一个选项,避免忘记)

-p 保留原文件的属性(备份文件常用)

  1. 最简单的几个常用打包压缩命令:

压缩: tar -jcv -f name.tar.bz2 要被压缩的文件或目录名称
查询: tar -jtv - f name.tar.bz2
解压: tar -jxv -f name.tar.bz2 -C 欲解压的目录

另外:建议将 【-f name】紧密连接在一起

  1. 我们可以只打包,不压缩:

tar -cv -f filr.tar

如此,在很多书中该文件便称为 tarfile

如果有压缩支持的话,称为 tarball

此外,想要备份到磁带上(企业常用),可用指令:

tar -cv -f /dev/st0 /home

三.本章其他内容

1.xfsdump 命令可备份文件系统或单一目录;
2.xfsdump 的备份若针对文件系统时,可进行 0-9 的 level 差异备份,其中 leve 0 为完整备份;
3.xfsrestore 命令可以还原被 xfsdump 创建的备份文件
4.要建立光盘刻录数据时,可通过 mkisos 命令来创建
5.可通过 wodim 来写入 CD 或 DVD 刻录机
6.dd 可备份完整的硬盘或硬盘分区,因为 dd 可读取磁盘的扇区表面数据
7.cpio 为相当优秀的备份命令,不过必须要搭配类似 find 命令来读入欲备份的数据,方可进行备份操作。

你可能感兴趣的:(鸟哥Linux私房菜基础学习篇(第四版)第八章 Linux文件与文件系统的压缩 笔记)