鸟哥linux文件系统的压缩,打包与备份
鸟哥linux文件系统的压缩,打包与备份
Hoshea Zhang压缩文件的用途与技术
使得单个文件的单个磁盘使用率降低,这里先谈一谈他的原理。
如果今天我们只是记忆一个数字, 1 会在最右边占据1 个bit ,而其他的7 个bits 将会自动的被填上0,其实在这样的例子中,那7 个bits 应该是『空的』,而一些聪明的计算机工程师就利用一些复杂的计算方式, 将这些没有使用到的空间『丢』出来,以让文件占用的空间变小
另外一种压缩技术也很有趣,他是将重复的数据进行统计记录的。举例来说,如果你的数据为『111….』共有100 个1 时, 那么压缩技术会记录为『100 个1』而不是真的有100 个1 的位存在
Linux系统常见的压缩指令
在 Linux 的环境中,压缩文件案的扩展名大多是:『.tar, .tar.gz, .tgz, .gz, .Z, .bz2, *.xz』,为什么会有这样的扩展名呢?不是说Linux 的扩展名没有什么作用吗?
这是因为 Linux 支持的压缩指令非常多,且不同的指令所用的压缩技术并不相同,当然彼此之间可能就无法互通压缩/解压缩文件。
gzip, zcat/zmore/zless/zgrep
1 | [dmtsai@study ~]$ gzip [-cdtv#] 檔名 |
当你使用gzip 进行压缩时,在预设的状态下原本的文件会被压缩成为.gz 的档名,源文件就不再存
在了
bzip2, bzcat/bzmore/bzless/bzgrep
用法和gzip类似,效果更好,但是压缩时间更久
另外还有xz,效果更好,时间更久
打包指令 tar
将多个文件或目录包成一个大文件的指令功能,我们可以称呼他是一种『打包指令』,tar 可以将多个目录或文
件打包成一个大文件,同时还可以透过gzip/bzip2/xz 的支持,将该文件同时进行压缩
tar
1 | [dmtsai@study ~]$ tar [-z|-j|-J] [cv] [-f 待建立的新檔名] filename... <==打包与压缩 |
最简单的使用方法如下:
- 压 缩:tar -jcv -f filename.tar.bz2 要被压缩的文件或目录名称
- 查 询:tar -jtv -f filename.tar.bz2
- 解压缩:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录