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
相关推荐
YRr YRr17 分钟前
解决Ubuntu 20.04上编译OpenCV 3.2时遇到的stdlib.h缺失错误
linux·opencv·ubuntu
认真学习的小雅兰.19 分钟前
如何在Ubuntu上利用Docker和Cpolar实现Excalidraw公网访问高效绘图——“cpolar内网穿透”
linux·ubuntu·docker
zhou周大哥34 分钟前
linux 安装 ffmpeg 视频转换
linux·运维·服务器
不想起昵称9291 小时前
Linux SHELL脚本中的变量与运算
linux
the丶only2 小时前
单点登录平台Casdoor搭建与使用,集成gitlab同步创建删除账号
linux·运维·服务器·docker·gitlab
枫叶红花2 小时前
【Linux系统编程】:信号(2)——信号的产生
linux·运维·服务器
_微风轻起3 小时前
linux下网络编程socket&select&epoll的底层实现原理
linux·网络
WANGWUSAN663 小时前
Python高频写法总结!
java·linux·开发语言·数据库·经验分享·python·编程
Stark、4 小时前
【Linux】文件IO--fcntl/lseek/阻塞与非阻塞/文件偏移
linux·运维·服务器·c语言·后端