linux学习日记六 文件与文件系统的压缩与打包

时间:2013-03-26 10:34:12 魔新豆网

  ====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无法做到的

本文标签: