Linux tar命令示例
1.创建tar存档文件
下面的例子命令将创建一个 tar归档文件 youcl-14-09-12.tar在当前工作目录中的目录 / home / youcl。请参阅操作中的示例命令。# tar -cvf youcl-14-09-12.tar /home/youcl/ /home/youcl/ /home/youcl/cleanfiles.sh /home/youcl/openvpn-2.1.4.tar.gz /home/youcl/youcl-14-09-12.tar /home/youcl/phpmyadmin-2.11.11.3-1.el5.rf.noarch.rpm /home/youcl/rpmforge-release-0.5.2-2.el5.rf.i386.rpm让我们讨论我们在上面的命令创建tar存档文件中使用的每个选项。
- c -创建一个新的.tar归档文件。
- v - 输出列出来源显示.tar文件的进展。
- f - 文件名输入存档文件的。
2.创建tar.gz归档文件
要创建 的gzip压缩归档文件,我们使用的选项与 z。 例如下面的命令将创建目录 / home / MyImages压缩 MyImages-14-09-12.tar.gz文件。 ( 注:tar.gz的和TGZ都是相似 )。# tar cvzf MyImages-14-09-12.tar.gz /home/MyImages OR # tar cvzf MyImages-14-09-12.tgz /home/MyImages /home/MyImages/ /home/MyImages/Sara-Khan-and-model-Priyanka-Shah.jpg /home/MyImages/RobertKristenviolent101201.jpg /home/MyImages/Justintimerlake101125.jpg /home/MyImages/Mileyphoto101203.jpg /home/MyImages/JenniferRobert101130.jpg /home/MyImages/katrinabarbiedoll231110.jpg /home/MyImages/the-japanese-wife-press-conference.jpg /home/MyImages/ReesewitherspoonCIA101202.jpg /home/MyImages/yanaguptabaresf231110.jpg
3.创建tar.bz2归档文件
该 BZ2功能压缩比 gzip的大小创建归档文件少。 压缩bz2压缩需要更多的时间来压缩相比 ,gzip的其中需要较少的时间解压缩文件。 要创建高度压缩的tar文件,我们使用选项为 J。 命令下面的例子将创建一个目录 / home / PHP的一个 Phpfiles-org.tar.bz2文件。 ( 注:TAR.BZ2和TBZ是TB2相似 )。# tar cvfj Phpfiles-org.tar.bz2 /home/php OR # tar cvfj Phpfiles-org.tar.tbz /home/php OR # tar cvfj Phpfiles-org.tar.tb2 /home/php /home/php/ /home/php/iframe_ew.php /home/php/videos_all.php /home/php/rss.php /home/php/index.php /home/php/vendor.php /home/php/video_title.php /home/php/report.php /home/php/object.html /home/php/video.php
4.解压tar存档文件
要解包或提取一个tar文件,使用如下选项 X( 提取 )命令只是问题。 例如下面的命令将在解压当前工作目录中的文件 的public_html-14-09-12.tar。 如果您在不同的目录要解压缩,然后使用选项为 C( 指定目录 )。## Untar files in Current Directory ## # tar -xvf public_html-14-09-12.tar ## Untar files in specified Directory ## # tar -xvf public_html-14-09-12.tar -C /home/public_html/videos/ /home/public_html/videos/ /home/public_html/videos/views.php /home/public_html/videos/index.php /home/public_html/videos/logout.php /home/public_html/videos/all_categories.php /home/public_html/videos/feeds.xml
5.解压缩tar.gz归档文件
解压缩 tar.gz压缩文件,只需要运行下面的命令。 如果想在不同的目录下解压只使用选项 -C和目录的路径,就像上面的例子证明我们。# tar -xvf thumbnails-14-09-12.tar.gz /home/public_html/videos/thumbnails/ /home/public_html/videos/thumbnails/katdeepika231110.jpg /home/public_html/videos/thumbnails/katrinabarbiedoll231110.jpg /home/public_html/videos/thumbnails/onceuponatime101125.jpg /home/public_html/videos/thumbnails/playbutton.png /home/public_html/videos/thumbnails/ReesewitherspoonCIA101202.jpg /home/public_html/videos/thumbnails/snagItNarration.jpg /home/public_html/videos/thumbnails/Minissha-Lamba.jpg /home/public_html/videos/thumbnails/Lindsaydance101201.jpg /home/public_html/videos/thumbnails/Mileyphoto101203.jpg
6.解压缩tar.bz2归档文件
解压缩高度压缩 TAR.BZ2文件,只需要使用下面的命令。 下面的例子命令将解压从存档文件中的所有 的FLV文件。# tar -xvf videos-14-09-12.tar.bz2 /home/public_html/videos/flv/katrinabarbiedoll231110.flv /home/public_html/videos/flv/BrookmuellerCIA101125.flv /home/public_html/videos/flv/dollybackinbb4101125.flv /home/public_html/videos/flv/JenniferRobert101130.flv /home/public_html/videos/flv/JustinAwardmovie101125.flv /home/public_html/videos/flv/Lakme-Fashion-Week.flv /home/public_html/videos/flv/Mileyphoto101203.flv /home/public_html/videos/flv/Minissha-Lamba.flv
7.列出tar存档文件的内容
要列出tar归档文件的内容,只是运行使用选项 t ( 列表内容 )以下命令。 下面的命令将列出 uploadprogress.tar文件的内容。# tar -tvf uploadprogress.tar -rw-r--r-- chregu/staff 2276 2011-08-15 18:51:10 package2.xml -rw-r--r-- chregu/staff 7877 2011-08-15 18:51:10 uploadprogress/examples/index.php -rw-r--r-- chregu/staff 1685 2011-08-15 18:51:10 uploadprogress/examples/server.php -rw-r--r-- chregu/staff 1697 2011-08-15 18:51:10 uploadprogress/examples/info.php -rw-r--r-- chregu/staff 367 2011-08-15 18:51:10 uploadprogress/config.m4 -rw-r--r-- chregu/staff 303 2011-08-15 18:51:10 uploadprogress/config.w32 -rw-r--r-- chregu/staff 3563 2011-08-15 18:51:10 uploadprogress/php_uploadprogress.h -rw-r--r-- chregu/staff 15433 2011-08-15 18:51:10 uploadprogress/uploadprogress.c -rw-r--r-- chregu/staff 1433 2011-08-15 18:51:10 package.xml
8.列出内容tar.gz存档文件
使用以下命令列出 tar.gz文件的内容。# tar -tvf staging.youcl.com.tar.gz -rw-r--r-- root/root 0 2012-08-30 04:03:57 staging.youcl.com-access_log -rw-r--r-- root/root 587 2012-08-29 18:35:12 staging.youcl.com-access_log.1 -rw-r--r-- root/root 156 2012-01-21 07:17:56 staging.youcl.com-access_log.2 -rw-r--r-- root/root 156 2011-12-21 11:30:56 staging.youcl.com-access_log.3 -rw-r--r-- root/root 156 2011-11-20 17:28:24 staging.youcl.com-access_log.4 -rw-r--r-- root/root 0 2012-08-30 04:03:57 staging.youcl.com-error_log -rw-r--r-- root/root 3981 2012-08-29 18:35:12 staging.youcl.com-error_log.1 -rw-r--r-- root/root 211 2012-01-21 07:17:56 staging.youcl.com-error_log.2 -rw-r--r-- root/root 211 2011-12-21 11:30:56 staging.youcl.com-error_log.3 -rw-r--r-- root/root 211 2011-11-20 17:28:24 staging.youcl.com-error_log.4
9.列出内容tar.bz2归档文件
要列出 TAR.BZ2文件的内容,发出以下命令。# tar -tvf Phpfiles-org.tar.bz2 drwxr-xr-x root/root 0 2012-09-15 03:06:08 /home/php/ -rw-r--r-- root/root 1751 2012-09-15 03:06:08 /home/php/iframe_ew.php -rw-r--r-- root/root 11220 2012-09-15 03:06:08 /home/php/videos_all.php -rw-r--r-- root/root 2152 2012-09-15 03:06:08 /home/php/rss.php -rw-r--r-- root/root 3021 2012-09-15 03:06:08 /home/php/index.php -rw-r--r-- root/root 2554 2012-09-15 03:06:08 /home/php/vendor.php -rw-r--r-- root/root 406 2012-09-15 03:06:08 /home/php/video_title.php -rw-r--r-- root/root 4116 2012-09-15 03:06:08 /home/php/report.php -rw-r--r-- root/root 1273 2012-09-15 03:06:08 /home/php/object.html
10.解压单个文件从tar文件
从 cleanfiles.sh.tar提取称为 cleanfiles.sh单个文件中使用下面的命令。# tar -xvf cleanfiles.sh.tar cleanfiles.sh OR # tar --extract --file=cleanfiles.sh.tar cleanfiles.sh cleanfiles.sh
11.从tar.gz文件解压单个文件
提取 youclbackup.tar.gz归档文件一个文件 youclbackup.xml,使用如下命令。# tar -zxvf youclbackup.tar.gz youclbackup.xml OR # tar --extract --file=youclbackup.tar.gz youclbackup.xml youclbackup.xml
12.从tar.bz2文件解压单个文件
中提取所谓 的index.php从文件 Phpfiles-org.tar.bz2使用下列选项的单个文件。# tar -jxvf Phpfiles-org.tar.bz2 home/php/index.php OR # tar --extract --file=Phpfiles-org.tar.bz2 /home/php/index.php /home/php/index.php
13.从tar,tar.gz和tar.bz2文件解开多个文件
要提取或 tar ,tar.gz的和 TAR.BZ2归档文件解压缩多个文件。 例如下面的命令将提取的存档文件“ 文件 1”,“2档 ”。# tar -xvf youcl-14-09-12.tar "file 1" "file 2" # tar -zxvf MyImages-14-09-12.tar.gz "file 1" "file 2" # tar -jxvf Phpfiles-org.tar.bz2 "file 1" "file 2"
14.使用通配符提取文件组
要提取一组文件,我们使用基于 通配符提取。 例如,提取一组其模式与 .PHP开始从一个 tar,tar.gz的和TAR.BZ2归档文件的所有文件。# tar -xvf Phpfiles-org.tar --wildcards '*.php' # tar -zxvf Phpfiles-org.tar.gz --wildcards '*.php' # tar -jxvf Phpfiles-org.tar.bz2 --wildcards '*.php' /home/php/iframe_ew.php /home/php/videos_all.php /home/php/rss.php /home/php/index.php /home/php/vendor.php /home/php/video_title.php /home/php/report.php /home/php/video.php
15.将文件或目录添加到tar存档文件
要将文件或目录添加到现有的tar存档文件中,我们使用的选项 R( 追加 )。 例如,我们添加文件 xyz.txt将该和目录 PHP现有 youcl-14-09-12.tar存档文件。# tar -rvf youcl-14-09-12.tar xyz.txt # tar -rvf youcl-14-09-12.tar php drwxr-xr-x root/root 0 2012-09-15 02:24:21 home/youcl/ -rw-r--r-- root/root 15740615 2012-09-15 02:23:42 home/youcl/cleanfiles.sh -rw-r--r-- root/root 863726 2012-09-15 02:23:41 home/youcl/openvpn-2.1.4.tar.gz -rw-r--r-- root/root 21063680 2012-09-15 02:24:21 home/youcl/youcl-14-09-12.tar -rw-r--r-- root/root 4437600 2012-09-15 02:23:41 home/youcl/phpmyadmin-2.11.11.3-1.el5.rf.noarch.rpm -rw-r--r-- root/root 12680 2012-09-15 02:23:41 home/youcl/rpmforge-release-0.5.2-2.el5.rf.i386.rpm -rw-r--r-- root/root 0 2012-08-18 19:11:04 xyz.txt drwxr-xr-x root/root 0 2012-09-15 03:06:08 php/ -rw-r--r-- root/root 1751 2012-09-15 03:06:08 php/iframe_ew.php -rw-r--r-- root/root 11220 2012-09-15 03:06:08 php/videos_all.php -rw-r--r-- root/root 2152 2012-09-15 03:06:08 php/rss.php -rw-r--r-- root/root 3021 2012-09-15 03:06:08 php/index.php -rw-r--r-- root/root 2554 2012-09-15 03:06:08 php/vendor.php -rw-r--r-- root/root 406 2012-09-15 03:06:08 php/video_title.php
16.将文件或目录添加到tar.gz和tar.bz2文件
tar命令没有一个选项,以文件或目录添加到现有的压缩 的tar.gz和 TAR.BZ2存档文件。如果我们尝试会得到tbe跟随错误。# tar -rvf MyImages-14-09-12.tar.gz xyz.txt # tar -rvf Phpfiles-org.tar.bz2 xyz.txt tar: This does not look like a tar archive tar: Skipping to next header xyz.txt tar: Error exit delayed from previous errors
17.如何验证tar,tar.gz和tar.bz2归档文件
要verfify我们使用选项为 W任何tar或压缩归档的文件( 验证 )。 要做,只需使用以下命令示例。 ( 注:你不能做一个压缩( 与* .tar.gz验证 ,则以.tar.bz2 *)档案文件)。# tar tvfW youcl-14-09-12.tar tar: This does not look like a tar archive tar: Skipping to next header tar: Archive contains obsolescent base-64 headers tar: VERIFY FAILURE: 30740 invalid headers detected Verify -rw-r--r-- root/root 863726 2012-09-15 02:23:41 /home/youcl/openvpn-2.1.4.tar.gz Verify -rw-r--r-- root/root 21063680 2012-09-15 02:24:21 /home/youcl/youcl-14-09-12.tar tar: /home/youcl/youcl-14-09-12.tar: Warning: Cannot stat: No such file or directory Verify -rw-r--r-- root/root 4437600 2012-09-15 02:23:41 home/youcl/phpmyadmin-2.11.11.3-1.el5.rf.noarch.rpm tar: /home/youcl/phpmyadmin-2.11.11.3-1.el5.rf.noarch.rpm: Warning: Cannot stat: No such file or directory Verify -rw-r--r-- root/root 12680 2012-09-15 02:23:41 home/youcl/rpmforge-release-0.5.2-2.el5.rf.i386.rpm tar: /home/youcl/rpmforge-release-0.5.2-2.el5.rf.i386.rpm: Warning: Cannot stat: No such file or directory Verify -rw-r--r-- root/root 0 2012-08-18 19:11:04 xyz.txt Verify drwxr-xr-x root/root 0 2012-09-15 03:06:08 php/
18.检查tar,tar.gz和tar.bz2归档文件的大小
要检查任何 tar ,tar.gz的和 TAR.BZ2存档文件的大小,请使用以下命令。 例如下面的命令将显示archvie文件以千字节 (KB)的大小。# tar -czf - youcl-14-09-12.tar | wc -c 12820480 # tar -czf - MyImages-14-09-12.tar.gz | wc -c 112640 # tar -czf - Phpfiles-org.tar.bz2 | wc -c 20480
tar使用和选项
- c -创建一个存档文件。
- x -提取存档文件。
- v - 输出显示归档文件的进度。
- f -档案文件的文件名。
- t -归档文件的查看内容。
- j -通过过滤器的bzip2压缩。
- z -通过过滤器的gzip压缩。
- r -添加或更新文件或目录对现有的存档文件。
- W -验证一个存档文件。
- wildcards 通配符 -指定UNIX tar命令patters。
不要错过: 拆分大型tar'归档到一定规模的多个文件
如果我们错过了任何例子,请通过评论框与我们分享,请不要忘记与您的朋友分享这篇文章。这是最好的方式说感谢... ..