首页 > 系统相关 >Linux shell编程学习笔记77:tar命令——快照 & 备份(下)

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

时间:2024-09-07 15:53:28浏览次数:12  
标签:f1 shell 快照 tar 77 csdn purpleendurer archive bash


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

 0 前言

Linux shell编程学习笔记76:tar命令——快照 & 备份(上)


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


中我们研究了 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 ~]

 

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

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 ~]

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

 

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 ~]

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


 

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 ~]

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

最后我们使用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 ~]

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

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 ~]

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

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 ~]

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

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 ~]

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

 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 ~]

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

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 ~]

 

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

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命令——快照 & 备份(下)_linux_13

 

 

标签:f1,shell,快照,tar,77,csdn,purpleendurer,archive,bash
From: https://blog.51cto.com/endurer/11945184

相关文章

  • Linux shell编程学习笔记76:tar命令——快照 & 备份(上)
    0 前言提取系统快照和备份文件都是我们的日常工作。在Windows中,我们可以创建系统还原点,在需要的时候可以把系统还原回去。在Linux中,我们可以使用tar命令来实现。1tar命令的功能,帮助信息,格式,选项和参数说明1.1 tar命令的功能tar名字来自"tapearchive"(磁带归档),最初用于将文件......
  • shell_AWK 获取系统状态信息
    #!/bin/bash#定义巡检日志文件路径,所有日志将记录在此文件中LOG_FILE="/var/log/system_inspection.log"#定义一个函数,将消息输出到日志文件并同时显示在屏幕上log(){#使用`date`获取当前时间,并将消息格式化后追加到日志文件,同时输出到屏幕echo"$(dat......
  • 探索最佳 Shell 工具:全面测评 Bash、Zsh、Fish、Tcsh 和 Ksh
    感谢浪浪云支持发布浪浪云活动链接:https://langlangy.cn/?i8afa52文章目录1.简介2.测评工具3.测评标准4.Bash测评4.1易用性4.2功能特性4.3性能4.4可定制性4.5社区和支持5.Zsh测评5.1易用性5.2功能特性5.3性能5.4可定制性5.5社区和支持6.Fish测......
  • Shell脚本字符串处理(Linux篇)
    1.字符串处理1.1.cutcut命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。语法格式如下:命令格式:cut[选项]文件名选项参数说明:选项说明-b选中第几个字符-c选中多少个字符-d按照指定分割符进行分割,默认的分割符是制表符,注意分割符不能使用......
  • shell脚本监控一个进程号,进程号没有就输出error
    你可以使用一个简单的Shell脚本来监控进程号(PID),如果进程不存在则输出error。以下是一个示例脚本:#!/bin/bash#输入要监控的进程号pid=$1#检查进程是否存在ifps-p$pid>/dev/nullthenecho"Process$pidisrunning."elseecho"error:Process$pid......
  • Shell脚本流程控制(Linux篇)
    1.流程控制流程控制是改变程序运行顺序的指令。1.1.条件判断1.1.1.文件类型判断参数说明-d判断指定的目录是否存在-e判断文件是否存在,存在即为真-f判断普通文件是否存在-L判断文件是否存在且为连接文件示例一:#判断文件是否存在,存在为0,不存在为1root@zking:~#test-ea......
  • linux之shell
    Shell编程shell简介shell的作用1.解释执行用户输入的程序或者指令2.用户输入一条指令,shell解释一条3.键盘输入指令,Linux给与响应-----这个过程称之为交互式响应流程shell是一块包裹着系统核心的壳,处于操作系统的最外层,与用户直接对话,shell可以把用户的输入,解释......
  • 反弹shell
    反弹shellLinux系统环境什么是反弹shell反弹Shell是一种网络攻击技术,用于通过远程主机上的Shell(命令行终端)与攻击者建立连接,从而控制受攻击主机。攻击者通常在受攻击主机上以各种方式植入恶意代码(如后门程序),然后通过网络与该主机上运行的Shell建立反向连接,从而获得对该主机的完......
  • 【shell脚本】使用firewall-cmd批量增加IP访问规则
    原创wsdhla想惑1025增加单个IP,并指定端口:firewall-cmd--permanent--zone=public--add-rich-rule="rulefamily="ipv4"sourceaddress="xxx.xx.xx.xxx"portprotocol="tcp"port="54321"accept"批量增加IP访问规则,使用脚本:batch-ad......
  • 《赛博朋克2077》游戏启动时闪退提示“缺少ucrtbased.dll文件”该如何解决?赛博朋克207
    在启动《赛博朋克2077》时,若出现闪退并提示“缺少ucrtbased.dll文件”,确实让人头疼。但别慌张,这个问题是能够解决的。您可以尝试重新安装相关运行库,或者从可靠渠道获取该文件并放置到指定位置。具体该怎么操作?本篇将为大家带来《赛博朋克2077》游戏启动时闪退提示“缺少ucrtbas......