文件打包与压缩

一、概述

打包和压缩是两个概念。

在 Linux 中打包的英文单词是 archive(中文:归档)。就是将好多个小的文件让到一个文件夹里,只是移动,文件夹的大小=所有小文件大小之和。

压缩。就是文件挤压,大小会变小很多。

通常的操作是将好多个小文件先进行 打包,再进行 压缩,两个动作一起做。

二、tar 打包

1. 打包

/home/dkvirus 下的所有文件打包(-c 参数表示打包)成 parcel.tar 文件(-f 参数决定打包后的文件名),并将打包的过程在终端中显示(由 -v 参数决定 view)。

# tar -cvf parcel.tar /home/dkvirus

2. 解包

parcel.tar 在当前目录下进行解包,也就是将包里的小文件移动到当前目录下。

# tar -xvf parcel.tar

3. 如何记忆参数

选项 含义
-c (create)创建归档文件
-x (extract)解包
-v (view)在终端打印归档过程
-f (file)后接打包后文件的名称
-C (directory=DIR)解包到指定路径
-t (list)不解包,只查看归档内容

三、tar 解压缩

1. 压缩文件

CentOS-7-x86_64-DVD-1804.iso 文件进行压缩,压缩的文件命名为 centos.tar.gz。这里用到了 -c 参数,事实上也进行了打包操作。

# tar -cvzf centos.tar.gz CentOS-7-x86_64-DVD-1804.iso

2. 解压缩文件

centos.tar.gz 文件解压缩到当前目录。这里用到了 -x 参数,事实上也进行了解包操作。

# tar -xvzf centos.tar.gz

3. 打包与压缩的区别

可以看到上面用到了 -z 参数,所以压缩后的文件为 centos.tar.gz,如果换成 -j 参数,打包的文件就变成了 centos.tar.bz2

至于 .gz 后缀和 .bz2 后缀的区别就是不同的压缩算法。就个人而言平时用 gz 比较频繁。

选项 含义
-z 处理与 gzip 相关的操作
-j 处理与 bz2 相关的操作
-J 处理与 xz 相关的操作

转载博客