文件压缩,打包,备份(本文参考《鸟哥》)
压缩文件扩展名
文件扩展名 | 含义 |
---|---|
* .z | compress 程序压缩的文件 |
* .zip | zip 程序压缩的文件 |
* .gz | gzip 程序压缩的文件 |
* .bz2 | bzip2 程序压缩的文件 |
* .xz | bx 程序压缩的文件 |
* .tar | tar 程序打包的文件,并没有压缩过 |
* .tar.gz | tar 程序打包的文件,其中经过gzip的压缩 |
* .tar.bz2 | tar 程序打包的文件, 其中经过 bzip2 的压缩 |
* .tar.xz | tar 程序打包的文件,其中经过xz的压缩 |
gzip,zcat/zmore/zless/zgrep
gzip 可以说是应用度最广的压缩指令了!目前gzip 可以解开 compress, zip 与 gzip 等软件所压缩的文件。 至于 gzip 所创建的压缩文件为 *.gz 的文件名。
命令格式:
gzip [-cdtv#] 文件名
选项 | 含义 |
---|---|
-c | 将压缩的数据输出到屏幕上,可通过数据流重导向来处理 |
-d | 解压缩的参数,将压缩文件解压 |
-t | 可以用来检验一个压缩文件的一致性~看看文件有无错误 |
-v | 可以显示出原文件/压缩文件的压缩比等信息 |
-# | # 为数字的意思,代表压缩等级,-1 最快,但是压缩比最差、-9 最慢,但是压缩比最好!默认是 -6 |
注意:当你使用 gzip 进行压缩时,在默认的态下原本的文件会被压缩成为 .gz 的文件名,原始文件就不再存在了
shell$: ls //查看文件
text.txt a.c
shell$: gzip a.c //压缩文件a.c
shell$: ls //查看文件
text.txt a.c.gz
shell$: gzip -d a.c.gz //解压文件
shell$: ls //查看文件
text.txt a.c
cat/more/less 可以使用不同的方式来读取纯文本文件,那个 zcat/zmore/zless 则可以对应于cat/more/less 的方式来读取纯文本文件被压缩后的压缩文件!
bzip2,bzcat/bzmore/bzless/bzgrep
若说 gzip 是为了取代 compress 并提供更好的压缩比而成立的,那么 bzip2 则是为了取代zip 并提供更佳的压缩比而来的。
命令格式:
bzip2 [-cdkzv#] 文件名
参数 | 含义 |
---|---|
-c | 将压缩的过程产生的数据输出到屏幕上! |
-d | 解压缩的参数 |
-k | 保留原始文件,而不会删除原始的文件喔! |
-z | 压缩的参数 (默认值,可以不加) |
-v | 可以显示出原文件/压缩文件的压缩比等信息; |
-# | 与 gzip 同样的,都是在计算压缩比的参数, -9 最佳, -1 最快! |
xz, xzcat/xzmore/xzless/xzgrep
虽然 bzip2 已经具有很棒的压缩比,不过显然某些自由软件开发者还不满足,因此后来还推出了 xz 这个压缩比更高的软件!
命令格式:
xz [-dtlkc#] 文件名
参数 | 含义 |
---|---|
-d | 就是解压缩啊! |
-t | 测试压缩文件的完整性,看有没有错误 |
-l | 列出压缩文件的相关信息 |
-k | 保留原本的文件不删除 |
-c | 同样的,就是将数据由屏幕上输出的意思! |
-# | 同样的,也有较佳的压缩比的意思! |
打包指令:tar
像tar这种将多个文件或目录包成一个大文件的指令功能,我们可以称呼他是一种“打包指令”。
那个 filename.tar.bz2 是我们自己取的文件名,tar 并不会主动的产生创建的文件名喔!另外,由于“ -f filename ”是紧接在一起的,过去很多文章常会写成“-jcvf filename”,这样是对的, 但由于选项的顺序理论上是可以变换的,所以很多读者会误认为“-jvfc filename”也可以~事实上这样会导致产生的文件名变成 c ! 因为 -fc 嘛!所以啰,建议您在学习 tar 时,将“ -f filename ”与其他选项独立出来,会比较不容易发生问题。
XFS 文件系统的备份和还原
备份:xfsdump
还原: xfsrestore