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