常见的压缩文件:
后缀名 | 压缩 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 中常见的压缩指令为 gzip
、bzip2
和 xz
。这些指令通常只能针对一个文件压缩与解压缩,通过 tar
打包成一个文件,便可以轻松压缩多个文件。
在预设的状态下原本的文件会被压缩成为 .gz 的文件名,源文件就不再在了。
命令格式:
[dmtsai@study ~]$ gzip [-cdtv#] 檔名
选项与参数:
-c :将压缩的数据输出到屏幕上,可透过数据流重导向来处理;
-d :解压缩的参数;
-t :可以用来检验一个压缩文件的一致性~看看文件有无错误;
-v :可以显示出原文件/压缩文件案的压缩比等信息;
-# :# 为数字的意思,代表压缩等级,-1 最快,但是压缩比最差、-9 最慢,但是压缩比最好!预设是 -6
zcat/zmore/zless/zgrep 是读取压缩文件的内容的指令,命令格式为: zcat filename.gz
如果想要保留源文件则需要使用重定向 例: gzip -c filename > filename.gz
比gzip
压缩比更好,用法与 gzip
类似。
命令格式:
[dmtsai@study ~]$ bzip2 [-cdkzv#] 檔名
选项与参数:
-c :将压缩的过程产生的数据输出到屏幕上!
-d :解压缩的参数
-k :保留源文件,而不会删除原始的文件喔!
-z :压缩的参数 (默认值,可以不加)
-v :可以显示出原文件/压缩文件案的压缩比等信息;
-# :与 gzip 同样的,都是在计算压缩比的参数, -9 最佳, -1 最快!
bzcat/bzmore/bzless/bzgrep 与 zcat/zmore/zless/zgrep 使用方法、作用类似。
xz 的压缩比比 bzip2
更好,使用用法与 bzip2
相似。但是更耗时。
命令格式:
[dmtsai@study ~]$ xz [-dtlkc#] 檔名
选项与参数:
-d :解压缩
-t :测试压缩文件的完整性,看有没有错误
-l :列出压缩文件的相关信息
-k :保留原本的文件不删除~
-c :同样的,就是将数据由屏幕上输出的意思!
-# :同样的,也有较佳的压缩比的意思!
大多压缩指令仅能对单一文件压缩,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 参数指定解压到哪个目录。
个人网站中原文 文件的压缩、打包与备份