0


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

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

  1. [purpleendurer @ bash ~] echo "f1" > f1
  2. [purpleendurer @ bash ~] echo "f2" > f2
  3. [purpleendurer @ bash ~] mkdir d1
  4. [purpleendurer @ bash ~] ls
  5. Code d1 f1 f2
  6. [purpleendurer @ bash ~]

1.2 创建归档文件

使用命令

tar -cvf archive.tar f1 f2 d1

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

命令中使用的选项说明:

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

1.3 列出归档文件中的内容

使用命令

tar -tvf archive.tar

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

命令中使用的选项说明:

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

1.4 向归档文件追加文件

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

然后使用命令

tar -rvf archive.tar n1

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

命令中使用的选项说明:

  1. -r:向已存在的归档中追加文件
  2. -v:显示详细输出,列出被添加到归档中的文件
  3. -f:指定已存在的归档文件的名称
  1. [purpleendurer @ bash ~] echo "n1" > n1
  2. [purpleendurer @ bash ~] ls
  3. archive.tar Code d1 f1 f2 n1
  4. [purpleendurer @ bash ~] tar -tvf archive.tar
  5. -rw-rw-r-- csdn/csdn 3 2024-09-05 21:33 f1
  6. -rw-rw-r-- csdn/csdn 3 2024-09-05 21:33 f2
  7. drwxrwxr-x csdn/csdn 0 2024-09-05 21:33 d1/
  8. [purpleendurer @ bash ~] tar -rvf archive.tar n1
  9. bash: tar: command not found
  10. [purpleendurer @ bash ~] tar -rvf archive.tar n1
  11. n1
  12. [purpleendurer @ bash ~] tar -tvf archive.tar
  13. -rw-rw-r-- csdn/csdn 3 2024-09-05 21:33 f1
  14. -rw-rw-r-- csdn/csdn 3 2024-09-05 21:33 f2
  15. drwxrwxr-x csdn/csdn 0 2024-09-05 21:33 d1/
  16. -rw-rw-r-- csdn/csdn 3 2024-09-05 21:34 n1
  17. [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:指定归档文件的名称
  1. [purpleendurer @ bash ~] tar -czvf archive.tar.gz n1
  2. n1
  3. [purpleendurer @ bash ~] tar -tvf archive.tar.gz
  4. -rw-rw-r-- csdn/csdn 3 2024-09-05 21:34 n1
  5. [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:指定归档文件的名称
  1. [purpleendurer @ bash ~] tar -cJvf archive.tar.xz f1 f2
  2. f1
  3. f2
  4. [purpleendurer @ bash ~] tar -tvf archive.tar.xz
  5. -rw-rw-r-- csdn/csdn 3 2024-09-05 21:33 f1
  6. -rw-rw-r-- csdn/csdn 3 2024-09-05 21:33 f2
  7. [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:指定归档文件的名称
  1. [purpleendurer @ bash ~] tar -clzipvf archive.tar.lzip f1
  2. f1
  3. [purpleendurer @ bash ~] tar -tvf archive.tar.lzip
  4. -rw-rw-r-- csdn/csdn 3 2024-09-05 21:33 f1
  5. [purpleendurer @ bash ~]

1.6 解压还原归档文件

1.6.1 还原归档文件

我们使用命令

tar -xvf archive.tar

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

命令中使用的选项说明:

  1. -x:解压归档文件
  2. -v:显示详细输出,列出被添加到归档中的文件
  3. -f:指定归档文件的名称
  1. [purpleendurer @ bash ~] echo "f1" > f1
  2. [purpleendurer @ bash ~] echo "f2" > f2
  3. [purpleendurer @ bash ~] mkdir d1
  4. [purpleendurer @ bash ~] ls
  5. archive.tar Code d1 f1 f2
  6. [purpleendurer @ bash ~] tar -cvf archive.tar f1 f2 d1
  7. f1
  8. f2
  9. d1/
  10. [purpleendurer @ bash ~] tar -tvf archive.tar
  11. -rw-rw-r-- csdn/csdn 3 2024-09-05 22:14 f1
  12. -rw-rw-r-- csdn/csdn 3 2024-09-05 22:14 f2
  13. drwxrwxr-x csdn/csdn 0 2024-09-05 22:14 d1/
  14. [purpleendurer @ bash ~] rm f*
  15. [purpleendurer @ bash ~] rmdir d*
  16. [purpleendurer @ bash ~] ls
  17. archive.tar Code
  18. [purpleendurer @ bash ~] tar -xvf archive.tar
  19. bash: tar: command not found
  20. [purpleendurer @ bash ~] tar -xvf archive.tar
  21. f1
  22. f2
  23. d1/
  24. [purpleendurer @ bash ~] ls
  25. archive.tar Code d1 f1 f2
  26. [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:指定归档文件的名称
  1. [purpleendurer @ bash ~] tar -czvf archive.tar.gz f1
  2. f1
  3. [purpleendurer @ bash ~] tar -tvf archive.tar.gz
  4. -rw-rw-r-- csdn/csdn 3 2024-09-05 22:21 f1
  5. [purpleendurer @ bash ~] rm f1
  6. [purpleendurer @ bash ~] ls
  7. archive.tar archive.tar.gz Code d1 f2
  8. [purpleendurer @ bash ~] tar -zxvf archive.tar.gz
  9. f1
  10. [purpleendurer @ bash ~] ls
  11. archive.tar archive.tar.gz Code d1 f1 f2
  12. [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:指定归档文件的名称
  1. [purpleendurer @ bash ~] tar -cJvf archive.tar.xz f2
  2. f2
  3. [purpleendurer @ bash ~] tar -tvf archive.tar.xz
  4. -rw-rw-r-- csdn/csdn 3 2024-09-05 22:31 f2
  5. [purpleendurer @ bash ~] rm f2
  6. [purpleendurer @ bash ~] ls
  7. archive.tar archive.tar.gz archive.tar.xz Code d1 f1
  8. [purpleendurer @ bash ~] tar -xJvf archive.tar.xz
  9. f2
  10. [purpleendurer @ bash ~] ls
  11. archive.tar archive.tar.gz archive.tar.xz Code d1 f1 f2
  12. [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:指定归档文件的名称
  1. [purpleendurer @ bash ~] tar -clzipvf archive.tar.lzip n1
  2. n1
  3. [purpleendurer @ bash ~] tar -tvf archive.tar.lzip
  4. -rw-rw-r-- csdn/csdn 3 2024-09-05 22:44 n1
  5. [purpleendurer @ bash ~] rm n1
  6. [purpleendurer @ bash ~] ls
  7. archive.tar.lzip Code
  8. [purpleendurer @ bash ~] tar -xlzipvf archive.tar.lzip
  9. n1
  10. [purpleendurer @ bash ~] ls
  11. archive.tar.lzip Code n1
  12. [purpleendurer @ bash ~]


本文转载自: https://blog.csdn.net/Purpleendurer/article/details/141927646
版权归原作者 紫郢剑侠 所有, 如有侵权,请联系我们删除。

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

还没有评论