【鸟哥的linux私房菜-学习笔记】档案与文件系统的压缩与打包
2015-10-26 09:06
661 查看
压缩文件的用途与技术
什么是压缩:比如你的数据为『111….』共有100个1时, 那么压缩技术会记录为『100个1』。(这只是一个简单的例子,事实上压缩比这个复杂)
我们知道,计算机中存储的都是1,0的数据,假如一个byte存了7个0和1个1,那么空间占用会比较大,通过压缩可以节省空间。压缩过的文件,想让系统所使用,一般需要进行“还原”,即解压缩。
Linux 系统常见的压缩命令
常见的压缩文件扩展名:*.Z compress 程序压缩的文件;
*.gz gzip 程序压缩的文件;
*.bz2 bzip2 程序压缩的文件;
*.tar tar 程序打包的数据,并没有压缩过;
*.tar.gz tar 程序打包的文件,其中并且经过 gzip 的压缩
*.tar.bz2 tar 程序打包的文件,其中并且经过 bzip2 的压缩
**注意,压缩命令通常仅能针对一个文件来压缩与解压缩,故常常需要进行打包(tar)
compress:比较老旧,几近被淘汰了。
gzip: 可以解开 compress, zip 与 gzip 等软件所压缩的文件。 gzip 所创建的压缩档为 *.gz。使用 gzip 进行压缩时,在默认的状态下原本的文件会被压缩成为 *.gz,原始文件就不再存在了。
zcat: 可以读取纯文字档被压缩后的压缩档,还可以读取 compress 与 gzip 的压缩档。
bzip2: 压缩比比gzip更高,用法几乎与gzip相同。压缩后可用bzcat读取数据而不需要解开。
打包命令: tar
虽然 gzip 与 bzip2 也能够针对目录来进行压缩, 不过,这两个命令对目录的压缩指的是『将目录内的所有文件 “分别” 进行压缩』的动作! 而不像在 Windows 的系统,可以使用类似 WinRAR 这一类的压缩软件来将好多数据『包成一个文件』的样式。最简单的 tar 使用:
压 缩:tar -jcv -f filename.tar.bz2 要被压缩的文件或目录名称 查 询:tar -jtv -f filename.tar.bz2 解压缩:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录
-c :创建打包文件,可搭配 -v 来察看过程中被打包的档名(filename)
-t :察看打包文件的内容含有哪些档名
-x :解打包或解压缩的功能,可以搭配 -C (大写) 在特定目录解开
特别留意的是, -c, -t, -x 不可同时出现在一串命令列中。
-j :透过 bzip2 的支持进行压缩/解压缩:此时档名最好为 *.tar.bz2
-z :透过 gzip 的支持进行压缩/解压缩:此时档名最好为 *.tar.gz
-v :在压缩/解压缩的过程中,将正在处理的档名显示出来
-f filename:-f 后面要立刻接要被处理的档名!建议 -f 单独写一个选项
-C 目录 :这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项
-p :保留备份数据的原本权限与属性,常用於备份(-c)重要的配置档
-P :保留绝对路径,亦即允许备份数据中含有根目录存在之意
–exclude=FILE:在压缩的过程中,不要将 FILE 打包!
解开单一文件:tar -jxv -f 打包档.tar.bz2 待解开档名
tar -cvf - /etc | tar -xvf -:类似于 cp -r /etc /tmp
备份工具:dump
dump 命令可备份文件系统或单一目录dump 的备份若针对文件系统时,可进行 0-9 的 level 差异备份!其中 level 0 为完整备份
还原工具:restore
可还原被 dump 建置的备份档光盘写入工具
刻录的通常作法:先将所需要备份的数据建置成为一个映像档(iso),利用 mkisofs 命令来处理; 将该映像档烧录至光盘或 DVD 当中,利用 cdrecord 命令来处理。 即: mkisofs:创建映像档 cdrecord:光盘烧录工具
其他常见的压缩与备份工具
dd:可以用来备份整颗 partition 或 整颗 diskcpio:可以备份任何东西,包括装置设备文件
必须要搭配类似 find 命令来读入欲备份的档名数据,方可进行备份动作
相关文章推荐
- Linux生成生成公钥和私钥 QT环境
- 老照片:Linux 的 24 年历史,一步一个脚印
- Linux Eclipse代码提示功能设置(Java & C/C++)
- Linux/Ubuntu 怎么设置打开远程桌面登录连接
- 10 个给 Linux 用户的有用工具
- Linux回收站管理
- LINUX设备驱动程序的注意事项(两)建设和执行模块
- Linux 中 df 命令的11个例子
- Linux 中 df 命令的11个例子
- control + D 退出linux 当前命令(行)
- VmWare10 32位安装CentOS7遇到的问题及解决办法
- 如何判断linux用户是否为root用户
- linux下设置了SSH免密码登录但还是需要输入密码的解决办法
- Linux 操作系统初探
- centos 关闭进程
- linux下eclipse用自定义Makefile交叉编译
- linux首次登陆与帮助
- linux文件权限
- Linux查看服务的运行状态,并且启动和停止服务的方法
- IBM Websphere Message Broker(MB) 教程系列-(2) 创建Broke