Linux基础命令-tar打包压缩文件

Linux基础命令-echo输出信息_Linux学习中的博客-CSDN博客

Linux三剑客-grep命令_Linux学习中的博客-CSDN博客

Linux文件管理命令(3)-mv改动文件_Linux学习中的博客-CSDN博客

文章目录

前言

一、tar命令介绍

二、命令语法及常用参数

三、 参考案例

总结

前言

在工作上,有同事需要用到程序或一堆文件时,则需要先将文件打包后压缩一定比例后再传输到对方的电脑上,能节省硬盘的资源并且加快文件的传输速率;linux中有命令可以支持打包和压缩,一起看看吧。

一、tar命令介绍

        tar命令的功能是用于打包、压缩和解压文件的,通过一些参数可以创建Linux系统中常见的格式,例:.tar、.tar.gz、.tar.bz2、.tar.xz等;对于RHEL7、CentOS7版本以后的系统,解压时可以不加压缩格式参数(如z,j,J),系统能补充对应格式的参数进行解压。

 打包和压缩的概念:

1、打包是指将一大堆文件或者目录合成一个总的文件;

2、压缩则是将一个大的文件通过一些压缩算法变成一个小文件;

二、命令语法及常用参数

1)先用--help查看语法格式,由于这个命令的参数太多了,就不放出来了。

语法:tar 【选项】文件

[root@localhost ~]# tar --help
用法: tar [选项...] [FILE]...

2)常用参数

-ccreate创建文件
-C <目录>指定解压位置
-x提取解压文件
-t列出压缩包中包含哪些文件,查看包中的内容
-zgzip格式压缩或解压
-Z支持compress解压文件
-f<备份文件>指定打包压缩的备份文件
-v显示指令执行过程
-r添加文件到已经压缩的文件
-u添加改变了和现有的文件到已经存在的压缩文件
-j支持bz2格式压缩或解压
-v显示执行过程
-J支持xz格式压缩或解压
-k保留原有文件不覆盖
-m保留文件不被覆盖
-w确认压缩文件的正确性
-p保留原来的文件权限与属性
-P使用文件名的绝对路径,不移除文件名称前的“/”号

三、 参考案例

tar命令比较特殊,如果打包、压缩、解压参数上加不加" - "都是正确格式。

1)打包目录文件  v表示执行过程,当然如果为了方便,也可以不加;

[root@localhost ~]# mkdir data
[root@localhost ~]# touch data/{a..d}.txt
[root@localhost ~]# tar cvf data.tar data/
data/
data/a.txt
data/b.txt
data/c.txt
data/d.txt
[root@localhost ~]# tar cf data1.tar data
[root@localhost ~]# file data.tar 
data.tar: POSIX tar archive (GNU)

可以看到这个文件还不是一个压缩的格式,目前只是作为打包文件,如果要让其打包并压缩,可以在加上参数 z、j、J等。

2)三个格式压缩比例,这里用/etc的目录做测试;

[root@localhost ~]# tar zcvf etc.tar.gz /etc
[root@localhost ~]# du -h  etc.tar.gz 
12M	etc.tar.gz
[root@localhost ~]# tar jcvf etc.tar.bz2 /etc
[root@localhost ~]# du -h  etc.tar.bz2 
11M	etc.tar.bz2
[root@localhost ~]# tar Jcvf etc.tar.xz /etc
[root@localhost ~]# du -h  etc.tar.xz
8.4M	etc.tar.xz

压缩比例从大到小 gz>bz2>xz ,并不是说压缩的越小就越好,每个参数都有它存在的意义,即使gz的压缩比例比其他要大一些,gz依然是市面上用的次数最多的格式,因为他压缩的速度很快,效率很高。并且由于现在的磁盘容量都不会说很小,所以对于用户来说,相差的那些容量影响不大,反而压缩的速率是更加看重的。

3)解压文件 ,可以先用-t参数查看有什么文件;

[root@localhost ~]# tar -tvf data.tar.gz       #列出文件
drwxr-xr-x root/root         0 2023-02-10 17:11 data/
-rw-r--r-- root/root         0 2023-02-10 17:11 data/a.txt
-rw-r--r-- root/root         0 2023-02-10 17:11 data/b.txt
-rw-r--r-- root/root         0 2023-02-10 17:11 data/c.txt
-rw-r--r-- root/root         0 2023-02-10 17:11 data/d.txt
[root@localhost ~]# file data.tar.gz    #格式是gzip
data.tar.gz: gzip compressed data, from Unix, last modified: Fri Feb 10 17:36:55 2023
[root@localhost ~]# tar zxvf data.tar.gz   #解压
data/
data/a.txt
data/b.txt
data/c.txt
data/d.txt

4)解压文件并且将文件移动到tmp目录下,使用-C参数;

[root@localhost ~]# tar -jxvf etc.tar.bz2 -C /tmp/

5)如果说要删除当前目录下jpg的文件,可以先打包,删除原始文件的,再删除包。

tar cvf jpg.tar *.jpg --remove-files
rm -f jpg.tar

总结

系统是linux时,难免会需要用到tar命令的,有时候在某些程序的官网上下载包,上传到服务器中,则需要用tar命令解压包;有些压缩格式其实都有自己的命令,像gzip、zip、bz2、xz都是命令来的,只不过日常使用中比较少用到这些命令,更多是习惯用tar这个命令。

  • 9
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 要将文件打包成tar文件,可以使用以下命令: tar -cvf 文件夹名称.tar 文件夹路径 其中,-c表示创建新的tar文件,-v表示显示详细信息,-f表示指定文件名。例如,将名为test的文件打包成test.tar文件,可以使用以下命令: tar -cvf test.tar test/ ### 回答2: 在Linux系统中,我们可以使用"tar"命令文件打包成tar文件。 "tar"是Linux下的一个压缩和归档工具,能够将多个文件文件打包成一个单独的文件。通过打包文件夹,我们可以将一个文件夹及其包含的所有文件和子文件夹合并为一个tar文件,方便传输、备份或者存档。 要将文件打包成tar文件,我们可以在终端中使用以下命令: tar -cvf 目标文件名.tar 要打包文件夹路径 其中,参数"cvf"表示创建新的tar文件并将文件夹添加到其中。目标文件名.tar是我们要生成的tar文件的名称,可以根据需求自行命名。要打包文件夹路径是需要打包文件夹的完整路径。 例如,要将名为"folder"的文件打包成名为"archive.tar"的tar文件,我们可以使用以下命令: tar -cvf archive.tar folder 命令执行后,程序会将文件夹中的所有文件和子文件夹递归打包到一个名为"archive.tar"的文件中。 打包完成后,我们可以对生成的tar文件进行进一步的操作,如解压缩、移动或备份。通过tar命令,我们可以快速有效地管理文件夹和文件,实现数据的归档和传输。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Linux学习中

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值