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
相关推荐
我们的五年13 分钟前
【Linux系统】进程间通信-System V消息队列
linux·运维·服务器·c++
island131422 分钟前
【Linux网络#18】:深入理解select多路转接:传统I/O复用的基石
linux·运维·数据库
TDD_06289 小时前
【运维】Centos硬盘满导致开机时处于加载状态无法开机解决办法
linux·运维·经验分享·centos
x66ccff9 小时前
vLLM 启动 GGUF 模型踩坑记:从报错到 100% GPU 占用的原因解析
linux
William.csj10 小时前
Linux——开发板显示器显示不出来,vscode远程登录不进去,内存满了的解决办法
linux·vscode
KeithTsui10 小时前
GCC RISCV 后端 -- 控制流(Control Flow)的一些理解
linux·c语言·开发语言·c++·算法
森叶10 小时前
linux如何与windows进行共享文件夹开发,不用来回用git进行拉来拉去,这个对于swoole开发者来说特别重要
linux·git·swoole
liulilittle11 小时前
Linux 高级路由策略控制配置:两个不同路由子网间通信
linux·网络·智能路由器
学习至死qaq11 小时前
windows字体在linux访问异常
linux·运维·服务器
IEVEl11 小时前
Centos7 安装 TDengine
运维·centos·时序数据库·tdengine