Linux shell编程学习笔记77:tar命令——快照 备份(下)

2024-09-06 09:20

本文主要是介绍Linux shell编程学习笔记77:tar命令——快照 备份(下),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 0 前言

Linux shell编程学习笔记76:tar命令——快照 & 备份(上)-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/Purpleendurer/article/details/141862585?spm=1001.2014.3001.5501

中我们研究了 tar命令 的功能、格式、选项说明。

现在我们来实践一下。

1 应用实例

1.1 创建演示文件和目录

我们使用 echo 命令和输出重定向创建文件f1 和 f2,使用mkdir命令创建目录d1

[purpleendurer @ bash ~] echo "f1" > f1
[purpleendurer @ bash ~] echo "f2" > f2
[purpleendurer @ bash ~] mkdir d1
[purpleendurer @ bash ~] ls
Code  d1  f1  f2
[purpleendurer @ bash ~] 

 

1.2 创建归档文件

使用命令

tar -cvf archive.tar f1 f2 d1

将文件 f1、f2 和 d1 打包到一个名为 archive.tar 的归档文件中。

命令中使用的选项说明:

  1. -c:创建新的归档文件
  2. -v:显示详细输出,列出被添加到归档中的文件
  3. -f:指定归档文件的名称 
[purpleendurer @ bash ~] tar -cvf archive.tar f1 f2 d1
f1
f2
d1/
[purpleendurer @ bash ~] ls
archive.tar  Code  d1  f1  f2
[purpleendurer @ bash ~] 

 

1.3  列出归档文件中的内容

使用命令

tar -tvf archive.tar

列出归档文件 archive.tar 所包含的所有文件和目录信息。

命令中使用的选项说明:

  1. -t:列出归档文件中的内容
  2. -v:显示详细输出,列出归档文件中的所有文件和目录
  3. -f:指定要列出内容的归档文件的名称
[purpleendurer @ bash ~] ls
archive.tar  Code  d1  f1  f2
[purpleendurer @ bash ~] tar -tvf archive.tar
-rw-rw-r-- csdn/csdn         3 2024-09-05 18:04 f1
-rw-rw-r-- csdn/csdn         3 2024-09-05 18:04 f2
drwxrwxr-x csdn/csdn         0 2024-09-05 18:04 d1/
[purpleendurer @ bash ~] 


 

1.4 向归档文件追加文件

使用echo命令和输出重定向创建文件n1

然后使用命令

 tar -rvf archive.tar n1

将文件n1 追加到归档文件archive.tar中。

命令中使用的选项说明:

  1. -r:向已存在的归档中追加文件
  2. -v:显示详细输出,列出被添加到归档中的文件
  3. -f:指定已存在的归档文件的名称
[purpleendurer @ bash ~] echo "n1" > n1
[purpleendurer @ bash ~] ls
archive.tar  Code  d1  f1  f2  n1
[purpleendurer @ bash ~] tar -tvf archive.tar
-rw-rw-r-- csdn/csdn         3 2024-09-05 21:33 f1
-rw-rw-r-- csdn/csdn         3 2024-09-05 21:33 f2
drwxrwxr-x csdn/csdn         0 2024-09-05 21:33 d1/
[purpleendurer @ bash ~]  tar -rvf archive.tar n1
bash:  tar: command not found
[purpleendurer @ bash ~] tar -rvf archive.tar n1
n1
[purpleendurer @ bash ~] tar -tvf archive.tar
-rw-rw-r-- csdn/csdn         3 2024-09-05 21:33 f1
-rw-rw-r-- csdn/csdn         3 2024-09-05 21:33 f2
drwxrwxr-x csdn/csdn         0 2024-09-05 21:33 d1/
-rw-rw-r-- csdn/csdn         3 2024-09-05 21:34 n1
[purpleendurer @ bash ~] 

最后我们使用tar -tvf archive.tar查看archive.tar的内容,可以看到文件n1已经追加进来了。

1.5 压缩归档文件

1.5.1 使用gzip压缩归档文件 

使用命令

tar -czvf archive.tar.gz n1

将n1 归档通过gzip 压缩到 archive.tar.gz

命令中使用的选项说明:

  1. -c:创建新的归档文件
  2. -z:使用 gzip 压缩归档文件
  3. -v:显示详细输出,列出被添加到归档中的文件
  4. -f:指定归档文件的名称
[purpleendurer @ bash ~] tar -czvf archive.tar.gz n1
n1
[purpleendurer @ bash ~] tar -tvf archive.tar.gz
-rw-rw-r-- csdn/csdn         3 2024-09-05 21:34 n1
[purpleendurer @ bash ~] 

1.5.2   使用 xz 压缩归档文件

使用命令

tar -cJvf archive.tar.xz f1 f2

 将文件f1 f2 归档并使用xz压缩到archive.tar.xz

命令中使用的选项说明:

  1. -c:创建新的归档文件
  2. -J:使用 xz 压缩归档文件
  3. -v:显示详细输出,列出被添加到归档中的文件
  4. -f:指定归档文件的名称
[purpleendurer @ bash ~] tar -cJvf archive.tar.xz f1 f2
f1
f2
[purpleendurer @ bash ~] tar -tvf archive.tar.xz
-rw-rw-r-- csdn/csdn         3 2024-09-05 21:33 f1
-rw-rw-r-- csdn/csdn         3 2024-09-05 21:33 f2
[purpleendurer @ bash ~] 

1.5.3  使用 lzip 压缩归档文件

使用命令

tar -clzipvf archive.tar.lzip n1

将文件 n1 归档通过lzip压缩到 archive.tar.lzip

命令中使用的选项说明:

  1. -c:创建新的归档文件
  2. -lzip:使用 lzip 压缩归档文件
  3. -v:显示详细输出,列出被添加到归档中的文件
  4. -f:指定归档文件的名称

 

[purpleendurer @ bash ~] tar -clzipvf archive.tar.lzip f1
f1
[purpleendurer @ bash ~] tar -tvf archive.tar.lzip
-rw-rw-r-- csdn/csdn         3 2024-09-05 21:33 f1
[purpleendurer @ bash ~] 

1.6  解压还原归档文件

1.6.1 还原归档文件

我们使用命令

 tar -xvf archive.tar

来还原归档文件archive.tar的内容

命令中使用的选项说明:

  1. -x:解压归档文件
  2. -v:显示详细输出,列出被添加到归档中的文件
  3. -f:指定归档文件的名称
[purpleendurer @ bash ~] echo "f1" > f1
[purpleendurer @ bash ~] echo "f2" > f2
[purpleendurer @ bash ~] mkdir d1
[purpleendurer @ bash ~] ls
archive.tar  Code  d1  f1  f2
[purpleendurer @ bash ~] tar -cvf archive.tar f1 f2 d1
f1
f2
d1/
[purpleendurer @ bash ~] tar -tvf archive.tar
-rw-rw-r-- csdn/csdn         3 2024-09-05 22:14 f1
-rw-rw-r-- csdn/csdn         3 2024-09-05 22:14 f2
drwxrwxr-x csdn/csdn         0 2024-09-05 22:14 d1/
[purpleendurer @ bash ~] rm f*
[purpleendurer @ bash ~] rmdir d*
[purpleendurer @ bash ~] ls
archive.tar  Code
[purpleendurer @ bash ~]  tar -xvf archive.tar
bash:  tar: command not found
[purpleendurer @ bash ~] tar -xvf archive.tar
f1
f2
d1/
[purpleendurer @ bash ~] ls
archive.tar  Code  d1  f1  f2
[purpleendurer @ bash ~] 

 1.6.2 还原gzip压缩归档的文件

我们使用命令 tar -czvf archive.tar.gz f1 将文件f1归档通过gzip压缩到文件archive.tar.gz

然后使用命令 rm f1 将 文件f1删除

接着使用文件

 tar -xzvf archive.tar.gz

来还原归档文件archive.tar.gz的内容f1

命令中使用的选项说明:

  1. -x:解压归档文件
  2. -z:表示要使用 gzip 解压归档文件
  3. -v:显示详细输出,列出被添加到归档中的文件
  4. -f:指定归档文件的名称
[purpleendurer @ bash ~] tar -czvf archive.tar.gz f1
f1
[purpleendurer @ bash ~] tar -tvf archive.tar.gz
-rw-rw-r-- csdn/csdn         3 2024-09-05 22:21 f1
[purpleendurer @ bash ~] rm f1
[purpleendurer @ bash ~] ls
archive.tar  archive.tar.gz  Code  d1  f2
[purpleendurer @ bash ~] tar -zxvf archive.tar.gz
f1
[purpleendurer @ bash ~] ls
archive.tar  archive.tar.gz  Code  d1  f1  f2
[purpleendurer @ bash ~] 

1.6.3 还原使用xz压缩的归档文件

我们使用命令 tar -cJvf archive.tar.xz f2 将文件f2归档通xz压缩到文件archive.tar.xz

然后使用命令 rm f2 将 文件f2删除

接着使用文件

 tar -xJvf archive.tar.xz

来还原归档文件archive.tar.xz的内容f1

命令中使用的选项说明:

  1. -x:解压归档文件
  2. -J:表示要使用 xz 解压归档文件
  3. -v:显示详细输出,列出被添加到归档中的文件
  4. -f:指定归档文件的名称
[purpleendurer @ bash ~] tar -cJvf archive.tar.xz f2
f2
[purpleendurer @ bash ~] tar -tvf archive.tar.xz
-rw-rw-r-- csdn/csdn         3 2024-09-05 22:31 f2
[purpleendurer @ bash ~] rm f2
[purpleendurer @ bash ~] ls
archive.tar  archive.tar.gz  archive.tar.xz  Code  d1  f1
[purpleendurer @ bash ~] tar -xJvf archive.tar.xz
f2
[purpleendurer @ bash ~] ls
archive.tar  archive.tar.gz  archive.tar.xz  Code  d1  f1  f2
[purpleendurer @ bash ~] 

 

1.6.4 还原使用lzip压缩的归档文件

 我们使用命令 tar -clzipvf archive.tar.lzip n1 将文件n1归档通lzip压缩到文件archive.tar.lzip

然后使用命令 rm n1 将 文件n1删除

接着使用文件

 tar -xlzipvf archive.tar.xlzip

来还原归档文件archive.tar.lzip的内容n1

命令中使用的选项说明:

  1. -x:解压归档文件
  2. -lzip:表示要使用 lzip解压归档文件
  3. -v:显示详细输出,列出被添加到归档中的文件
  4. -f:指定归档文件的名称
[purpleendurer @ bash ~] tar -clzipvf archive.tar.lzip n1
n1
[purpleendurer @ bash ~] tar -tvf archive.tar.lzip
-rw-rw-r-- csdn/csdn         3 2024-09-05 22:44 n1
[purpleendurer @ bash ~] rm n1
[purpleendurer @ bash ~] ls
archive.tar.lzip  Code
[purpleendurer @ bash ~] tar -xlzipvf archive.tar.lzip
n1
[purpleendurer @ bash ~] ls
archive.tar.lzip  Code  n1
[purpleendurer @ bash ~] 

 

 

这篇关于Linux shell编程学习笔记77:tar命令——快照 备份(下)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1141624

相关文章

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa

Linux samba共享慢的原因及解决方案

《Linuxsamba共享慢的原因及解决方案》:本文主要介绍Linuxsamba共享慢的原因及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux samba共享慢原因及解决问题表现原因解决办法总结Linandroidux samba共享慢原因及解决

新特性抢先看! Ubuntu 25.04 Beta 发布:Linux 6.14 内核

《新特性抢先看!Ubuntu25.04Beta发布:Linux6.14内核》Canonical公司近日发布了Ubuntu25.04Beta版,这一版本被赋予了一个活泼的代号——“Plu... Canonical 昨日(3 月 27 日)放出了 Beta 版 Ubuntu 25.04 系统镜像,代号“Pluc

Linux安装MySQL的教程

《Linux安装MySQL的教程》:本文主要介绍Linux安装MySQL的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux安装mysql1.Mysql官网2.我的存放路径3.解压mysql文件到当前目录4.重命名一下5.创建mysql用户组和用户并修

使用Python实现网络设备配置备份与恢复

《使用Python实现网络设备配置备份与恢复》网络设备配置备份与恢复在网络安全管理中起着至关重要的作用,本文为大家介绍了如何通过Python实现网络设备配置备份与恢复,需要的可以参考下... 目录一、网络设备配置备份与恢复的概念与重要性二、网络设备配置备份与恢复的分类三、python网络设备配置备份与恢复实

Linux上设置Ollama服务配置(常用环境变量)

《Linux上设置Ollama服务配置(常用环境变量)》本文主要介绍了Linux上设置Ollama服务配置(常用环境变量),Ollama提供了多种环境变量供配置,如调试模式、模型目录等,下面就来介绍一... 目录在 linux 上设置环境变量配置 OllamPOgxSRJfa手动安装安装特定版本查看日志在

Linux系统之主机网络配置方式

《Linux系统之主机网络配置方式》:本文主要介绍Linux系统之主机网络配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、查看主机的网络参数1、查看主机名2、查看IP地址3、查看网关4、查看DNS二、配置网卡1、修改网卡配置文件2、nmcli工具【通用

Linux系统之dns域名解析全过程

《Linux系统之dns域名解析全过程》:本文主要介绍Linux系统之dns域名解析全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、dns域名解析介绍1、DNS核心概念1.1 区域 zone1.2 记录 record二、DNS服务的配置1、正向解析的配置

Python异步编程中asyncio.gather的并发控制详解

《Python异步编程中asyncio.gather的并发控制详解》在Python异步编程生态中,asyncio.gather是并发任务调度的核心工具,本文将通过实际场景和代码示例,展示如何结合信号量... 目录一、asyncio.gather的原始行为解析二、信号量控制法:给并发装上"节流阀"三、进阶控制

Linux修改pip和conda缓存路径的几种方法

《Linux修改pip和conda缓存路径的几种方法》在Python生态中,pip和conda是两种常见的软件包管理工具,它们在安装、更新和卸载软件包时都会使用缓存来提高效率,适当地修改它们的缓存路径... 目录一、pip 和 conda 的缓存机制1. pip 的缓存机制默认缓存路径2. conda 的缓