站酷网址是什么,为什么做的网站别的浏览器打不开怎么办,wordpress怎么安装asp主题,wordpress 边栏插件为什么需要压缩技术
我们都知道文件是以byte作为单位的#xff0c;如果我们的文件仅仅在低位占一个1
0000 0001这种情况我们完全可以压缩一下#xff0c;将高位的0全部抹掉即可。 如上所说是一种压缩技术#xff0c;还有一种就是将1111(此处省略96个)一共100个1#xff0…为什么需要压缩技术
我们都知道文件是以byte作为单位的如果我们的文件仅仅在低位占一个1
0000 0001这种情况我们完全可以压缩一下将高位的0全部抹掉即可。 如上所说是一种压缩技术还有一种就是将1111(此处省略96个)一共100个1用类似于100个1的方式。
zip/unzip
命令选项 递归基础压缩
为了方便演示压缩我们在tmp下创建一个包含3个文件的zipDir
[rootlocalhost tmp]# mkdir zipDir
[rootlocalhost tmp]# cd zipDir
[rootlocalhost zipDir]# touch file1
[rootlocalhost zipDir]# touch file2
[rootlocalhost zipDir]# touch file3
使用最高级别9将zipDir文件夹下所有文件或者文件夹通通压缩到zipDir.zip中
zip -9r /tmp/zipDir.zip /tmp/zipDir/
排除指定文件压缩
例如我们希望压缩zipDir目录时不压缩zipDir3
zip -9r /tmp/zipDirWithoutFile3.zip /tmp/zipDir -x /tmp/zipDir/file3
如下图可以看到压缩过程中并没有包括file3 删除压缩包中的文件
将zipDir.zip中的file3文件从压缩包中删除命令如下所示注意-d后面要制定和压缩包中相同的文件名所在操作系统中的路径 zip /tmp/zipDir.zip -d /tmp/zipDir/file3 补充文件到压缩包
上文中我们将file3中zipDir.zip中删除我们希望将其添加到压缩包中就可以使用下面这条命令
zip -u /tmp/zipDir.zip /tmp/zipDir/file3 这条指令同样支持将文件夹下的指定内容添加到压缩包中命令如下
# 将file打头的文件添加到压缩包中
zip -u /tmp/zipDir.zip /tmp/zipDir/file*
解压缩
-o:解压时无脑覆盖目标路径文件 -x 解压时若目标文件夹有该文件则不覆盖 -d 指定目标解压位置
unzip -o /tmp/zipDir.zip -x zipDir/file3 -d /tmp/unzipDir/ gzip/gunzip
选项
该命令只能对文件进行压缩若指定目录也仅仅是对目录下的文件进行压缩。
递归压缩文件
同样我们为演示gzip增加测试文件夹
mkdir gzipDir;cd gzipDir;touch file1;touch file2;touch file3;
# 因为gzip无法直接压缩文件夹所以需要先用zip压缩一下文件夹zip -r /tmp/gzipDir.zip /tmp/gzipDir/;# gzip以最高级别压缩比压缩文件并显示压缩过程gzip -9v /tmp/gzipDir.zip 显示压缩比
gzip -l /tmp/gzipDir.zip.gz 解压缩到当前目录
gzip -d /tmp/gzipDir.zip.gzbzip2/bunzip2
命令选项 与gzip差不多都是用于压缩文件的压缩时会删除文件的信息但是用如下选项即可完成使用最高压缩比并且压缩时不删除源文件显示压缩进度的完成压缩
bzip2 -9vk /tmp/* 解压缩同样使用-d即可。
tar
选项
该指令仅仅是对文件或者文件夹做打包而已对应选项如下 普通压缩
创建示例文件夹和文件 mkdir tarDir;cd tarDir;touch file1;touch file2;touch file3;
显示过程并新建文件的执行压缩
tar -cvf /tmp/tardir.tar /tmp/tarDir/调用gzip、bzip2压缩
调用gzip压缩添加一个-z即可
tar -zcvf tardir.tar.gz tardir.tar
调用bz2压缩
tar -jcvf tardir.tar.bz2 tardir.tar
解压缩
将上文的c改为x即可
例如上文压缩原始压缩文件tardir.tar我们压缩命令为
tar -xvf tardir.tar
gz结尾的tar文件则用
tar -zxvf tardir.tar.gz
bz2结尾的tar文件则用
tar -jxvf tardir.tar.bz2
dd
常用于文件备份将指定文件输出到对应文件夹 备份示例
将/etc/inittab备份至/etc/inittab.bak
dd if/etc/inittab of/etc/inittab.bak
我们都知道操作系统存储最基础单位为块。可以看到备份过程中用了01的块。说明使用了0个完整的块1个不到的块完成文件备份。
cpio
选项
该命令也是用于文件备份和还原的 备份
将tarDir备份到tmp的backDir.cpio中
find /tmp/tarDir/ | cpio -ocvB /tmp/backDir.cpio 恢复
为了演示还原笔者将被压缩的源文件删除使用cpio将直接备份的文件原原本本还原为原来路径的原来文件如下
cpio -icduv /tmp/backDir.cpio 参考文献
鸟哥的Linux私房菜
循序渐进Linux第2版