Linux shell编程学习笔记77:tar命令——快照 & 备份(下)
紫郢剑侠 2024-09-12 15:07:02 阅读 84
0 前言
在
Linux shell编程学习笔记76:tar命令——快照 & 备份(上)-CSDN博客
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 ~]
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。