文件的压缩、打包与备份

文件的压缩、打包与备份

Linux 系统常见的压缩指令

常见的压缩文件:

后缀名 压缩 or 打包软件
.Z compress 程序
.zip zip 程序
.gz gzip 程序
.bz2 bzip2 程序
.xz xz 程序
.tar tar 程序
.tar.gz tar 程序打包,gzip 程序压缩
.tar.bz2 tar 程序打包,bzip2 程序压缩
.tar.xz tar 程序打包,xz 程序压缩

Linux 中常见的压缩指令为 gzipbzip2xz 。这些指令通常只能针对一个文件压缩与解压缩,通过 tar 打包成一个文件,便可以轻松压缩多个文件。

gzip 与 zcat/zmore/zless/zgrep

在预设的状态下原本的文件会被压缩成为 .gz 的文件名,源文件就不再在了。 命令格式:

[dmtsai@study ~]$ gzip [-cdtv#] 檔名 
选项与参数: 
-c  :将压缩的数据输出到屏幕上,可透过数据流重导向来处理; 
-d  :解压缩的参数; 
-t  :可以用来检验一个压缩文件的一致性~看看文件有无错误; 
-v  :可以显示出原文件/压缩文件案的压缩比等信息; 
-#  :# 为数字的意思,代表压缩等级,-1 最快,但是压缩比最差、-9 最慢,但是压缩比最好!预设是 -6 

zcat/zmore/zless/zgrep 是读取压缩文件的内容的指令,命令格式为: zcat filename.gz

如果想要保留源文件则需要使用重定向 例: gzip -c filename > filename.gz

bzip2 与 bzcat/bzmore/bzless/bzgrep

gzip 压缩比更好,用法与 gzip 类似。 命令格式:

[dmtsai@study ~]$ bzip2 [-cdkzv#] 檔名 
选项与参数: 
-c  :将压缩的过程产生的数据输出到屏幕上! 
-d  :解压缩的参数 
-k  :保留源文件,而不会删除原始的文件喔! 
-z  :压缩的参数 (默认值,可以不加) 
-v  :可以显示出原文件/压缩文件案的压缩比等信息; 
-#  :与 gzip 同样的,都是在计算压缩比的参数, -9 最佳, -1 最快! 

bzcat/bzmore/bzless/bzgrep 与 zcat/zmore/zless/zgrep 使用方法、作用类似。

xz, xzcat/xzmore/xzless/xzgrep

xz 的压缩比比 bzip2 更好,使用用法与 bzip2 相似。但是更耗时。 命令格式:

[dmtsai@study ~]$ xz [-dtlkc#] 檔名  
选项与参数: 
-d  :解压缩 
-t  :测试压缩文件的完整性,看有没有错误 
-l  :列出压缩文件的相关信息 
-k  :保留原本的文件不删除~ 
-c  :同样的,就是将数据由屏幕上输出的意思! 
-#  :同样的,也有较佳的压缩比的意思! 

打包指令: tar

大多压缩指令仅能对单一文件压缩,gzip, bzip2, xz 能够对目录来进行压缩,但指的是目录内的所有文件分别进行压缩tar 能将目录内的文件打包成一个文件。 命令格式:

[dmtsai@study ~]$ tar [-z|-j|-J] [cv] [-f 待建立的新文件名] filename...  <==打包与压缩 
[dmtsai@study ~]$ tar [-z|-j|-J] [tv] [-f 既有的 tar 文件名]             <==察看文件 
[dmtsai@study ~]$ tar [-z|-j|-J] [xv] [-f 既有的 tar 文件名] [-C 目录]   <==解压缩 
选项与参数: 
-c  :建立打包文件,可搭配 -v 来察看过程中被打包的档名(filename) 
-t  :察看打包文件的内容含有哪些档名,重点在察看档名; 
-x  :解打包或解压缩的功能,可以搭配 -C (大写) 在特定目录解开
特别留意的是,-c, -t, -x 不可同时出现在一串指令列中。 
-z  :透过 gzip  的支持进行压缩/解压缩:此时档名最好为 *.tar.gz 
-j  :透过 bzip2 的支持进行压缩/解压缩:此时档名最好为 *.tar.bz2 
-J  :透过 xz    的支持进行压缩/解压缩:此时档名最好为 *.tar.xz 
特别留意, -z, -j, -J 不可以同时出现在一串指令列中 
-v  :在压缩/解压缩的过程中,将正在处理的文件名显示出来! 、
-f filename:-f 后面要立刻接要被处理的档名!建议 -f 单独写一个选项啰!(比较不会忘记) 
-C 目录    :这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。 
-p(小写) :保留备份数据的原本权限与属性,常用于备份(-c)重要的配置文件 
-P(大写) :保留绝对路径,亦即允许备份数据中含有根目录存在之意; 
--exclude=FILE:在压缩的过程中,不要将 FILE 打包! 

常用:

  • 压缩 tar -j -cv -f filename.tar.bz2 要被压缩的文件或目录名
  • 查询 tar -j -tv -f filename.tar.bz2 此命令会列出压缩包里的所有文件与 ls -lR 命令类似
  • 解压缩 tar -j -xv -f filename.tar.bz2 -C 欲解压的目录

备份时要慎用 -p 与 -P,-P 会保留根目录,直接解压后会从根目录往下全部覆盖。除非加入 -C 参数指定解压到哪个目录。




发表评论

评论列表,共 0 条评论

    暂无评论