linux中压缩与备份命令总结
一、压缩与解压缩
1、compress [-rcv] 文件或目录 <==压缩
uncompress 文件.Z <==解压缩
-r:可以连同目录下的文件也同时进行压缩
-c:将压缩数据输出成standard output(输出到屏幕)
-v:可以显示出压缩后的文件信息以及压缩过程中的一些文件名变化
(这个命令是非常老旧的一款)
2、gzip [-cdtv#] 文件名
-c:将压缩的数据输出到屏幕上,可通过数据流重定向来处理
-d:解压缩的参数
-t:可以用来检验一个压缩文件的一致性,看看文件有错误
-v:可以显示压缩比等信息
-#:压缩等级,-1最快,但压缩比最差,-9最慢,但压缩比最好,最好是默认的-6
注:默认的情况下,原文件会被覆盖,要想保留源文件可以使用-c与>的组合(例如gzip -c man.config > man.config.gz 此时源文件会被保留)
zcat 文件名.gz 读取.gz压缩包(前提示原本的文件为文本文件)
3、bzip2 [-cdkzv#] 文件名
-c:将压缩过程中产生的数据输出到屏幕上
-d:解压缩的参数
-k:保留源文件
-z:压缩的参数
-v:显示压缩比等信息
-#:同gzip
bzcat 文件名.bz2 读取.bz2压缩包
解压缩可以使用bunzip2来代替bzip2 -d
4、打包命令tar (可以将多个目录或者文件打包成一个大文件,同时还可以通过gzip/bzip2的支持,将该文件进行压缩)
tar [-j|-z] [cv] [-f 新建的文件名] filename... <==打包与压缩
tar [-j|-z] [tv] [-f 新建的文件名] <==查看文件名
tar [-j|-z] [xv] [-f 新建的文件名] [-C 目录] <==解压缩
-c:新建打包文件,可搭配-v来查看过程中被打包的文件名
-t:查看打包文件的内容有哪些文件名,重点在查看文件名
-x:解压缩或解打包的功能,可以搭配-C在特定的目录解开(-c,-t,-x不能同时出现在同一命令行)
-j:通过bzip2的支持进行压缩/解压缩,此时文件名最好为*.tar.bz2
-z:通过gzip的支持进行压缩/解压缩,此时的文件名最好为*.tar.gz
-v:在压缩/解压缩的过程中,将正在处理的文件名显示出来
-f filename:-f后面接被处理的文件名
-C目录:这个参数用在解压缩的时候,若要在特定目录进行解压缩
-p:保留备份数据的原本属性与权限
-P:保留绝对路径,即允许备份数据中含有根目录
--exclude=file:在压缩的过程中不要将file打包
--newer-mtime=‘date‘:仅更新比date这个时刻还要新的文件
二、备份命令
1、dump备份整个文件系统和单一目录(限制在于对单一目录的备份支持比较不足)
dump [-Suvj] [-level] [-f备份文件] 待备份的数据
-S:仅列出后面的待备份数据需要多少磁盘空间才能够备份完毕
-u:将这次dump的时间记录到/etc/dumpdates文件中
-v:将dump的文件过程显示出来
-j:加入bzip2的支持,将数据进行压缩,默认的压缩等级是2
-level:压缩等级,同前
-f:后面接产生的文件
-W:l列出在/etc/fstab里面的具有dump设置的分区是否有备过
如果待备份的数据只是,目录,并非单一文件系统则有限制:
(1)所有的备份数据都必须要在该目录下面
(2)且仅能使用leve 0,即支持完整备份而已
(3)不支持-u参数,即无法创建/etc/dumpdates这个level备份的时间记录文件
2、dump的恢复使用restore命令
restore -t [-f dumpfile] [-h] <==用来查看dump文件
restore -C [-f dumpfile] [-D 挂载点] <==比较dump与实际文件
restore -i [-f dumpfile] <==进入互动模式
restore -r [-f dumpfile] <==还原整个文件系统
-t:此模式用在查看dump起来的备份文件中含有什么重要的数据
-C:此模式可以将dump内的数据拿出来跟实际的文件系统做比较
-i:进入互动模式,可以仅还原部分文件,用在dump目录时的还原
-r:将整个文件系统还原的一种模式,用在还原对文件系统的备份
-h:查看完整备份数据中的inode与文件系统label等信息
-f:后面就接你要处理的那个dump文件
-D:与-C进行搭配,可以查出后面接的挂载点与dump内有不同的文件
3、有光盘写入工具
步骤一:新建镜像文件 mkisofs [-o 镜像文件] [-rv] [-m file] 待备份文件..[-V vol] -graft-point isodir=systemdir...
-o:后面接你想要产生的那个镜像文件名
-r:通过Rock Ridge产生支持UNIX/LINUX的文件数据
-v:显示构建ISO文件的过程
-m file:-m为排除文件
-V vol:新建Volume
-graft-point:graft有转嫁或移植的意思
步骤二:将该镜像文件刻录至光盘或者DVD当中
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
-scanbus:用在扫描磁盘总线并找出可用的刻录机,后续的设备为ATA接口
-v:在cdrecord运行的过程,显示过程而已
dev=ATA:x,y,z:后续的x,y,z为你系统上刻录机所在的位置,非常重要
blank=[fast|all]:blank为抹除可重复写入的CD/DVD-RW,使用fast较快,all较完整
-format:仅针对DVD+RW这种格式的DVD
[可用参数功能]主要是写入CD/DVD时可使用的参数:
-data:指定后面的文件以数据格式写入,不是以CD音轨方式写入
speed=X:指定刻录速度
-eject:指定刻录完毕后自动退出光盘
fs=Ym:指定多少缓冲存储器,可用在将镜像文件先暂存区,默认为4M,一般建议可增加到8M
针对DVD的参数功能:
driveropts=burnfree:打开Buffer Underrun Free模式的写入功能
-sao :支持DVD-RW的格式
4、dd可备份完整的分区或磁盘,因为dd可读取磁盘的扇区表面数据
dd if="input file" of="output file" bs="block size" count="number"
if:就是input file
of:就是output file
bs:规划的一个block的大小,若为指定则默认是512bytes
count:多少个bs的意思
5、cpio可以备注任何东西,cpio得要配合类似find等可以找到文件名的命令来告知cpiof该备份的数据在哪里
cpio -ovcB > [file|device] <==备份
cpio -ivcdu < [file|device] <==还原
cpio -ivct <[file|device] <==查看
备份会使用到参数:
-o:将数据copy输出到文件或设备上
-B:让默认的Bloks可以增加至5120bytes,默认是512beytes
还原会使用的参数:
-i:将数据自文件或设备复制到系当中
-d:自动新建目录
-u:自动将较新的文件覆盖较旧的文件
-t:需要配合-i参数,可以用在查看以cpio新建的文件或设备的内容
一些共享的参数:
-v:让存储的过程中文件名可以显示在屏幕上
-c:一种较新的portable format方式存储