linux 备份、压缩、加密

tar -cvf - /home | tar -xvf -

说明:把/home 拷贝到当前目录下,管道前半句把/home打包放到标准输出流中,后半句是把输入流-里的内容解包到当前目录。linux

 

tar是Linux常见的一种归档文件(原生不包括压缩功能)算法

gzip是gnu/Linux的一种压缩文件工具,算法是基于 DEFLATE,文件是gz,能够和tar组合。windows

zip是一种规范开放的压缩文件,算法不定,但主要是用 DEFLATE
rar的算法专有,但发行时附送解码器容许解码器再开发,编码器专有
7zip和zip差很少,算法不定,主要用bzip2和lzma,并且彻底开源。
zip和7z更像是压缩容器,由于算法不是格式固定,容许支持其余压缩算法

大小与区别
tar是无压缩的,比压缩效率,gz的算法最原始,因此较低,其次zip,接着rar,7z两个主要算法基本上略优于rar,基本不相上下。安全

在Linux里面,tar通常和其余没有文件管理的压缩算法文件结合使用,用tar打包整个文件目录结构成一个文件,再用gz,bzip等压缩算法压缩成一次。也是Linux常见的压缩归档的处理方法。网络


zip相对比较老,格式规范可知,因此积累了各类加解压实现,有较好的兼容性,不过现有文件格式相对而言比较落后,还有会有文件名乱码问题(由于文件名是用非Unicode编码)

rar和7z就新些,所用算法压缩效率也好不少,兼容性不及zip,不过rar的编码器有专利,但能够不制做编码器的状况使用或者再开发发行版的解码器(因此其余压缩管理工具能够调用rar的解码器来解压rar,但不能加压,百度云的在线解压rar多是使用或者再开发过unrar文件),7z的文件和管理程序都是开源的,文件格式也比较好(支持Unicode文件名),两个主要压缩算法的性能都很好,只是差什么时候能普及而取代zip而已。app

压缩率bzip2 > gzip > zip工具

zip的通用性较好,而如今windows下软件winrar,7zip等对tar.gz的支持也很是好。推荐用tar.gz,bzip2要耗费更多的cpu性能

gzip能够极大的加速网站.有时压缩比率高达80%,近来测试了一下,最少都有40%以上,仍是至关不错的.在Apache2以后的版本,模块名不叫gzip,而叫mod_deflate测试

在网络传输、设备之间转存、复制大文件等时,因为网络不稳定等因素可能形成数据不一致,这就须要校验文件的完整性。网站

md5sum命令用于生成和校验文件的md5值。它会逐位对文件的内容进行校验。是文件的内容,与文件名无关,也就是文件内容相同,其md5值相同。md5值是一个128位的二进制数据,转换成16进制则是32(128/4)位的进制值。md5校验,有很小的几率不一样的文件生成的md5可能相同。比md5更安全的校验算法还有SHA*系列的。

-b 以二进制模式读入文件内容

-t 以文本模式读入文件内容

-c 根据已生成的md5值,对现存文件进行校验

--status 校验完成后,不生成错误或正确的提示信息,能够经过命令的返回值来判断。

对同内容不一样名的文件进行md5,md5值同样,

-b、-t虽然是不一样的读入模式,可是在进行求md5的时候,是同样的,由于是逐位校验的。

md5sum值逐位校验,因此文件越大,校验时间越长。 ————————————————

【tar option】tar --help

-c, --create            create a new archive创建压缩档案
-x, --extract, --get    extract files from an archive解压
-t, --list              list the contents of an archive查看内容
-r, --append            append files to the end of an archive向压缩归档文件末尾追加文件
-u, --update            only append files newer than copy in archive更新原压缩包中的文件

这五个是独立的命令,压缩解压都要用到其中一个,能够和别的命令连用但只能用其中一个。下面的参数是根据须要在压缩或解压档案时可选的。

-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示全部过程
-O:将文件解开到标准输出

下面的参数-f是必须的

-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。

--exclude=PATTERN        exclude files, given as a PATTERN

 

tar -czvf proftpd.tar.gz /home/proftpd --exclude *.log
#压缩/home/proftpd目录下文件(除去.log文件)到proftpd.tar.gz

 

压缩

tar -cvf jpg.tar *.jpg //将目录里全部jpg文件打包成tar.jpg 

tar -czf jpg.tar.gz *.jpg   //将目录里全部jpg文件打包成jpg.tar后,而且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz

 tar -cjf jpg.tar.bz2 *.jpg //将目录里全部jpg文件打包成jpg.tar后,而且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2

tar -cZf jpg.tar.Z *.jpg   //将目录里全部jpg文件打包成jpg.tar后,而且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z

rar a jpg.rar *.jpg //rar格式的压缩,须要先下载rar for linux

zip jpg.zip *.jpg //zip格式的压缩,须要先下载zip for linux

解压

tar -xvf file.tar //解压 tar包

tar -xzvf file.tar.gz //解压tar.gz

tar -xjvf file.tar.bz2   //解压 tar.bz2

tar -xZvf file.tar.Z   //解压tar.Z

unrar e file.rar //解压rar

unzip file.zip //解压zip

总结

一、*.tar 用 tar -xvf 解压

二、*.gz 用 gzip -d或者gunzip 解压

三、*.tar.gz和*.tgz 用 tar -xzf 解压

四、*.bz2 用 bzip2 -d或者用bunzip2 解压

五、*.tar.bz2用tar -xjf 解压

六、*.Z 用 uncompress 解压

七、*.tar.Z 用tar -xZf 解压

八、*.rar 用 unrar e解压

九、*.zip 用 unzip 解压

相关文章
相关标签/搜索