tar 命令用来将不少文件打包成一个单一的磁带或者磁盘归档,并可从归档文件恢复出文件列表。当你须要经过 email 发送大量文件时或者传输文件时很是有用。这里咱们介绍一些基本的使用场景。html
# tar [options] file.tar file1 file2 .. .. ..
file.tar 是 tar 归档文件,而其余 file1 和 file2 等等是要被打包的文件。web
例如咱们有两个文件 file1.txt 和 file2.txtshell
[root@localhost TAR]# ll total 8 -rw-r--r--. 1 root root 2770 Feb 7 22:37 file1.txt -rw-r--r--. 1 root root 887 Feb 7 22:38 file2.txt
建立一个 tar 文件 语法:app
# tar -cf archive.tar files .. ..
示例:测试
[root@localhost TAR]# tar -cf file.tar file1.txt file2.txt [root@localhost TAR]# ll file.tar -rw-r--r--. 1 root root 10240 Feb 7 22:42 file.tar
列出 tar 文件中的全部文件列表url
# tar -tf archive.tar
示例:.net
[root@localhost TAR]# tar -tf file.tar file1.txt file2.txt
从 tar 中提取全部文件code
tar -xf archive.tar
示例htm
[root@localhost TAR]# tar -xf file.tar [root@localhost TAR]# ll total 20 -rw-r--r--. 1 root root 2770 Feb 7 22:37 file1.txt -rw-r--r--. 1 root root 887 Feb 7 22:38 file2.txt -rw-r--r--. 1 root root 10240 Feb 7 22:42 file.tar
参数选项ip
verbosely list files processed: Syntax: List all files in an archive.tar verbosely:
tar -tvf archive.tar
Example:
[root@localhost TAR]# tar -tvf file.tar -rw-r--r-- root/root 2770 2014-02-07 22:37 file1.txt -rw-r--r-- root/root 887 2014-02-07 22:38 file2.txt
建立新的归档文件
列出归档文件中的内容
从归档中提取文件
比较归档和文件系统的差别 Example:
[root@localhost TAR]# tar -tf file.tar file2.txt file3.txt file1.txt [root@localhost TAR]# tar -df file.tar file1.txt file2.txt file4.txt tar: file4.txt: Not found in archive tar: Exiting with failure status due to previous errors ----Verbosely---- [root@localhost TAR]# tar -dvf file.tar file1.txt file2.txt file2.txt file1.txt [root@localhost TAR]# tar -dvf file.tar file1.txt file2.txt file6.txt file2.txt file1.txt tar: file6.txt: Not found in archive tar: Exiting with failure status due to previous errors
从归档中删除某文件 示例: 从归档 file.tar 中删除 file1.txt
[root@localhost TAR]# tar --delete -f file.tar file1.txt [root@localhost TAR]# tar -tf file.tar file2.txt
追加文件到归档中 示例: 追加 file3.txt 到 file.tar
[root@localhost TAR]# tar -rf file.tar file3.txt [root@localhost TAR]# tar -tf file.tar file1.txt file2.txt file3.txt
将一个tar 归档追加到另一个归档文件中 建立另一个 tar 文件
[root@localhost TAR]# tar -cf archive.tar file1.txt file3.txt 追加方法:
[root@localhost TAR]# tar -Af file.tar archive.tar [root@localhost TAR]# tar -tf file.tar file2.txt file3.txt file1.txt file1.txt file3.txt
测试归档卷标并退出
只追加最新的文件 示例:
[root@localhost TAR]# tar -tf file.tar file1.txt file2.txt [root@localhost TAR]# tar -uf file.tar file1.txt file3.txt file2.txt [root@localhost TAR]# tar -tf file.tar file1.txt file2.txt file3.txt
更改目录到 DIR
例如: 提取文件到另一个目录
[root@localhost TAR]# tar -xvf file.tar -C /root/TAR2 file1.txt file2.txt [root@localhost TAR]# cd - /root/TAR2 [root@localhost TAR2]# ll total 28 -rw-r--r--. 1 root root 23250 Feb 7 23:11 file1.txt -rw-r--r--. 1 root root 887 Feb 7 22:38 file2.txt
抽取文件时保留原有的文件权限
压缩归档文件,使用 BZIP 和 GZIP 两种方法
跟压缩相关的参数
使用 bzip2 对归档进行压缩
示例:
[root@localhost TAR]# tar -jcf file.tar.bz file2.txt file1.txt [root@localhost TAR]# ll total 128 -rw-r--r--. 1 root root 23250 Feb 7 23:11 file1.txt -rw-r--r--. 1 root root 887 Feb 7 22:38 file2.txt -rw-r--r--. 1 root root 30720 Feb 7 23:30 file.tar -rw-r--r--. 1 root root 1797 Feb 7 23:42 file.tar.bz
请看,上面的文件大小经过 BZIP 下降到 1797 字节。
14, -z, –gzip 使用 gzip 压缩归档
示例:
[root@localhost TAR]# tar -zcf file.tar.gz file2.txt file1.txt [root@localhost TAR]# ll total 132 -rw-r--r--. 1 root root 23250 Feb 7 23:11 file1.txt -rw-r--r--. 1 root root 887 Feb 7 22:38 file2.txt -rw-r--r--. 1 root root 30720 Feb 7 23:30 file.tar -rw-r--r--. 1 root root 1797 Feb 7 23:42 file.tar.bz -rw-r--r--. 1 root root 1673 Feb 7 23:45 file.tar.gz
就这些了!
英文原文:[weblink url="http://crybit.com/tar-command-usages-with-examples/"]tar command usages with examples –Unix/Linux[/weblink]