如果你需要传输、备份、或者通过邮件发送一组文件,你可以使用一个存档(或打包)工具,如 tar,通常与gzip,bzip2,或 xz 等压缩工具配合使用。
您选择的压缩工具每一个都有自己不同的压缩速度和压缩率。这三种压缩工具,gzip是最古老和可以较小压缩的工具,bzip2提供经过改进的压缩,以及xz是最新的而且压缩最大。通常情况下,使用这些压缩工具压缩的文件的扩展名依次是.gz、.bz2或.xz。
命令 | 缩写 | 描述 |
–create | c | 创建一个tar归档 |
–concatenate | A | 添加tar归档到另外一个归档中 |
–append | r | 添加非tar归档到另外一个归档中 |
–update | u | 添加比归档中的文件更新的文件 |
–diff or –compare | d | 将归档中的文件和硬盘的文件进行对比 |
–list | t | 列举一个tar压缩包的内容 |
–extract or –get | x | 从归档中提取文件 |
操作参数 | 缩写 | 描述 |
—directory dir | C | 在执行操作前更改目录 |
—same-permissions and —same-owner | p | 分别保留权限和所有者信息 |
–verbose | v | 列举所有读取或提取的文件,如果和 --list 参数一起使用,也会显示文件的大小、所有权和时间戳 |
—exclude file | — | 从存档中排除文件。在这种情况下,文件可以是一个实际的文件或匹配模式。 |
—gzip or —gunzip | z | 使用gzip压缩归档 |
–bzip2 | j | 使用bzip2压缩归档 |
–xz | J | 使用xz压缩归档 |
例5:创建一个tar文件,然后使用三种压缩工具压缩
在决定使用这个还是那个工具之前,您可能想比较每个工具的压缩效率。请注意压缩小文件或几个文件,结果可能不会有太大的差异,但可能会给你看出它们的差异。
# tar cf ApacheLogs-$(date +%Y%m%d).tar /var/log/httpd/* # Create an ordinary tarball
# tar czf ApacheLogs-$(date +%Y%m%d).tar.gz /var/log/httpd/* # Create a tarball and compress with gzip
# tar cjf ApacheLogs-$(date +%Y%m%d).tar.bz2 /var/log/httpd/* # Create a tarball and compress with bzip2
# tar cJf ApacheLogs-$(date +%Y%m%d).tar.xz /var/log/httpd/* # Create a tarball and compress with xz
tar 命令实例
例6:归档时同时保存原始权限和所有权
如果你正在从用户的主目录创建备份,你需要要存储的个人文件与原始权限和所有权,而不是通过改变它们的用户帐户或守护进程来执行备份。下面的命令可以在归档时保留文件属性。
# tar cJf ApacheLogs-$(date +%Y%m%d).tar.xz /var/log/httpd/* --same-permissions --same-owner
![]() | ![]() .. 定价:¥45 优惠价:¥42 更多书籍 |
![]() | ![]() .. 定价:¥225 优惠价:¥213 更多书籍 |