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

一给  金牌会员 | 2024-9-11 19:46:39 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 808|帖子 808|积分 2424


 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 的归档文件中。
下令中利用的选项阐明:
   

  • -c:创建新的归档文件
  • -v:表现详细输出,列出被添加到归档中的文件
  • -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 所包含的全部文件和目录信息。
下令中利用的选项阐明:
   

  • -t:列出归档文件中的内容
  • -v:表现详细输出,列出归档文件中的全部文件和目录
  • -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中。
下令中利用的选项阐明:
   

  • -r:向已存在的归档中追加文件
  • -v:表现详细输出,列出被添加到归档中的文件
  • -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
下令中利用的选项阐明:
   

  • -c:创建新的归档文件
  • -z:利用 gzip 压缩归档文件
  • -v:表现详细输出,列出被添加到归档中的文件
  • -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
下令中利用的选项阐明:
   

  • -c:创建新的归档文件
  • -J:利用 xz 压缩归档文件
  • -v:表现详细输出,列出被添加到归档中的文件
  • -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
下令中利用的选项阐明:
   

  • -c:创建新的归档文件
  • -lzip:利用 lzip 压缩归档文件
  • -v:表现详细输出,列出被添加到归档中的文件
  • -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的内容
下令中利用的选项阐明:
   

  • -x:解压归档文件
  • -v:表现详细输出,列出被添加到归档中的文件
  • -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
下令中利用的选项阐明:
   

  • -x:解压归档文件
  • -z:表现要利用 gzip 解压归档文件
  • -v:表现详细输出,列出被添加到归档中的文件
  • -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
下令中利用的选项阐明:
   

  • -x:解压归档文件
  • -J:表现要利用 xz 解压归档文件
  • -v:表现详细输出,列出被添加到归档中的文件
  • -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
下令中利用的选项阐明:
   

  • -x:解压归档文件
  • -lzip:表现要利用 lzip解压归档文件
  • -v:表现详细输出,列出被添加到归档中的文件
  • -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 ~]
复制代码
 
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

一给

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表