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

    xiaoxiao2023-11-21  11

    文章目录

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

    一 压缩文件的用途和技术

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

    计算机系统中用字节进行计数,但其实最小的单位应该是位。当我们存储一个数字 1 时,我们会存储 为00000001; 也许数据为连续一百个 1 ,在压缩时,可能会被直接计为“100个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<stdio.h> #include<stdlib.h> #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 保留原文件的属性(备份文件常用)

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

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

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

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

    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 命令来读入欲备份的数据,方可进行备份操作。

    最新回复(0)