一、.tar.gz格式和.tar.bz2格式

  使用tar命令后跟选项的方式实现tar命令和gzip或者bzip2命令的组合,实现同时进行打包和压缩,这也是最经常使用的压缩和解压缩方式

  ​​https://www.linuxcool.com/tar​

  一)语法格式

语法格式:tar [参数] [文件或目录]

  二)常用参数

-A    新增文件到以存在的备份文件
-B 设置区块大小
-c 建立新的备份文件
-C <目录> 切换工作目录,先进入指定目录再执行压缩/解压缩操作,可用于仅压缩特定目录里的内容或解压缩到特定目录
-d 记录文件的差别
-x 从归档文件中提取文件
-t 列出备份文件的内容
-z 通过gzip指令压缩/解压缩文件,文件名最好为*.tar.gz
-Z 通过compress指令处理备份文件
-f<备份文件> 指定备份文件
-v 显示指令执行过程
-r 添加文件到已经压缩的文件
-u 添加改变了和现有的文件到已经存在的压缩文件
-j 通过bzip2指令压缩/解压缩文件,文件名最好为*.tar.bz2
-v 显示操作过程
-l 文件系统边界设置
-k 保留原有文件不覆盖
-m 保留文件不被覆盖
-w 确认压缩文件的正确性
-p 保留原来的文件权限与属性
-P 使用文件名的绝对路径,不移除文件名称前的“/”号
-N <日期格式> 只将较指定日期更新的文件保存到备份文件里
-- -exclude=<范本样式> 排除符合范本样式的文件
-- -remove-files 归档/压缩之后删除源文件


二、.gz格式

  .gz格式和.bz2格式是Linux中最常见的压缩格式,使用gzip命令

  gzip不仅可以用来压缩大的、较少使用的文件以节省磁盘空间,还可以和tar命令一起构成Linux操作系统中比较流行的压缩文件格式。据统计,gzip命令对文本文件有60%~70%的压缩率。减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。

  ​​https://www.linuxcool.com/gzip​

  一)语法格式

语法格式:gzip [参数]


  二)常用参数

-a    使用ASCII文字模式
-d 解开压缩文件
-f 强行压缩文件
-l 列出压缩文件的相关信息
-c 把压缩后的文件输出到标准输出设备,不去更动原始文件
-r 递归处理,将指定目录下的所有文件及子目录一并处理
-q 不显示警告信息


三、.biz格式

  Linux系统中bzip2命令的英文是“bunzip2”,即.bz2文件格式的压缩程序; bzip2命令系统默认是没有安装的,需要安装bzip2库才可以使用此命令。

  bzip2命令采用新的压缩演算法,压缩效果比传统的LZ77/LZ78压缩演算法来得好。若没有加上任何参数,bzip2压缩完文件后会产生.bz2的压缩文件,并删除原始的文件。

  一)语法格式

语法格式:bzip2 [参数] 文件系统

  二)常用参数

-c    将压缩与解压缩的结果送到标准输出
-d 执行解压缩
-f bzip2在压缩或解压缩时,若输出文件与现有文件同名,预设不会覆盖现有文件。若要覆盖,请使用此参数
-k bzip2在压缩或解压缩后,会删除原始的文件。若要保留原始文件,请使用此参数
-s 降低程序执行时内存的使用量
-t 测试.bz2压缩文件的完整性
-v 压缩或解压缩文件时,显示详细的信息
-z 强制执行压缩


四、.zip格式

  一)常用操作

1、把/home目录下面的mydata目录压缩为mydata.zip

zip -r mydata.zip mydata #压缩mydata目录

2、把/home目录下面的mydata.zip解压到mydatabak目录里面

unzip mydata.zip -d mydatabak

3、把/home目录下面的abc文件夹和123.txt压缩成为abc123.zip

zip -r abc123.zip abc 123.txt

4、把/home目录下面的wwwroot.zip直接解压到/home目录里面

unzip wwwroot.zip

5、把/home目录下面的abc12.zip、abc23.zip、abc34.zip同时解压到/home目录里面

unzip abc\*.zip

6、查看把/home目录下面的wwwroot.zip里面的内容

unzip -v wwwroot.zip

7、验证/home目录下面的wwwroot.zip是否完整

unzip -t wwwroot.zip

8、把/home目录下面wwwroot.zip里面的所有文件解压到第一级目录

unzip -j wwwroot.zip

  二)unzip主要参数

-c:将解压缩的结果

-l:显示压缩文件内所包含的文件

-p:与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换

-t:检查压缩文件是否正确

-u:与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其它文件解压缩到目录中

-v:执行是时显示详细的信息

-z:仅显示压缩文件的备注文字

-a:对文本文件进行必要的字符转换

-b:不要对文本文件进行字符转换

-C:压缩文件中的文件名称区分大小写

-j:不处理压缩文件中原有的目录路径

-L:将压缩文件中的全部文件名改为小写

-M:将输出结果送到more程序处理

-n:解压缩时不要覆盖原有的文件

-o:不必先询问用户,unzip执行后覆盖原有文件

-P:使用zip的密码选项

-q:执行时不显示任何信息

-s:将文件名中的空白字符转换为底线字符

-V:保留VMS的文件版本信息

-X:解压缩时同时回存文件原来的UID/GID

五、.tar.xz格式

  一)解压tar.xz安装包

Ubuntu上安装nodejs,下载的文件是node-v8.11.1-linux-x64.tar.xz,这是两层压缩,外面是xz压缩,里层是tar压缩,所以分两步实现解压。
# xz -d node-v8.11.1-linux-x64.tar.xz
# tar -xvf node-v8.11.1-linux-x64.tar.xz123
也可以直接解压
# tar -xvJf node-v8.11.1-linux-x64.tar.xz1
tar.xz格式的压缩包大小比.tar要小,但是压缩解压缩时间比较长

  二)创建tar.xz压缩文件

先创建xxx.tar文件

# tar -cvf xxx.tar xxx1

再创建xxx.tar.xz文件

# xz -z xxx.tar1
如果要保留被压缩的文件,需要加上参数-k

  三)解压缩tar.xz文件

解压xz压缩文件

xz -d 待解压文件
-k 保留原文件;
这样解压出来的文件是tar格式的打包文件,需要执行:

tar -xvf 待解包文件名)

  需要注意的是:tar命令中没有直接解压xz压缩格式的参数(比如-f解压bzip2、 -z解压gzip)