档案与文件系统的压缩打包
2015-05-29 09:59
375 查看
gzip [-cdtv#] 档名
-c:将压缩的数据输出到屏幕上,可以通过数据流重导向来处理
-d:解压缩
-t:检验压缩文件的一致性
-v:显示压缩比等信息
-#:压缩等级,-1最快但压缩比最差,-9最慢但压缩比最好,预设是6
压缩的结果是.gz档名,同时源文件会被替代,zcat可以读取gzip压缩的文件
bzip2 [-cdkzv#] 档名
-c:同gzip
-d:解压
-k:保留源文件,不会删除原始档案
-z:压缩
-v:同gzip
-#:同gzip
压缩效果比gzip好,产生的文件是.bz2,可用bzcat读取
tar:用来打包多个文件,仅打包不压缩,得到的档案称为tarfile,如果有压缩支持,则称为tarball。常用:
压缩:tar -jcv -f filename.tar.bz2 被压缩的文件
查看:tar -jtv -f filename.tar.bz2
解压:tar -jxv -f filename.tar.bz2 -C 解压的目录
其中-j是通过bzip2进行解压/压缩(-z:gzip),文件名的后缀需要自己添加。在解压过程中档名开头的根目录(/)会被拿掉,避免解压时覆盖根目录中的内容。如果需要保留根目录加上-P即可
查看压缩包中单一档案的方法:
先通过【tar -jtv -f filename | grep "关键字"】查找要打开的档案名,然后【tar -jxv -f filename 要打开的档案名】
打包某目录但不包括某些档案的方法:
tar -jcv -f filename.tar.bz2 --exclude=不包括的档案 要打包并压缩的目录
打包比某个档案新的档案:
1. 找出该档案的mtime(ls),例如2015/5/25
2. 打包:tar -jcv -f filename.tar.bz2 --newer-mtime="2015/05/25" 要打包压缩的目录
完整备份工具:dump
dump可以制定等级,第一次备份时等级为level 0,第二次备份时为level 1,level 1只备份从level 0后变化过的档案,level 2一次类推。如果备份的数据是单一文件系统,可以使用挂载点或者装置名进行备份;如果待备份的数据只是目录,并非单一文件系统,则此时有如下限制:
1. 所有的备份数据都必须在该目录下
2. 只能使用level 0
3. 不支持-u选项,无法在/var/lib/dumpdates下更新记录文件
dump [-Suv] [-level] [-f 备份档] 待备份资料
-S:列出待备份资料需要多少次盘空间进行备份
-u:将本次dump记录到/var/lib/dumpdates中
-v:显示dump过程
-j:加入bzip2支持,将数据进行压缩,默认压缩等级为2
-level:0~9个压缩等级
dump -W:列出/etc/fstab中具有dump设定的partition是否备份过
restore:恢复dump备份的数据
restore -t [-f dumpfile] [-h]:观察dump档
restore -C [-f dumpfile] [-D 挂载点]:比较dump与实际档案的差异
restore -i [-f dumpfile]:进入互动模式
互动模式中help可以查看指令,add file是将文件加入要解压的列表中,delete file是将文件从要解压的列表中移出,extract是解压。要被解压的档案前会出现*
restore -r [-f dumpfile]:还原文件系统(若有多个level的dump备份,要从level 0开始依次还原)
dd:读取磁盘装置的内容,备份成一个档案
dd if="input file" of="output file" bs="block size" count="block number"
block size预设是512B(一个sector的大小),结果中的3+1指三个完整的512B和一个不完整的512B
cpio:可以备份任何东西,包括装置、设备、档案,但需要结合find指令来寻找数据
cpio -ovcB > [file/device]:备份
-o:将数据copy输出到档案或装置上
-B:让预设的block大小可增加至5120B(预设是512B),好处是可以让大档案存储速度加快(inode数少)
cpio -ivcdu < [file/device]:还原
cpio -ivct < [file/device]:查看
-i:将数据从档案或装置copy出到系统中
-d:自动建立目录(cpio备份的数据不一定在同一层目录中,必须要然cpio在还原时建立新目录)
-u:用较新的档案覆盖较旧的档案
-t:需配合-i,可以查看以cpio建立的档案或装置的一些选项和参数
-v:显示存储过程
例:找出/boot下的所有档案并备份到tmp/boot.cpio
1. find /boot -print
2. find /boot | cpio -ocvB > /tmp/boot.cpio
dump,cpio,tar,dd比较
dump:
可将目录和文件系统备份至指定设备或备份成一个大文件,倾向于考虑文件系统而不是个别文件
cpio:
cpio可以备份从标准输入(stdin)来的档案。dump与cpio的功能比较:
1. cpio需要使用touch或find才可执行备份
2. dump备份完后不改变文件的atime和ctime
3. dump可以以互动的方式进行资料恢复,如retore的-i选项
如果需要定期备份整个作业系统,最好的选择是dump,其次是cpio
tar:
如果只是为了进行资料备份,不在乎atime,不需要定期做变动备份,tar是最好的选择
cpio有而大部分tar没有的功能:
1. 可以备份来自stdin的档案
2. 备份完成是重新设定档案的atime(这会改变其ctime)
dd:
一个很底层的指令,产生文件系统的二进制副本,不是基于文件的,不管也无需知道备份资料的结构,所以不能复制一群档案
-c:将压缩的数据输出到屏幕上,可以通过数据流重导向来处理
-d:解压缩
-t:检验压缩文件的一致性
-v:显示压缩比等信息
-#:压缩等级,-1最快但压缩比最差,-9最慢但压缩比最好,预设是6
压缩的结果是.gz档名,同时源文件会被替代,zcat可以读取gzip压缩的文件
bzip2 [-cdkzv#] 档名
-c:同gzip
-d:解压
-k:保留源文件,不会删除原始档案
-z:压缩
-v:同gzip
-#:同gzip
压缩效果比gzip好,产生的文件是.bz2,可用bzcat读取
tar:用来打包多个文件,仅打包不压缩,得到的档案称为tarfile,如果有压缩支持,则称为tarball。常用:
压缩:tar -jcv -f filename.tar.bz2 被压缩的文件
查看:tar -jtv -f filename.tar.bz2
解压:tar -jxv -f filename.tar.bz2 -C 解压的目录
其中-j是通过bzip2进行解压/压缩(-z:gzip),文件名的后缀需要自己添加。在解压过程中档名开头的根目录(/)会被拿掉,避免解压时覆盖根目录中的内容。如果需要保留根目录加上-P即可
查看压缩包中单一档案的方法:
先通过【tar -jtv -f filename | grep "关键字"】查找要打开的档案名,然后【tar -jxv -f filename 要打开的档案名】
打包某目录但不包括某些档案的方法:
tar -jcv -f filename.tar.bz2 --exclude=不包括的档案 要打包并压缩的目录
打包比某个档案新的档案:
1. 找出该档案的mtime(ls),例如2015/5/25
2. 打包:tar -jcv -f filename.tar.bz2 --newer-mtime="2015/05/25" 要打包压缩的目录
完整备份工具:dump
dump可以制定等级,第一次备份时等级为level 0,第二次备份时为level 1,level 1只备份从level 0后变化过的档案,level 2一次类推。如果备份的数据是单一文件系统,可以使用挂载点或者装置名进行备份;如果待备份的数据只是目录,并非单一文件系统,则此时有如下限制:
1. 所有的备份数据都必须在该目录下
2. 只能使用level 0
3. 不支持-u选项,无法在/var/lib/dumpdates下更新记录文件
dump [-Suv] [-level] [-f 备份档] 待备份资料
-S:列出待备份资料需要多少次盘空间进行备份
-u:将本次dump记录到/var/lib/dumpdates中
-v:显示dump过程
-j:加入bzip2支持,将数据进行压缩,默认压缩等级为2
-level:0~9个压缩等级
dump -W:列出/etc/fstab中具有dump设定的partition是否备份过
restore:恢复dump备份的数据
restore -t [-f dumpfile] [-h]:观察dump档
restore -C [-f dumpfile] [-D 挂载点]:比较dump与实际档案的差异
restore -i [-f dumpfile]:进入互动模式
互动模式中help可以查看指令,add file是将文件加入要解压的列表中,delete file是将文件从要解压的列表中移出,extract是解压。要被解压的档案前会出现*
restore -r [-f dumpfile]:还原文件系统(若有多个level的dump备份,要从level 0开始依次还原)
dd:读取磁盘装置的内容,备份成一个档案
dd if="input file" of="output file" bs="block size" count="block number"
block size预设是512B(一个sector的大小),结果中的3+1指三个完整的512B和一个不完整的512B
cpio:可以备份任何东西,包括装置、设备、档案,但需要结合find指令来寻找数据
cpio -ovcB > [file/device]:备份
-o:将数据copy输出到档案或装置上
-B:让预设的block大小可增加至5120B(预设是512B),好处是可以让大档案存储速度加快(inode数少)
cpio -ivcdu < [file/device]:还原
cpio -ivct < [file/device]:查看
-i:将数据从档案或装置copy出到系统中
-d:自动建立目录(cpio备份的数据不一定在同一层目录中,必须要然cpio在还原时建立新目录)
-u:用较新的档案覆盖较旧的档案
-t:需配合-i,可以查看以cpio建立的档案或装置的一些选项和参数
-v:显示存储过程
例:找出/boot下的所有档案并备份到tmp/boot.cpio
1. find /boot -print
2. find /boot | cpio -ocvB > /tmp/boot.cpio
dump,cpio,tar,dd比较
dump:
可将目录和文件系统备份至指定设备或备份成一个大文件,倾向于考虑文件系统而不是个别文件
cpio:
cpio可以备份从标准输入(stdin)来的档案。dump与cpio的功能比较:
1. cpio需要使用touch或find才可执行备份
2. dump备份完后不改变文件的atime和ctime
3. dump可以以互动的方式进行资料恢复,如retore的-i选项
如果需要定期备份整个作业系统,最好的选择是dump,其次是cpio
tar:
如果只是为了进行资料备份,不在乎atime,不需要定期做变动备份,tar是最好的选择
cpio有而大部分tar没有的功能:
1. 可以备份来自stdin的档案
2. 备份完成是重新设定档案的atime(这会改变其ctime)
dd:
一个很底层的指令,产生文件系统的二进制副本,不是基于文件的,不管也无需知道备份资料的结构,所以不能复制一群档案
相关文章推荐
- angular简单用法备忘(用户管理CRUD)
- 关机、重启计算机
- C# 基础学习第一天
- 可以运用到android项目中的一些小技巧
- MSDAORA.1与OraOLEDB.Oracle一些使用经验
- Android系统中app层调用硬件信息
- 日经春秋 20150529
- 关于Linux Shell的信号trap功能你必须知道的细节
- Chapter12. Foundation Classes and selector in Objective-C
- jquery封装了一个简洁轻巧的可拖动可自定义样式的纯div+css带遮罩层的仿模态弹出框
- Ultimus PDC助力华盛绿能提升库存管理水平
- 五子棋游戏SRS文档
- 分享几个网站,对于IT人事可能有点帮助
- boost graph --- 有向图中两点间所有路径(可处理有环情况)
- 实现四则运算——逆波兰表达式
- Datatable 新增列. 并将新增的列 设置为第一列.
- sys 模块:程序运行时的处理
- 简单对象访问协议
- 算法-二分查找
- 常见的几种网络广告模式