在linux中创建和解压文档的11个 tar 命令例子

在linux中创建和解压文档的11个 tar 命令例子

linux中的tar命令

tar(磁带归档)命令是linux系统中被经常用来将文件存入到一个归档文件中的命令。

其常见的文件扩展包括:.tar.gz 和 .tar.bz2, 分别表示通过了gzip或bzip算法进一步进行了压缩。

在本教程中我们会管中窥豹一下在linux桌面或服务器版本中使用tar命令来处理一些创建和解压归档文件的日常工作的例子。

使用tar命令

tar命令在大部分linux系统默认情况下都是可用的,所以你不用单独安装该软件。

tar命令具有两个压缩格式,gzip和bzip,该命令的“z”选项用来指定gzip,“j”选项用来指定bzip。同时也可以创建非压缩归档文件。

1.解压一个tar.gz归档

一般常见的用法是用来解压归档文件,下面的命令将会把文件从一个tar.gz归档文件中解压出来。


  1. $ tar -xvzf tarfile.tar.gz

这里对这些参数做一个简单解释-

x - 解压文件

v - 冗长模式,在解压每个文件时打印出文件的名称。

z - 该文件是一个使用 gzip 压缩的文件。

f - 使用接下来的tar归档来进行操作。

这些就是一些需要记住的重要选项。

解压 tar.bz2/bzip 归档文件

具有bz2扩展名的文件是使用bzip算法进行压缩的,但是tar命令也可以对其进行处理,但是需要通过使用“j”选项来替换“z”选项。


  1. $ tar -xvjf archivefile.tar.bz2

2.将文件解压到一个指定的目录或路径

为了将文件解压到一个指定的目录中,使用“-C”选项来指定路径,此处的“C”是大写“C”。


  1. $ tar -xvzf abc.tar.gz -C /opt/folder/

然后,首先需要确认目标目录是否存在,毕竟tar命令并不会为你创建目录,所以如果目标目录不存在的情况下该命令会失败。

3. 提取出单个文件

为了从一个归档文件中提取出单个文件,只需要将文件名按照以下方式将其放置在命令后面。


  1. $ tar -xz -f abc.tar.gz "./new/abc.txt"

在上述命令中,可以按照以下方式来指定多个文件。


  1. $ tar -xz -f abc.tar.gz "./new/cde.txt" "./new/abc.txt"

4.使用通配符来解压多个文件

通配符可以用来解压于给定通配符匹配的一批文件,例如所有以".txt"作为扩展名的文件。


  1. $ tar -xz -f abc.tar.gz --wildcards "*.txt"

5. 列出并检索tar归档文件中的内容

如果你仅仅想要列出而不是解压tar归档文件的中的内容,使用“-t”(test)选项, 下面的命令用来打印一个使用gzip压缩过的tar归档文件中的内容。


  1. $ tar -tz -f abc.tar.gz
  2. ./new/
  3. ./new/cde.txt
  4. ./new/subdir/
  5. ./new/subdir/in.txt
  6. ./new/abc.txt
  7. ...

可以将输出通过管道定向到grep来搜索一个文件,或者定向到less命令来浏览内容列表。 使用"v"冗长选项将会打印出每个文件的额外详细信息。

对于 tar.bz2/bzip文件,需要使用"j"选项。

结合上述的命令和grep命令来检索归档文件,如下所示。简单吧!


  1. $ tar -tvz -f abc.tar.gz | grep abc.txt
  2. -rw-rw-r-- enlightened/enlightened 0 2015-01-13 11:40 ./new/abc.txt

6.创建一个tar/tar.gz归档文件

现在我们已经学过了如何解压一个tar归档文件,是时候开始创建一个新的tar归档文件了。tar命令可以用来将所选的文件或整个目录放入到一个归档文件中,以下是相应的样例。

下面的命令使用一个目录来创建一个tar归档文件,它会将该目录中所有的文件和子目录都加入到归档文件中。


  1. $ tar -cvf abc.tar ./new/
  2. ./new/
  3. ./new/cde.txt
  4. ./new/abc.txt

上述命令不会创建一个压缩的的归档文件,只是一个普通的归档文件,只是将多个文件放入到一个归档文件中并没有真正地压缩每个文件。

为了使用压缩,可以分别使用“z”或“j”选项进行gzip或bzip压缩算法。


  1. $ tar -cvzf abc.tar.gz ./new/

文件的扩展名其实并不真正有什么影响。“tar.gz” 和“tgz”是gzip压缩算法压缩文件的常见扩展名。 “tar.bz2”和“tbz”是bzip压缩算法压缩文件的常见扩展名(LCTT 译注:归档是否是压缩的和采用哪种压缩方式并不取决于其扩展名,扩展名只是为了便于辨识。)。

7. 在添加文件之前进行确认

一个有用的选项是“w”,该选项使得tar命令在添加每个文件到归档文件之前来让用户进行确认,有时候这会很有用。

使用该选项时,只有用户输入“y”时的文件才会被加入到归档文件中,如果你不输入任何东西,其默认表示是一个“n”。


  1. # 添加指定文件
  2. $ tar -czw -f abc.tar.gz ./new/*
  3. add ‘./new/abc.txt’?y
  4. add ‘./new/cde.txt’?y
  5. add ‘./new/newfile.txt’?n
  6. add ‘./new/subdir’?y
  7. add ‘./new/subdir/in.txt’?n
  8. #现在列出所有被加入的文件
  9. $ tar -t -f abc.tar.gz
  10. ./new/abc.txt
  11. ./new/cde.txt
  12. ./new/subdir/

8. 加入文件到存在的归档文件中

“r”选项可以被用来将文件加入到已存在的归档文件中,而不用创建一个新的归档文件,下面是一个简单的样例:


  1. $ tar -rv -f abc.tar abc.txt

文件并不能加入到已压缩的归档文件中(gz 或 bzip)。文件只能被加入到普通的归档文件中。

9. 将文件加入到压缩的归档文件中(tar.gz/tar.bz2)

之前已经提到了不可能将文件加入到已压缩的归档文件中,然而依然可以通过简单的一些把戏来完成。使用gunzip命令来解压缩归档文件,然后将文件加入到归档文件中后重新进行压缩。


  1. $ gunzip archive.tar.gz
  2. $ tar -rf archive.tar ./path/to/file
  3. $ gzip archive.tar

对于bzip文件分别使用bzip2和bunzip2。

10.通过tar来进行备份

一个真实的场景是在固定的时间间隔内来备份目录,tar命令可以通过cron调度来实现这样的一个备份,以下是一个样例 :


  1. $ tar -cvz -f archive-$(date +%Y%m%d).tar.gz ./new/

使用cron来运行上述的命令会保持创建类似以下名称的备份文件 :'archive-20150218.tar.gz'。

当然,需要确保日益增长的归档文件不会导致磁盘空间的溢出。

11. 在创建归档文件时进行验证

"W"选项可以用来在创建归档文件之后进行验证,以下是一个简单例子。


  1. $ tar -cvW -f abc.tar ./new/
  2. ./new/
  3. ./new/cde.txt
  4. ./new/subdir/
  5. ./new/subdir/in.txt
  6. ./new/newfile.txt
  7. ./new/abc.txt
  8. Verify ./new/
  9. Verify ./new/cde.txt
  10. Verify ./new/subdir/
  11. Verify ./new/subdir/in.txt
  12. Verify ./new/newfile.txt
  13. Verify ./new/abc.txt

需要注意的是验证动作不能在压缩过的归档文件上进行,只能在非压缩的tar归档文件上执行。

这次就先到此为止,可以通过“man tar”命令来查看tar命令的的手册。

原文发布时间:2015-04-01

本文来自云栖合作伙伴“linux中国”

时间: 2024-12-23 15:13:52

在linux中创建和解压文档的11个 tar 命令例子的相关文章

在Linux中方便浏览PDF文档

无论是互联网还是日常工作,使用PDF格式保存的电子文档和电子图书都十分流行.PDF格式的电子文档不仅可以完全保存原文档的全貌,更以安全性.易用性及普及性而深受广大用户的欢迎.Linux中有许多这样的浏览工具,如Konqueror.GGV.Adobe Acrobat Reader和Mozilla,这些工具的都可以实现浏览PS/PDF文档,并且大多数对中文支持较好,显示效果也不错.下面就介绍如何利用PDF查看工具,在Linux中方便浏览PDF格式的文档. 在Konqueror中浏览PDF文档 熟悉K

如何在Word 2010中创建指向其他文档的书签超链接

在Word 2010文档中,不仅可以创建指向当前Word文档的书签超链接,还可以 根据需要创建指向其他Word文档的书签超链接,具体操作步骤如下所述: 第1步,打开Word 2010文档窗口,选中需要创建超链接的文字.切换到 "插入"功能区,在"链接"分组中单击"超链接 "按钮,如图2011081503所示. 图 2011081503 单击"超链接"按钮 第2步,打开"插入超链接"对话框,在"链接

在Word2010中创建指向其他文档的书签超链接

在Word2010文档中,不仅可以创建指向当前Word文档的书签超链接,还可以根据需要创建指向其他Word文档的书签超链接,具体操作步骤如下所述: 第1步,打开Word2010文档窗口,选中需要创建超链接的文字.切换到"插入"功能区,在"链接"分组中单击"超链接"按钮,如图1所示. 图1 单击"超链接"按钮第2步,打开"插入超链接"对话框,在"链接到"区域选中"现有文件或网页&

如何在Word 2003中打开Word 2010文档

一般情况下,在Word 2010中创建的Word文档无法在Word 2003中打开和编辑,因为Word 2003无法识别扩展名为.docx的Word 2010文件,如图 2010081301所示. 图 2010081301 Word 2003无法识别.docx文件 为了使Word 2010文档能够在Word 2003中打开和编辑,用户可以在安装Word 2003的电脑中下载并安装Microsoft Office Word.Excel和Powerpoint 2007文件格式兼容包.操作步骤如下所述

linux中如何创建和解压tar.xz文件

根据维基百科的解释, xz 是一个使用 LZMA压缩算法的无损数据压缩文件格式.和gzip与bzip2一样,同样支持多文件压缩,但是约定不能将多于一个的目标文件压缩进同一个档案文件.相反,xz通常作为一种归档文件自身的压缩格式,例如使用tar或cpioUnix程序创建的归档.xz 在GNU coreutils(版本 7.1 或更新)中被使用.xz 作为压缩软件包被收录在 Fedora (自Fedora 12起), Arch Linux, FreeBSD. Slackware Linux.CRUX

用PHP4中的PDF扩展来创建一个PDF文档

综述:PDF文档常被用在电子图书.说明书等方面,可以有效地防止拷贝与盗版,在PHP4中,我们能创建一个PDF格式的文档吗?答案是:运用PHP中的PDF扩展库. 如何配置支持PDF的运行环境? 首先,我们需要安装PDFLib 3.0.1 和 PHP4.0.1pl2 以支持PDF. 软件要求 : PHP 4.02+ ( http://www.php.net ) PDFLib 3.0.1 ( http://www.pdflib.com ) 直接从http://php.net下载PHP的Uwe Stei

如何在MFC对话框程序中动态创建一个单文档。

问题描述 如何在MFC对话框程序中动态创建一个单文档. 就是在MFC对话框程序里单击一个按钮可以出现一个单文档界面,是MFC对话框的框架 解决方案 再做一个单文档的exe,点击按钮,启动它

在ASP.NET中使用Microsoft Word文档

asp.net|microsoft|word 本文是应在ASP.NET里创建Microsoft Word文档之需而写的.这篇文章演示了在ASP.NET里怎么创建和修改Microsoft Word文档. [背景] 自动化是一种能让各种语言编写的(如:Visual Basic.NET或C#)应用程序在程序级别上控制其他应用程序. 对于Word的自动化允许你执行诸如创建新的文档,向文档里添加文本,邮件合并和格式化文档这些操作.在Word和其他的Microsoft Office程序里,那些通过用户接口进

用COM和ASP创建动态Word文档(转)

word|创建|动态 大多数公司由于意识到无文档的工作过程会成为前进的绊脚石,因此都开发了定义详细的文档程序.每个公司都为不同的过程定义自己的一套文档模板,使它们随时可被职员使用,用于进行购买请求或申请度假等. 但是,随着Internet 逐渐为大家熟悉和逐渐普及,越来越多的功能被移植到"开放空间",以实现更好的可视性和更有效的通讯.比如说,一个人也许要问:"我可以登录到Internet / Intranet,填写一张休假申请表,然后以公司标准模板样式将它作为Word 文档发