linux学习日记六 文件与文件系统的压缩与打包
====gzip压缩命令====
# gzip [-cdtv#] 文件名 –> 可以解开compress,zip,gzip软件压缩的文件
-c:将压缩数据输出到屏幕上,可通过数据重定向来处理
-d:解压缩参数
-t:验证一个压缩文件的一致性,看看文件是否有无错误
-v:显示源文件/压缩文件的压缩比等信息
-#:压缩等级,-1最快,但压缩比最差,-9最慢,但压缩比最好。默认-6
====bzip2压缩命令====
# bzip2 [-cdkzv#] 文件名
-c:将压缩过程中产生的数据输出到屏幕上
-d:解压缩命令
-k:保留原文件,不删除源文件
-z:压缩参数
-v:显示源文件/压缩文件的压缩比等信息
====压缩/解压缩并打包命令tar====
# tar -jcvf file.tar.bz2 file1 file2 file3… –> 利用bzip2来压缩并打包
# tar -jxvf file.tar.bz2 -C 目录 –> 利用bzip2解压缩到指定文件夹
# tar -jtvf file.tar.bz2 –> 查看bz2的压缩文件内容
——————————————————————————-
# tar -zcvf file.tar.gz file1 file2 file3… –> 利用gzip来压缩并打包
# tar -zxvf file.tar.gz -C 目录 –> 利用gzip来解压缩到指定文件夹
# tar -ztvf file.tar.gz –> 查看gz的压缩文件内容
——————————————————————————–
-p:保留备份数据的原本权限与属性,常用语备份(-c)重要的配置文件(常用)
-P:保留绝对路径,即允许备份数据中含有根目录存在之意(不常用)
–exclude=FILE:在压缩过程中,不要将FILE打包
如果只想解开一个单独的文件,可以使用命令:
先查看:# tar -jtvf file.tar.bz2 | grep ‘myfile’
# tar -jxvf file.tar.bz2 待解开文件名
====dump备份完整的文件系统====
# dump -S /dev/sda1 –> 仅仅列出需要多少磁盘空间才能备份
# dump -0u -f /root/boot.dump /boot –> 备份等级为0表示完整备份,-u表示并且将dump的时间记录到/etc/dumpdatas文件中
如果是一个目录而非单一的文件系统,则只能完整备份并且不能使用-u参数,而且需要备份的数据都在这个目录下:
# dump -0j -f /root/etc.dump.bz2 /etc
====restore 恢复dump备份的东东====
# restore [-tir] -f dumpfile
# restore -C -f dumpfile -D 挂载点 –> 比较dump与实际文件
-t:查看dump文件内容
-i:进入互动模式
-r:整个文件系统的还原
====光盘写入工具====
* 先将所需要备份的数据构建成一个镜像文件(ISO),利用mkisofs命令
* 将该镜像文件刻录至光盘或DVD中,利用cdrecord命令
# mkisofs -o 镜像文件 -rv -m file 待备份文件… -v vol -graft-point isodir=systemdir
举个例子:# mkisofs -r -v ‘linux_file’ -o /tmp/system.img -m /home/lost+found -graft-point /root=/root /home=/home /etc=/etc
接下来讲讲光盘刻录工具cdrecord
# cdrecord -scanbus dev=ATA <==查询刻录机的位置
# cdrecord -v dev=ATA:x,y,z blank=[fast|all] <==抹除重复读写片
# cdrecord -v dev=ATA:x,y,z -format <==格式化DVD+RW
# cdrecord -v dev=ATA:x,y,z [参数列表] file.iso
参数列表:
-data:指定以数据格式写入,而不是以默认的CD音轨(-audio)方式写入
speed=X:指定刻录速度,例如CD可用speed=40,DVD可用speed=4之类。
-eject:刻录完自动弹出
fs=8m指定多少缓冲存储器,默认4M,可用增加到8M
针对DVD参数功能:
driveropts=burnfree:打开Buffer Underrun Free模式的写入功能
-sao:支持DVD-RW的格式
一个完整的利用DVD-RW刻录的例子:
先擦除数据:# cdrecord -v dev=ATA:1,1,0 blank=fast
开始写入:# cdrecord -v dev=ATA:1,1,0 fs=8m -data -sao driveropts=burnfree /tmp/system.img
# mount /dev/cdrom /mnt
# df -h /mnt <==看看光盘里面有没有刻录的数据吧
# umount /mnt <== 卸载光盘
====备份工具dd====
# dd if=/etc/passwd /tmp/passwd.back
# dd if=/dev/hdc of=/tmp/mbr.bak bs=512 count=1 <==将自己的磁盘第一个扇区备份下来(放置MBR和磁盘分区表的那个扇区)
注:tar用来备份重要数据,而dd用来备份整块分区或者是整块磁盘,dd甚至可以完整复制启动扇区(boot sector)的区块,这个是tar无法做到的
下一篇:linux学习日记五 磁盘与文件系统管理