1. 创建 tar 文件
下面的示例命令将目录/home/rumenz
打包,在当前工作目录中创建一个tar
存档文件rumenz-14-09-12.tar
,
# tar -cvf rumenz-14-09-12.tar /home/rumenz/
/home/rumenz/
/home/rumenz/cleanfiles.sh
/home/rumenz/openvpn-2.1.4.tar.gz
/home/rumenz/rumenz-14-09-12.tar
/home/rumenz/phpmyadmin-2.11.11.3-1.el5.rf.noarch.rpm
/home/rumenz/rpmforge-release-0.5.2-2.el5.rf.i386.rpm
创建 tar 存档文件的选项。
-c
:创建一个新的 .tar 存档文件。-v
:详细显示 .tar 文件进度。-f
:存档文件的文件名类型。
2. 创建 tar.gz 文件
创建gzip压缩文件。下面的命令将目录文件/home/MyImages
打包成MyImages-14-09-12.tar.gz
Note: tar.gz
and tgz
both are similar
-z
# 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压缩的tar
文件,使用选项-j
。
以下示例命令将目录文件 /home/php
压缩成 Phpfiles-org.tar.bz2
# 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
(extract
)。
如果要在不同的目录中解压,使用选项-C
(specified directory
)。
解压tar
文件
## 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
解压tar.gz
文件
# 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
解压tar.bz2
文件
# 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
5. 列出 tar 文件的内容
选项 t
(list content
)列出tar
存档文件的内容。
列出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
列出tar.gz
文件内容
# tar -tvf staging.rumenz.com.tar.gz
-rw-r--r-- root/root 0 2012-08-30 04:03:57 staging.rumenz.com-access_log
-rw-r--r-- root/root 587 2012-08-29 18:35:12 staging.rumenz.com-access_log.1
-rw-r--r-- root/root 156 2012-01-21 07:17:56 staging.rumenz.com-access_log.2
-rw-r--r-- root/root 156 2011-12-21 11:30:56 staging.rumenz.com-access_log.3
-rw-r--r-- root/root 156 2011-11-20 17:28:24 staging.rumenz.com-access_log.4
-rw-r--r-- root/root 0 2012-08-30 04:03:57 staging.rumenz.com-error_log
-rw-r--r-- root/root 3981 2012-08-29 18:35:12 staging.rumenz.com-error_log.1
-rw-r--r-- root/root 211 2012-01-21 07:17:56 staging.rumenz.com-error_log.2
-rw-r--r-- root/root 211 2011-12-21 11:30:56 staging.rumenz.com-error_log.3
-rw-r--r-- root/root 211 2011-11-20 17:28:24 staging.rumenz.com-error_log.4
列出 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
6. 解压出单个文件
从cleanfiles.sh.tar
提取单个文件cleanfiles.sh
# tar -xvf cleanfiles.sh.tar cleanfiles.sh
OR
# tar --extract --file=cleanfiles.sh.tar cleanfiles.sh
cleanfiles.sh
从rumenzbackup.tar.gz
提取单个文件rumenzbackup.xml
# tar -zxvf rumenzbackup.tar.gz rumenzbackup.xml
OR
# tar --extract --file=rumenzbackup.tar.gz rumenzbackup.xml
rumenzbackup.xml
从Phpfiles-org.tar.bz2
提取单个文件index.php
# 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
7. 从 tar、tar.gz 和 tar.bz2 文件中解压多个文件
从tar
, tar.gz
和tar.bz2
文件中解压出多个文件
# tar -xvf rumenz-14-09-12.tar "file1" "file2"
# tar -zxvf MyImages-14-09-12.tar.gz "file1" "file2"
# tar -jxvf Phpfiles-org.tar.bz2 "file1" "file2"
8. 使用通配符提取文件组
为了提取一组文件,我们使用基于通配符的
提取。例如,提取一组模式以.php
从一个tar, tar.gz, and 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
9. 将文件或目录添加到 tar 文件
要将文件或目录添加到现有的 tar 文件,使用选项-r
(append
)。
对rumenz-14-09-12.tar
添加文件xyz.txt
和目录php
命令如下
# tar -rvf rumenz-14-09-12.tar xyz.txt
# tar -rvf rumenz-14-09-12.tar php
drwxr-xr-x root/root 0 2012-09-15 02:24:21 home/rumenz/
-rw-r--r-- root/root 15740615 2012-09-15 02:23:42 home/rumenz/cleanfiles.sh
-rw-r--r-- root/root 863726 2012-09-15 02:23:41 home/rumenz/openvpn-2.1.4.tar.gz
-rw-r--r-- root/root 21063680 2012-09-15 02:24:21 home/rumenz/rumenz-14-09-12.tar
-rw-r--r-- root/root 4437600 2012-09-15 02:23:41 home/rumenz/phpmyadmin-2.11.11.3-1.el5.rf.noarch.rpm
-rw-r--r-- root/root 12680 2012-09-15 02:23:41 home/rumenz/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
10. 将文件或目录添加到 tar.gz 和 tar.bz2 文件
不中! 会报错!!!
# 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
11. 验证 tar、tar.gz 和 tar.bz2 文件
对tar文件使用选项-w
(verify
)。
对 (*.tar.gz, *.tar.bz2
) 文件使用会报错!!!
# tar tvfW rumenz-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/rumenz/openvpn-2.1.4.tar.gz
Verify -rw-r--r-- root/root 21063680 2012-09-15 02:24:21 /home/rumenz/rumenz-14-09-12.tar
tar: /home/rumenz/rumenz-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/rumenz/phpmyadmin-2.11.11.3-1.el5.rf.noarch.rpm
tar: /home/rumenz/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/rumenz/rpmforge-release-0.5.2-2.el5.rf.i386.rpm
tar: /home/rumenz/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/