tar 归档和压缩-详解

这篇博客详细介绍了Linux系统中常用的tar命令,包括如何进行文件的归档和压缩。通过实例展示了如何将多个文件打包成一个归档文件,并进一步压缩为.tar.gz格式。同时,文章还提供了解压缩文件的方法,帮助读者理解tar命令在实际操作中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

tar命令在linux中是常使用的命令:(多以tar zxvf +文件 方式居多)

  • 归档:将2个或2个以上的文件打包成一个文件的过程
归档:tar -cvf 名称.tar 文件1 文件2 ... 文件n

解挡:tar -xvf 名称

例如: 

[root@localhost 1]# tar -cvf all.tar centos-release passwd 

[root@localhost 1]# tar -xvf all.tar 

例如:将centos-release和passwd打包成all.tar文件

[root@localhost 1]# ls
centos-release  passwd
[root@localhost 1]# tar -cvf all.tar centos-release passwd 
centos-release
passwd
[root@localhost 1]# ls
all.tar  centos-release  passwd

删除原文件,tar开后得到原文件:

[root@localhost 1]# ls
all.tar  centos-release  passwd
[root@localhost 1]# rm centos-release  passwd 
rm:是否删除普通文件 "centos-release"?y
rm:是否删除普通文件 "passwd"?y
[root@localhost 1]# ls
all.tar
[root@localhost 1]# ls
all.tar
[root@localhost 1]# tar -xvf all.tar 
centos-release
passwd
[root@localhost 1]# ls
all.tar  centos-release  passwd

tar到某个目录下面需要加上“-C”,比如:

[root@localhost 1]# ls ../2
[root@localhost 1]# tar -xvf all.tar -C ../2/
centos-release
passwd
[root@localhost 1]# ls ../2
centos-release  passwd

  • 压缩和解压

在归档的情况下,压缩文件的过程:

先看下刚才直接归档的大小:

[root@localhost 1]# ll -h
总用量 36K
-rw-r--r--. 1 root root  20K 9月  28 10:00 all.tar
-rw-r--r--. 1 root root  10K 9月  28 09:55 centos-release
-rw-r--r--. 1 root root 2.5K 9月  28 09:54 passwd

现在我们归档后压缩文件:

linux压缩常识:
tar -cvf是归档 在加上一个压缩命令就是归档压缩:比如 tar -zcvf
注意,对应命令对应对应压缩扩展名并且相应压缩需要相应的解压命令

归档: tar -cvf      解挡: tar -xvf
压缩: tar -zcvf     解压: tar -zxvf
压缩:  tar -jcvf     解压: tar -jxvf
压缩: tar -Jcvf     解压: tar -Jcvf

常用参数:
-z, --gzip 以 gzip 方式压缩 扩展名: tar.gz
-j : 以 bz2 方式压缩的 扩展名:tar.bz2
-J : 以 xz 方式压缩 扩展名:tar.xz

详解:(这里以tar.gz为例子)

[root@localhost 1]# ll -h
总用量 36K
-rw-r--r--. 1 root root  20K 9月  28 10:00 all.tar
-rw-r--r--. 1 root root  10K 9月  28 09:55 centos-release
-rw-r--r--. 1 root root 2.5K 9月  28 09:54 passwd
[root@localhost 1]# tar -zcvf all.tar.gz centos-release passwd 
centos-release
passwd
[root@localhost 1]# ll -h
总用量 40K
-rw-r--r--. 1 root root  20K 9月  28 10:00 all.tar
-rw-r--r--. 1 root root 1.2K 9月  28 10:19 all.tar.gz
-rw-r--r--. 1 root root  10K 9月  28 09:55 centos-release
-rw-r--r--. 1 root root 2.5K 9月  28 09:54 passwd

解压用相应的命令:

[root@localhost 1]# rm centos-release passwd 
rm:是否删除普通文件 "centos-release"?y
rm:是否删除普通文件 "passwd"?y
[root@localhost 1]# ls
all.tar  all.tar.gz
[root@localhost 1]# tar -zxvf all.tar.gz 
centos-release
passwd
[root@localhost 1]# ls
all.tar  all.tar.gz  centos-release  passwd

比较压缩后大小:

[root@localhost 1]# ll -h
总用量 48K
-rw-r--r--. 1 root root  20K 9月  28 10:00 all.tar
-rw-r--r--. 1 root root 1.4K 9月  28 10:27 all.tar.bz2
-rw-r--r--. 1 root root 1.2K 9月  28 10:19 all.tar.gz
-rw-r--r--. 1 root root 1.2K 9月  28 10:27 all.tar.xz
-rw-r--r--. 1 root root  10K 9月  28 09:55 centos-release
-rw-r--r--. 1 root root 2.5K 9月  28 09:54 passwd

当然这里小博主用的文件较小不易发现:

不压缩:            最大,速度最快
压缩后文件大小:    .gz > .bz2 > .xz
压缩比例越高,压缩文件越小,用的时间越久,虽然.xz压缩比例高,但是用时却久的多,所以一般情况下我们常用的是 .gz 和 .bz2文件

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值