在 Github 打标签的时候,它会自动归档两种压缩格式的文件 .zip
和 .tar.gz
,如图
zip
格式的压缩和解压可以参看我这篇文章 Linux zip 和 unzip 命令
今天我主要来说一下 tar
打包命令。
首先要强调的是 tar
是打包命令,本身不压缩,需要调用 gzip
压缩命令才可以生成 .gz
后缀的压缩文件。
1 | $ tar cvf pm2.log.tar pm2.log # 打包 |
从结果来看,只是打包命令的话,不但不压缩,本身比原文件还要大一点,调用压缩命令后,压缩比很明显,并且比 zip
的压缩比要高,所以在文件压缩时,我们可以优先使用 tar
打包并压缩。
打包解包
1 | $ tar cvf <filename>.tar <filename|dirname> # 打包 |
压缩解压 .gz 格式
1 | $ tar zcvf <filename>.tar.gz <filename|dirname> # 压缩 |
压缩解压 .bz2 格式
1 | $ tar jcvf <filename>.tar.bz2 <filename|dirname> # 压缩 |
更多语法
必要参数有如下:
-A
新增压缩文件到已存在的压缩-B
设置区块大小-c
建立新的压缩文件-d
记录文件的差别-r
添加文件到已经压缩的文件-u
添加改变了和现有的文件到已经存在的压缩文件-x
从压缩的文件中提取文件-t
显示压缩文件的内容-z
支持gzip解压文件-j
支持bzip2解压文件-Z
支持compress解压文件-v
显示操作过程-l
文件系统边界设置-k
保留原有文件不覆盖-m
保留文件不被覆盖-W
确认压缩文件的正确性
可选参数如下:
-b
设置区块数目-C
切换到指定目录-f
指定压缩文件--help
显示帮助信息--version
显示版本信息