Linux文件系统的压缩

Linux常见的压缩命令

gzip

gzip是为了替换compress并提供更换的压缩比而成立的,gzip可以解开compress、zip与gzip压缩的文件,压缩后文件后缀为*.gz

-c:将压缩的数据输出到屏幕上,可通过数据流重定向来处理

-d:解压缩的参数

-v:可以在压缩后显示出原文件与压缩文件的压缩比等信息

不能保留原始文件,可以使用-c来完成这个功能,gzip -c file >file.gz

这是将文件压缩输出到屏幕上,再将输出屏幕上的数据使用数据重定向来保存到file.gz上。

zcat/zmore/zless

可以使用这些命令来查看被gzip压缩的纯文本文件

bzip2

bzip2则是为了替换gzip2并提供更好的压缩比而来的,但是bzip2对于大容量的文件来说,压缩时间相应的比gzip的压缩时间更长。

比gizp多一个参数-k:可保留原始文件而不删除原始文件。

bzcat/bzmore/bzgrep

与gzip对应

xz

自由软件开发者推出的,压缩比更高的软件,xz

-t:测试压缩文件的完整性,看有没有错误

-l:列出压缩文件的相关信息;

xzcat/xzless/xzmore

打包命令 tar

最简单的tar使用记忆

压 缩:tar -jcv -f filename.tar.bz2 要被压缩的文件或目录名称
查 询:tar -jtv -f filename.tar.bz2
解压缩:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录

详解

tar [-z|-j|-J] [cv] [-f 待建立的压缩文件] filename... <==打包与压缩
tar [-z|-j|-J] [tv] [-f 既有的 tar 文件] <==查看文件名
tar [-z|-j|-J] [xv] [-f 既有的 tar 文件] [-C 目录] <==解压缩

首先是功能的区别

-c:打包文件。搭配-v来查看过程中被打包的文件

-t:查看打包文件中有哪些文件

-x:解包或者解压缩,可以搭配-C在特定目录解压

注:c、t、x不能在同一个命令中同时出现

接着是压缩方式的区别

-z:使用gzip,此时的文件名最好为*.tar.gz

-j:使用bzip2,此时的文件名最好为*.tar.bz2

-J:使用xz,此时的文件名最好为*.tar.xz

注:i)同样,z、j、J也不能同时出现在一个命令中;

      ii)-f 后面要立刻接要被处理的文件名,为了减少错误最好-f单独写出来,被打包或压缩的文件不用放在-f后面。

-v:在压缩/解压缩的过程中,将正在处理的文件名显示出来

-f filename:-f后面立刻要接被处理的文件名

-C  目录:这个选项用在解压缩,解压在特定目录

解压在/tmp中:tar -jxv -f /root/etc.tar.bz2 -C /tmp    

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

-P:保留绝对路径,亦即允许备份数据中含有根目录存在之意;

--exclude=FILE:在压缩过程中,不将FILE打包。

如:tar  -jcv -f /root/system.tar.bz2 --exclude==/root/etc*

还可以解开单一文件:tar -jxv -f 打包文件.tar.bz2 待解开文件名

tarfile、tarball

对于tar -cv -f file.tar  只进行了打包,没有压缩的称为tarfile

对于tar -jcv -f file.tar.bz2 file 即打包又压缩的称为tarball

其他压缩与备份工具

dd

几乎是直接读取扇区,有啥记录啥,可以记录文件或设备

dd if="input file" of="output file" bs="block_size" count="number"

if:就是输入文件或设备

of:就是输出文件或设备

bs:设置的一个block的大小,默认为512Bytes(一个扇区的大小)

count:多少个bs的意思

cpio

可以备份任何文件,但是需要配合其他程序,因为它不会主动地去找文件。一般配合find等


参考鸟哥的私房菜第四版

发布了58 篇原创文章 · 获赞 64 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/ThorKing01/article/details/103877042