Marco Nie - tar https://blog.niekun.net/tag/tar/ zh-CN Wed, 27 Nov 2019 09:42:00 +0800 Wed, 27 Nov 2019 09:42:00 +0800 tar 打包/压缩 in Linux https://blog.niekun.net/archives/544.html https://blog.niekun.net/archives/544.html Wed, 27 Nov 2019 09:42:00 +0800 admin tar 是 Linux 下常用的处理打包或压缩的常用命令,常用来处理后缀名为:tar, tar.gz tar.bz2 的文件。

tar:存档格式,未经过压缩
tar.gz:在tar基础上进行 gzip 压缩,tar.gz 和 tgz 类似
tar.bz2:比 gzip 压缩比更高,但更耗时, tar.bz2,tbz 和 tb2 类似

语法

tar [options] [archive-file] [file or directory to be archived]

-c : 建立存档
-x : 解压存档
-f : 指定文件名
-t : 列出文档内容
-u : archives and adds to an existing archive file
-v : 显示处理过程信息
-z : zip, 指定处理 gzip
-j : 指定处理 tbzip
-W : 验证存档
-r : 添加文件/文件夹到已知存档

打包存档

tar:

tar -cvf test.tar /home/test

tar.gz:

tar -zcvf test.tar.gz /home/test

tar -zcvf test.tgz /home/test

tar.bz2:

tar -jcvf test.tar.bz2 /home/test

tar -jcvf test.tar.tb2 /home/test

tar -jcvf test.tar.tbz /home/test

将文件/文件夹添加到存档

tar -rvf test.tar file
tar -rvf test.tar.gz file
tar -rvf test.tar.zb2 file

解压存档

tar:

tar -xvf test.tar

解压到特定目录:-C

tar -xvf test.tar -C /home/path/

tar.gz:

tar -zxvf test.tar.gz

解压到特定目录:-C

tar -zxvf test.tar.gz -C /home/path/

tar.bz2:

tar -jxvf test.tar.bz2

解压到特定目录:-C

tar -jxvf test.tar.bz2 -C /home/path/

解压存档部分文件/文件夹

解压单个文件:

tar -xvf test.tar file.sh
tar -zxvf test.tar.gz file.sh
tar -jxvf test.tar.zb2 file.sh

解压多个文件:

tar -xvf test.tar "file1" "file2"
tar -zxvf test.tar.gz "file1" "file2"
tar -jxvf test.tar.zb2 "file1" "file2"

解压特定名字的文件:

tar -xvf test.tar --wildcards '*.php'
tar -zxvf test.tar.gz --wildcards '*.php'
tar -jxvf test.tar.zb2 --wildcards '*.php'

list 存档内容

tar -tvf test.tar
tar -tvf test.tar.gz
tar -tvf test.tar.zb2

验证存档

只能验证 tar 打包的存档:-W

tar tvfW test.tar

检查存档大小size

tar czf file.tar | wc -c
tar czf file.tar.gz | wc -c
tar czf file.tar.tbz | wc -c
]]>
0 https://blog.niekun.net/archives/544.html#comments https://blog.niekun.net/feed/tag/tar/archives/544.html