《鸟哥的私房菜》第八章总结
1.压缩与解压原理
eg:下载一个文件,里面存储是个1,即1 1 1 1 1 1 1 1 1 1
压缩过程为:1*10
将原来的10个字符压缩成四个字符(1 × 1 0)
解压过程为:将压缩的文件还原。
压缩好处:在网络中传输时节约带宽。
2.压缩命令
①compress命令
compress -v filename: 压缩 压缩文件为 filename.Z
liyiheng@liyiheng-PC:~$ compress -v filename
liyiheng@liyiheng-PC:~$ ls
liyiheng@liyiheng-PC:~$ filename.Z
compress -c -v filename 压缩,并保留原文件
liyiheng@liyiheng-PC:~$ compress -c -v filename > fimename.Z
liyiheng@liyiheng-PC:~$ ls
liyiheng@liyiheng-PC:~$ filename.Z filename
uncompress filename.z:解压
compress比较老套,几乎不用。
②gzip命令
liyiheng@liyiheng-PC:~$ gzip filename
liyiheng@liyiheng-PC:~$ ls
liyiheng@liyiheng-PC:~$ filename.gz
若想查看压缩文件的内容,使用zcat命令
解压过程:
liyiheng@liyiheng-PC:~$ gzip -d filename.gz
liyiheng@liyiheng-PC:~$ ls
liyiheng@liyiheng-PC:~$ filename
-d的意思为解压。
若要原文件的话,使用 gzip -c filename > filename.gz
③bzip2命令
与gzip用法相同,只是将后缀.gz换成.bz2
查看命令bzcat.。
3.tar命令
①自身没有压缩功能,只能归档(将许多小文件归到一个文件中,看起来像压缩)。
②
liyiheng@liyiheng-PC:~$ tar cvf filename.tar filename
c的意思为创建
v的意思为展现创建过程
f指明归档的名字是什么(注意,后缀为.tar)
改行命令意思为:打包filename文件,打包之后名字为filename.tar
tar命令自动保留原文件,若不想保留原文件的话,可做如下操作
liyiheng@liyiheng-PC:~$ tar cvf filename.tar filename --remove-files
③查看
在不解档的情况下查看文件内容
liyiheng@liyiheng-PC:~$ tar tvf filename.tar
t为执行该需求的命令
④解档
liyiheng@liyiheng-PC:~$ tar xvf filename.tar
此过程为解档到当前文件夹。
解档到任意文件夹:
liyiheng@liyiheng-PC:~$ tar xvf filename.tar -C newfile/
解档到newfile目录中(C是大写)。
如果filename.tar中有很多文件,而你只想解档其中一个文件(假设为lll),则
liyiheng@liyiheng-PC:~$ tar xvf filename.tar lll
⑤压缩+归档
liyiheng@liyiheng-PC:~$ tar zcvf filename.tar.gz filename
归档+调用压缩命令(gzip)
如果没有z的话,c只是一个归档命令,如果有z命令,c为压缩+归档。
解压解档:
liyiheng@liyiheng-PC:~$ tar zxvf filename.tar.gz filename
如果和bzip2结合的话(压缩)
liyiheng@liyiheng-PC:~$ tar jcvf filename.tar.bz2 filename
解压
liyiheng@liyiheng-PC:~$ tar jxvf filename.tar.bz2 filename
4.dump命令
备份级别:0~9
备份规则:只备份比当前级别小的备份文件(eg:第一天备份等级为0,第二天备份等级为1,第三天备份等级为3,那么第二天只备份第一天的内容,第三天只备份从第二天开始,到第三天增长的数据)
从1-9为增量备份,从9-1为差量备份。
①备份命令
liyiheng@liyiheng-PC:~$ dump -0u -f
u是写入时间 , f后跟位置
②查看备份内容命令(不恢复查看)
liyiheng@liyiheng-PC:~$ restore -t -f
-f后指名文件
③恢复命令(全部文件)
liyiheng@liyiheng-PC:~$ restore -r -f
④恢复部分文件
liyiheng@liyiheng-PC:~$ restore -i -f
restore > ?
restore > ls
aa bb cc
restore > add aa bb
restore > ls
*aa *bb cc
restore > extract
该过程为只恢复aa bb文件时的操作, extract命令为解压这两个文件。
5.mkisofs命令
①变成镜像的命令
liyiheng@liyiheng-PC:~$ mkisofs -o xx.iso file1 file2
-o指明镜像文件的名字
该行意思为:将file1 file2文件放到名为xx.iso的镜像文件中去
挂载镜像文件需要加loop
liyiheng@liyiheng-PC:~$ mount -o loop xx.iso /mnt
将光盘变成镜像
liyiheng@liyiheng-PC:~$ cp /eee/www/rrr/ xxx.iso
/eee/www/rrr/是路径
6.其他压缩与备份工具
①dd命令
liyiheng@liyiheng-PC:~$ dd if=/dev/zero of-file1 bs=1M count=1
将dev下zero,每个zero大小定为1M,拿出1个zero组成file1
②Cpio命令
这个命令可以备份数据,但不知道备份哪些数据。需要先用find命令找到数据。
liyiheng@liyiheng-PC:~$ find -name "file*" | cpio -o > xx.cpio
-o是打包的意思,-i 原来解包
通过find命令找到所有file文件,传递给cpio进行-o打包,再导向xx.cpio。
解包:
liyiheng@liyiheng-PC:~$ cpio -iu < xx.cpio