CentOS Linux教程(8)--使用tar压缩解压文件

文章目录

  • [1. 概念介绍](#1. 概念介绍)
  • [2. 打包](#2. 打包)
    • [2.1 打包多个文件](#2.1 打包多个文件)
    • [2.2 打包指定类型文件](#2.2 打包指定类型文件)
    • [2.3 打包目录](#2.3 打包目录)
  • [3. 查看tar包中的文件](#3. 查看tar包中的文件)
  • [4. 解包](#4. 解包)
  • [5. 压缩](#5. 压缩)
  • [6. 解压](#6. 解压)

1. 概念介绍

大家比较熟windows,常见压缩格式zip、.7z、.rar

linux下比较常见压缩格式为.bz2、.Z、.gz、.zip、.xz

我们可以使用tar压缩、解压文件,需要注意的是,tar命令是先打包,再压缩。

2. 打包

2.1 打包多个文件

可以打包若干个文件:

shell 复制代码
[chen@localhost test1]$ ls
a.txt  b.txt
[chen@localhost test1]$ tar -cf all.tar a.txt b.txt
[chen@localhost test1]$ ls
all.tar  a.txt  b.txt

上面的例子,tar是打包命令,-cf是命令参数,其中c表示创建,f表示命名。后面的all.tar是打包后的文件名,再后面是被打包的文件名。

2.2 打包指定类型文件

可以使用*通配符,打包指定类型文件,例如:

shell 复制代码
a.txt  b.txt
[chen@localhost test1]$ tar -cf all.tar *.txt
[chen@localhost test1]$ ls
all.tar  a.txt  b.txt

2.3 打包目录

也可以打包目录,就当目录是文件就行:

shell 复制代码
[chen@localhost ~]$ tar -cf test1.tar test1
[chen@localhost ~]$ ls
公共  模板  视频  图片  文档  下载  音乐  桌面  temp  test1  test1.tar  test2

3. 查看tar包中的文件

可以使用tar -tf查看目录中文件,其中参数t表示查看。

shell 复制代码
[chen@localhost ~]$ tar -tf test1.tar
test1/
test1/a.txt
test1/b.txt

4. 解包

可以把打包的文件,再解开,命令为tar -xf,x参数代表解开。

shell 复制代码
[chen@localhost ~]$ ls
公共  模板  视频  图片  文档  下载  音乐  桌面  temp  test1.tar  test2
[chen@localhost ~]$ tar -xf test1.tar
[chen@localhost ~]$ ls
公共  模板  视频  图片  文档  下载  音乐  桌面  temp  test1  test1.tar  test2

5. 压缩

之前的tar -cf只是打包,并未压缩,如果压缩的话,需要使用tar -czf命令:

shell 复制代码
[chen@localhost test1]$ ls
all.tar  a.txt  b.txt
[chen@localhost test1]$ tar -czf all.tar.gz all.tar
[chen@localhost test1]$ ls
all.tar  all.tar.gz  a.txt  b.txt

注意,-czf中的z,表示,表示压缩为.gz文件,其他压缩格式参数为:

  • tar -czf,压缩为.gz文件
  • tar -czf,压缩为.bz2文件
  • tar -cZf,压缩为.Z文件

6. 解压

使用如下命令解压文件,x表示解压。

  • tar -zxf,压缩为.gz文件
  • tar -zxf,压缩为.bz2文件
  • tar -Zxf,压缩为.Z文件

实例:

shell 复制代码
[chen@localhost test1]$ ls
all.tar.gz  a.txt  b.txt
[chen@localhost test1]$ tar -zxf all.tar.gz
[chen@localhost test1]$ ls
all.tar  all.tar.gz  a.txt  b.txt
相关推荐
dbdr090132 分钟前
Linux 入门到精通,真的不用背命令!零基础小白靠「场景化学习法」,3 个月拿下运维 offer,第二十六天
linux·运维·服务器·网络·python·学习
大白的编程日记.1 小时前
【Linux学习笔记】信号的深入理解之软件条件产生信号
linux·笔记·学习
buyutang_1 小时前
C/C++ Linux系统编程:线程控制详解,从线程创建到线程终止
linux·c语言·c++·学习
云的牧人1 小时前
Ubuntu 22 redis集群搭建
linux·运维·ubuntu
siriuuus1 小时前
Linux 磁盘扩容及分区相关操作实践
linux·运维·服务器
To_再飞行2 小时前
K8s 存储配置资源
linux·云原生·容器·kubernetes
小猪写代码2 小时前
Ubuntu 文件权限管理
linux·ubuntu
jz_ddk2 小时前
[Linux] Linux标准块设备驱动详解:从原理到实现
linux·运维·服务器·驱动开发
Gss7772 小时前
ansible变量+管理机密
linux·运维·ansible
误入运维泥潭3 小时前
Ansible自动化运维:从入门到精通
linux·ansible·module