目录
Linux系统常见的压缩命令
在Windows系统中我们经常使用压缩工具来压缩一些文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件
compress
compress 是一个相当古老的 Unix/Linux 文件压缩指令,压缩后的文件会加上一个 .Z 延伸文件名以区别未压缩的文件,压缩后的文件可以以 uncompress 解压。若要将数个文件压成一个压缩文件,必须先将文件 tar 起来再压缩。由于 gzip 可以产生更理想的压缩比例,一般人多已改用 gzip 为文件压缩工具
gzip、zcat
压缩文件:gzip hosts
查看压缩文件中的内容:zcat hosts.gz
解压文件:gzip -d hosts.gz
注:如果想要在压缩的过程中保留原文件,可以使用gzip –c hosts > hosts.gz;
bzip2、bzcat
压缩文件:bzip2 hosts
查看压缩文件的内容:bzcat hosts.bz2
解压文件:bzip2 -d hosts.bz2
注:如果想要在压缩的过程中保留原文件,可以使用bzip2 –c hosts > hosts.bz2
zip
压缩文件:zip host.zip hosts
注:zip压缩默认是保留了原文件
解压文件:unzip hosts.zip
打包命令:tar
打包是指将一大堆文件或目录打包归档变成一个总的文件,文件的大小并没有改变;
打包文件:tar cvf hosts.tar hosts
注:参数c表示创建一个归档文件,v是显示创建归档的过程,f是指明创建归档的名字
归档之后默认是保留源文件的,如果不想保留源文件则使用tar cvf hosts.tar hosts –remove-files
归档之后文件的内存会变大
查看归档文件的内容:tar tvf hosts.tar
注:t参数表示在不解档的情况下查看文件
解档文件:tar xvf hosts.tar
注:x参数表示解档文件
解档到指定的路径:tar xvf hosts.tar –C aa/
注:C参数表示指明解档的路径
打包一个目录中的所有文件:tar cvf xx.tar * --remove-files
解压含有多个文件的包中指定的文件:
1、查看包中含有的文件:tar tvf xx.tar
2、解压包中指定的文件:tar xvf xx.tar hosts
压缩与打包的配合使用
如果需要在打包的时候同时使用压缩,就需要在tar命令中调用压缩的命令;
tar与gzip配合使用
打包的时候同时gzip压缩:tar zcvf xx.tar.gz * --remove-files
解档的时候同时gzip解压:tar zxvf xx.tar.gz
注:tar与gzip配合使用压缩、解压的时候都需要加上z参数
tar与bzip2配合使用
打包的时候同时bzip2压缩:tar jcvf xx.tar.bz2 * --remove-files
解档的时候同时bzip2解压:tar jxvf xx.tar.bz2
注:tar与bzip2配合使用压缩、解压的时候都需要加上j参数
完整备份工具:dump
在Linux中备份分为全备份、增量备份、差异备份三种
备份级别:0~9,其中0表示全备份;在Linux备份中,默认的是从高级别往低级别备份;例如当备份级别为0的时候,就表示全备份;例如在增量备份中,由于系统只能从高级别往低级别备份,所以备份级别是逐渐递增的;而在差异备份中,除了0级别的全备份之外备份级别都是逐渐递减的(所以差异备份都是以0级别为标准进行备份的)
dump
全备份:dump -0u –f rhce/1.dump /dev/sda3
注:将sda3的内容备份到rhce文件夹下的1.dump文件中
0表示全备份级别,-u表示会将备份时间写入etc文件夹下的dumpdates文件中,-f表示指明备份的文件
查看备份文件中的内容:restore –t –f rhce/1.dump
注:t参数表示不恢复的情况下查看文件;f参数表示指明备份文件
恢复备份文件:restore –r –f /root /rhce/1.dump
注:r参数表示恢复备份文件
恢复指定的文件,不全部恢复:restore –i –f /root /rhce/1.dump
注:i参数表示恢复指定的文件
光盘写入工具:mkisofs
在Linux中我们可以使用mkisofs命令来将一些文件做成iso文件;
新建镜像文件:mkisofs –o xx.iso file1
注:参数o表示指明镜像文件的名称
挂载镜像文件:mount –o loop xx.iso /mnt
将光盘中的内容挂载成为ISO镜像:cp /dev/cdrom xxx.iso
mount –o loop xxx.iso /mnt
其它常见的压缩与备份工具:dd、cpio
dd
使用dd创建一个文件:dd if=/dev/zero of=files bs=1M count=1
使用dd来给磁盘做备份:dd if=/dev/sda3 of=test
从文件中恢复备份内容:dd if=test of=/dev/sda3
dd实现硬盘、分区对拷:dd if=/dev/sda of=/dev/sdb
dd if=/dev/sda1 of=/dev/sda2
cpio
打包:find –name ‘file*’ | cpio –o > xx.cpio (-o参数表示打包)
解包:cpio –iu < xx.cpio (-i表示解包,-u表示新版本覆盖)
注:上述的命令中|表示的是管道,意思是将查找出来的文件通过管道给cpio命令执行并将结果输出到xx.cpio
| 表示管道,后续章节中说明
原创文章,转载请注明出处