tar 实用手册

[url]http://www.oschina.net/question/12_146379[/url]

tar 命令用来将很多文件打包成一个单一的磁带或者磁盘归档,并可从归档文件恢复出文件列表。当你需要通过 email 发送大量文件时或者传输文件时非常有用。这里我们介绍一些基本的使用场景。

tar 的语法:


# tar [options] file.tar file1 file2 .. .. ..
file.tar 是 tar 归档文件,而其他 file1 和 file2 等等是要被打包的文件。

例如我们有两个文件 file1.txt 和 file2.txt

# 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 常用的使用场景

创建一个 tar 文件
语法:

?
1
# tar -cf archive.tar files .. ..
示例:

?
1
2
3
# tar -cf file.tar file1.txt file2.txt
# ll file.tar
-rw-r--r--. 1 root root 10240 Feb 7 22:42 file.tar
列出 tar 文件中的所有文件列表


# tar -tf archive.tar
示例:


# tar -tf file.tar
file1.txt
file2.txt
从 tar 中提取所有文件


tar -xf archive.tar
示例


# tar -xf file.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
参数选项

1, -v, –verbose
verbosely list files processed:
Syntax:
List all files in an archive.tar verbosely:

tar -tvf archive.tar
Example:

# 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
2, -c, –create
创建新的归档文件

3, -t, –list
列出归档文件中的内容

4, -x, –extract, –get
从归档中提取文件

5, -d, –diff, –compare
比较归档和文件系统的差异
Example:

# tar -tf file.tar
file2.txt
file3.txt
file1.txt
# 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----
# tar -dvf file.tar file1.txt file2.txt
file2.txt
file1.txt
# 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
6, –delete
从归档中删除某文件
示例:
从归档 file.tar 中删除 file1.txt

# tar --delete -f file.tar file1.txt
# tar -tf file.tar
file2.txt
7, -r, –append
追加文件到归档中
示例:
追加 file3.txt 到 file.tar

# tar -rf file.tar file3.txt
# tar -tf file.tar
file1.txt
file2.txt
file3.txt
8, -A, –catenate, –concatenate
将一个tar 归档追加到另外一个归档文件中
创建另外一个 tar 文件

# tar -cf archive.tar file1.txt file3.txt
追加方法:

# tar -Af file.tar archive.tar
# tar -tf file.tar
file2.txt
file3.txt
file1.txt
file1.txt
file3.txt
9, –test-label
测试归档卷标并退出

10, -u, –update
只追加最新的文件
示例:

# tar -tf file.tar
file1.txt
file2.txt
# tar -uf file.tar file1.txt file3.txt file2.txt
# tar -tf file.tar
file1.txt
file2.txt
file3.txt
11, -C, –directory=DIR
更改目录到 DIR

例如:
提取文件到另外一个目录

# tar -xvf file.tar -C /root/TAR2
file1.txt
file2.txt
# cd -
/root/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
12, -p, –preserve-permissions
抽取文件时保留原有的文件权限

压缩归档文件,使用 BZIP 和 GZIP 两种方法

跟压缩相关的参数

13, -j, –bzip2
使用 bzip2 对归档进行压缩

示例:

# tar -jcf file.tar.bz file2.txt file1.txt
# 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 压缩归档

示例:

# tar -zcf file.tar.gz file2.txt file1.txt
# 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
就这些了!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值