linux备忘录-档案与文件系统的压缩与打包

知识点

文件扩展名与压缩解压缩工具

*.Z -> compress程序压缩的档案
*.gz -> gzip程序压缩的档案
*.bz2 -> bzip2程序压缩的档案
*.tar -> tar程序打包的数据,并没有压缩过
*.tar.gz -> tar打包的数据,并且经过gzip压缩
*.tar.bz2 -> tar打包的数据,并且经过bzip2压缩

目录相关

/var/spool/mail //系统中所有账号的邮件信箱
/var/spool/cron //所有账号的工作排成配置文件

散乱知识

find /etc -newer /etc/passwd 找出比/etc

常用的是 gzipbzip2 , compress已经过时

tarfile 仅进行打包的文件。tarball 既打包又压缩的文件。

命令

  1. gzip (常用的压缩程序,对compress、zip、gzip压缩的档案有效)

gzip [-cdtv#] 档案名
gzip -c 将压缩的数据输出到屏幕,可进行数据重导向
gzip -v 显示压缩信息
gzip -d 解压缩 (压缩文件会消失)
默认情况被压缩的文件会消失
gzip -9 -c man.config > man.config.gz (保留原本的文件)

  1. zcat (查看compress和gzip压缩的文本档案)
  2. bzip2 (压缩比比gzip好,对.bz .bz2 .tbz .tbz2有效)

bzip2 -c 将压缩的数据输出到屏幕上
bzip2 -z 压缩
bzip2 -d 解压缩
bzip2 -k 保留原文件
bzip2 -v 显示压缩信息

  1. bzcat (查看bzip2压缩的文本档案)
  2. tar (打包指令)

tar [-j|-z] [cv] [-f 建立的档名] filename 打包与压缩
tar [-j|-z] [tv] [-f 建立的档名] 查看档名
tar [-j|-z] [xv] [-f 建立的档名] [-C 目录] 解压缩
tar -cv 建立打包档案
tar -tv 查看档案名
tar -xv 解打包或解压缩功能
tar -j 通过bzip2支持进行压缩和解压缩
tar -z 通过gzip的支持进行压缩和解压缩
tar -v 显示过程信息
tar -f 指定压缩后档名
tar -C dir 在指定目录解压缩
tar -p 保留原本权限和属性
tar -P 保留绝对路径
tar --exclude filename 排除文件名
tar -jxv -f 打包档.tar.bz2 待解压档名 只解压一个档案
建议用法
压缩 tar -jcv -f filename.tar.bz2 要压缩的档案或目录名称
查询 tar -jtv -f filename.tar.bz2
解压缩 tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录

  1. dump (备份命令)

待备份的资料是文件系统时,可使用完整的dump功能,能使用level0-9,能使用挂载点或装置文件名
待备份的资料只是目录时,备份的数据必须在该目录底下,仅能使用level0,无法建立/etc/dumpdates时间记录文件。
dump -S 列出备份所需的空间大小
dump -u 将dump的时间记录到/etc/dumpdates档案中。
dump -j 加入bzip2的支持
dump -level 指定level
dump -f 后接产生的档案
dump -W 列出在/etc/fstab中具有dump设定的partition是否被备份过

  1. restore (dump的复原命令)

restore -t -f dumpfile 查看dump档案
restore -r -f dumpfile 还原整个文件系统
restore -C -f dumpfile 查看文件系统与dumpfile的差异
restore -i 互动模式,可以只复原一部分数据

  1. mkisofs (将数据弄成一个映像档)

mkisofs -o 输出映像档名 指定输出映像档名
mkisofs -v 显示建造的过程
mkisofs -r 支持较新档名信息
mkisofs -m filename 排除文件
光盘的格式一般称为 iso9660
mkisofs -r -o /tmp/system.img -m /home/lost+found -graft-point /root=/root /home=/home /etc=/etc 将数据归类存放

  1. cdrecord (光盘刻录工具)

cdrecord -scanbus dev=ATA 查询刻录机位置
cdrecord dev=ATA:x,y,z 指定刻录机所在的位置。
下面是刻录CD的过程
1 -> cdrecord -v dev=ATA:1,1,0 blank=fast 先抹除光盘原始内容(非可重复读写可略过此步)
2 -> cdrecord -v dev=ATA:1,1,0 fs=8m -dummy -data /tmp/system.img 刻录CD
3 -> mount -t iso9660 /dev/cdrom /mnt 测试挂载一下
4 -> umount /dev/cdrom 或 umount /mnt
下面是刻录DVD的过程
1 -> cdrecord -v dev=ATA:1,1,0 blank=fast 先抹除
2 -> cdrecord -v dev=ATA:1,1,0 fs=8m -data -sao driveropts=burnfree /tmp/system.img 刻录DVD
3 -> mount /dev/cdrom /mnt 测试
4 -> umount /dev/cdrom 或 umount /mnt

  1. dd (直接硬盘级别的拷贝)

dd if=inputfile of=outputfile bs=blocksize count=blockcount
当bs未指定时,默认为一个sector的大小,512bytes
dd /etc/passwd /tmp/passwd.back 备份passwd文件
dd /etc/sda /tmp/mbr.back bs=512 count=1 备份磁盘第一个扇区,即MBR和partition table
dd /etc/sda2 /tmp/partition.back 直接备份一个分割槽或文件系统。
dd /dev/hdc1 /dev/hdc9 不需要进行格式化

  1. cpio (可用于备份任何东西)

cpio -ovcB > [file|device] 备份
cpio -ivcde < [file|device] 还原
cpio -ivct < [file|device] 查看
cpio -o 将数据copy输出到档案或装置上
cpio -d 自动建立目录,还原时建立新目录
find /boot -print
find /boot | cpio -ovcB > /tmp/boot.cpio 备份
cpio -idvc < /tmp/boot.cpio 还原

参考

鸟哥的Linux私房菜 第三版

posted @ 2017-08-14 15:34  smallpi  阅读(322)  评论(0编辑  收藏  举报

页脚