Linux中的文件压缩,打包和备份命令

压缩解压命令

gzip  文件  

-c : 将压缩数据输出到屏幕,可用来重定向

-v   显示压缩比等信息

-d   解压参数

-t    用来检验一个压缩文件的一致性看看档案有没错

-数字 : 压缩等级,-1最快,但压缩比最差 -9 压缩比最佳,默认-6

zcat :  压缩过得文件名  ==>查看压缩文件

gunzip 压缩过的文件名  ==>解压

只能压缩文件

不保留源文件

解压

gunzip  文件名

gzip -d  文件名

=========================================

bzip2 

   -k  : 保留源文件,而不会删除(这是和gzip不一样的地方)

   -d : 解压的参数

  其他参数和gzip一样

bzcat  bzip2ya压缩过的文件   ===>查看压缩文件的内容

--------------------------

2

tar   

打包目录/压缩

tar 命令不管是压缩还是解压都会保留源文件;

tar  -f 打包[压缩成]的文件名称    要打包的文件(是目录)

选项

 -c  (必须) 产生打包文件

-v 显示详细信息(即压缩打包目录中的文件)

-f (必须) 指定定压缩后的文件名

-z 打包同时压缩,压缩后的文件格式为  : .tar.gz

-j 打包同时压缩,压缩后的文件格式为  : .tar.bz2

-x : 解压打包或者解压缩的功能

-C 目录: 用在解压(如果需要自定解压打指定的目录)

-p : 保留备份数据的原本权限和属性,常用于备份重要的配置文件

tar -cjv  -f filename.tar.bz2  要被压缩的目录

tar -tjv  -f fielname.tar.bz2   查看打包的目录中有哪些文件

tar -xjv  -f filename   -C  要解压到的目录

//备份时加上-q选项

把bbb文件打包,

tar -c -f bbb.tar ./bbb

把bbb文件打包,同时夹压缩成new.tar.gz

tar -zcf  bbb.tar.gz  ./bbb

解压 tar

 -x  (必须) 解包.tar文件

-v 显示详细信息

-f (必须) 指定文件

-z 同时解压,压缩后的文件格式  : .tar.gz

-j 打包同时压缩,压缩后的文件格式为  : .tar.bz2

-------------------------------------------


dump  ==>文件备份  除了可以备份整个文件系统,还可以备份目录(备份目录是仅支持完整备份,不支持增量备份)

增量备份  :  

dump [-Sujv][-level]   [-f 备份档案]  待备份资料;

-W : 列出在/etc/fstab配置文件中设有dump设定的partition是否有备份过

-S : 仅查看后面的备份数据需要多少磁盘空间

-v : 显示备份过程

-f 和tar一样,后面节生成的备份文件名(或者时装置名)

-j   bzip2的压缩支持   ,将备份数据压缩

-u : 把这次dump的时间记录到/etc/dumdates中

dump -W

dump -S   /boot   [dev/sda1]

dump -u0  /root/boot.dump  /boot

//leve0 备份

dump  -uv0  -f /root/boot.dump  /boot

dd  if=/dev/zero  of=/boot/dump_test  bs=1M  count=10

(创建一个10M大小的空文件)

level 1备份

dump -u1  -f /root/boot.dump1  /boot

//备份/etc目录,只能使用level 0 备份

dump  -0j   /root/etc.dump.bz2     /etc    

==========================================

restore  :

备份的还原

restore  -t  [-f filename]  [-h]  <===用来查看dump的文目录中有什么文件

restore  -C  [-f  filename]  [-D 挂载点]   <===比较dump与实际的档案

-t : 观察dump起来的备份文件里面有什么;与tar -t 类似

-C(大写)  : dump内的数据拿出来和实际的文件系统作比较,最终会裂出在dump中与目前文件系统不一样的档案

-i  : 进入互动模式 ,可以仅还原部分文件,  用在dump目录时的还原!

-r  : 将整个文件系统还原,用在还原增对文件系统的备份

-h : 完整的备份数据中的inode 与文件系统的label等信息

-D : 与-C ,搭配,可以查出后面的挂载点与dump内不同的文件   

最后别忘了-f



===============================================

dd  if = input_file   of = output_file  bs=block_size count=number

if  (input file)

of  (output file)

bs(block size)

count (the number of bs)

把sdb1的内容拷贝到sdb2

dd  if=/dev/sdb1 of=/dev/sdb2

创建 文件swap空间

examples: 

1创建一个指定大小的文件

dd if=/dev/zero  of=zerofile  bs=1042k(block大小)  count=1024

2 将/etc/passwd 复制到/root/passwd

dd if=/etc/passwd  of =/root/passwd

3 将/dev/sda1 分割曹备份下来

dd if=/dev/sda1  of=/root/devsda1.back  (被封后会变成一个很大的二进制文件)

tar 可以用来备份关键数据, 而dd则可以用来备份整个partition或者时整个磁盘

不过如果要将数据还原到filesystem中,需要考录原来的Filesystem一致

dd  是一条经常用来测试硬盘读写速度的命令

dd if=/dev/zero of=/var/swap/file.swap bs=1024K count=512

mkswap /var/swap/file.swap (创建swap空间)

mkswap /var/swap/file.swap (启用swap空间)

swapoff /var/swap/file.swap (停用创建的swap空间)

如果希望系统引导的时候自动加载创建的swap空间需要编辑/etc/fstable

/etc/fstable中加入如下行:

/var/swap/swap.file   swap  swap   defaults 0  0

上一篇:IOS 视频.图片上传服务器


下一篇:Shell实现判断进程是否存在并重新启动脚本