这是我参与11月更文挑战的第22天,活动详情查看:2021最后一次更文挑战
命令简介
tar
是 Linux 系统备份与恢复数据的基本工具之一。利用 tar
命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。
首先要弄清两个概念:打包和压缩。打包是指将一大堆文件或目录变成一个总的文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件。
为什么要区分这两个概念呢?这源于 Linux 中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得先将这一大堆文件先打成一个包(tar
命令),然后再用压缩程序进行压缩(gzip
,bzip2
命令)。
Linux 下最常用的打包程序就是 tar
了,使用 tar
程序打出来的包我们常称为 tar 包,tar 包文件的命令通常都是以 .tar
结尾的。生成 tar 包后,就可以用其它的程序来进行压缩。
tar
具有 8 种不同的工作模式,可用于创建、替换、查询、更新、抽取、追加或比较档案文件,删除档案文件中的指定文件等。
命令格式
tar[必要参数][选择参数][文件]
复制代码
命令参数
必要参数
参数 | 解释 |
---|---|
-A |
新增压缩文件到已存在的压缩。 |
-B |
设置区块大小。 |
-c |
建立新的压缩文件。 |
-d |
记录文件的差别。 |
-r |
添加文件到已经压缩的文件。 |
-u |
添加改变了和现有的文件到已经存在的压缩文件。 |
-x |
从压缩的文件中提取文件。 |
-t |
显示压缩文件的内容。 |
-z |
支持 gzip 解压文件。 |
-j |
支持 bzip2 解压文件。 |
-Z |
支持 compress 解压文件。 |
-v |
显示操作过程。 |
-l |
文件系统边界设置。 |
-k |
保留原有文件不覆盖。 |
-m |
保留文件不被覆盖。 |
-W |
确认压缩文件的正确性。 |
可选参数
参数 | 解释 |
---|---|
-b |
设置区块数目。 |
-C |
切换到指定目录。 |
-f |
指定压缩文件。 |
--help |
显示帮助信息。 |
--version |
显示版本信息。 |
常见解压/压缩命令
tar 文件格式
- 解包:
tar xvf FileName.tar
- 打包:
tar cvf FileName.tar DirName
- (注:
tar
是打包,不是压缩!)
.gz 文件格式
- 解压 1:
gunzip FileName.gz
- 解压 2:
gzip -d FileName.gz
- 压缩:
gzip FileName
.tar.gz 和 .tgz
- 解压:
tar zxvf FileName.tar.gz
- 压缩:
tar zcvf FileName.tar.gz DirName
.bz2 文件格式
- 解压 1:
bzip2 -d FileName.bz2
- 解压 2:
bunzip2 FileName.bz2
- 压缩:
bzip2 -z FileName
.tar.bz2 文件格式
- 解压:
tar jxvf FileName.tar.bz2
- 压缩:
tar jcvf FileName.tar.bz2 DirName
.bz 文件格式
- 解压 1:
bzip2 -d FileName.bz
- 解压 2:
bunzip2 FileName.bz
- 压缩:未知
.tar.bz 文件格式
- 解压:
tar jxvf FileName.tar.bz
- 压缩:未知
.Z 文件格式
- 解压:
uncompress FileName.Z
- 压缩:
compress FileName
.tar.Z 文件格式
- 解压:
tar Zxvf FileName.tar.Z
- 压缩:
tar Zcvf FileName.tar.Z DirName
.zip 文件格式
- 解压:
unzip FileName.zip
- 压缩:
zip FileName.zip DirName
.rar
- 解压:
rar x FileName.rar
- 压缩:
rar a FileName.rar DirName
参考文档
- tar命令打包解压示例
- 《Linux 常用命令简明手册》—— 邢国庆编著