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

紫郢剑侠 2024-09-12 15:07:02 阅读 84

 0 前言

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

icon-default.png?t=N7T8

https://blog.csdn.net/Purpleendurer/article/details/141862585?spm=1001.2014.3001.5501

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

现在我们来实践一下。

1 应用实例

1.1 创建演示文件和目录

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

<code>[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 的归档文件中。

命令中使用的选项说明:

-c:创建新的归档文件-v:显示详细输出,列出被添加到归档中的文件-f:指定归档文件的名称 

<code>[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 所包含的所有文件和目录信息。

命令中使用的选项说明:

-t:列出归档文件中的内容-v:显示详细输出,列出归档文件中的所有文件和目录-f:指定要列出内容的归档文件的名称

<code>[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中。

命令中使用的选项说明:

-r:向已存在的归档中追加文件-v:显示详细输出,列出被添加到归档中的文件-f:指定已存在的归档文件的名称

<code>[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

命令中使用的选项说明:

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

<code>[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

命令中使用的选项说明:

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

<code>[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

命令中使用的选项说明:

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

 

<code>[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的内容

命令中使用的选项说明:

-x:解压归档文件-v:显示详细输出,列出被添加到归档中的文件-f:指定归档文件的名称

<code>[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

命令中使用的选项说明:

-x:解压归档文件-z:表示要使用 gzip 解压归档文件-v:显示详细输出,列出被添加到归档中的文件-f:指定归档文件的名称

<code>[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

命令中使用的选项说明:

-x:解压归档文件-J:表示要使用 xz 解压归档文件-v:显示详细输出,列出被添加到归档中的文件-f:指定归档文件的名称

<code>[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

命令中使用的选项说明:

-x:解压归档文件-lzip:表示要使用 lzip解压归档文件-v:显示详细输出,列出被添加到归档中的文件-f:指定归档文件的名称

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

 

 



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。