一、tar 命令概述
tar 命令语法如下:
# tar <选项> <文件>
讯享网
下面详细介绍 tar 命令的选项。
tar 命令选项划分成不同的操作,其中包括一般选项和压缩选项。下表列出了常用选项、选项的长版本及说明:
tar 操作选项
tar 命令需要以下三个选项之一:
| 选项 | 描述 |
|---|---|
| - c 、-- create | 创建一个新存档 |
| - x、-- extract | 从现有存档提取 |
| - t 、-- list | 列出存档的目录 |
所选的 tar 一般选项
| 选项 | 描述 |
|---|---|
| - v 、-- verbose | 详细信息,显示存档或提取的文件有哪些 |
| - f、-- file= | 文件名,此选项必须后接要使用或创建的存档的文件名 |
| - p、-- preserve-permissions | 在提取存档是保留文件和目录的权限,而不去除umask |
tar 压缩选项
| 选项 | 描述 |
|---|---|
| - z 、-- gzip | 使用gzip压缩方式(.tar.gz) |
| - j、-- bzip2 | 使用bzip2压缩方式(.tar.bzip2), bzip2的压缩率通常比gzip高 |
| - J 、-- xz | 使用xz压缩方式(.tar.xz),xz的压缩率通常比bzip2更高 |
二、归档文件和目录
创建新归档语法:
讯享网create -cf 要创建的存档文件名 要添加到该归档文件的文件和目录列表
举例如下:
-- 将file1、 file2、 file3归档到 archive.tar # tar -cf archive.tar file1 file2 file3 --查看归档文件 # ls archive.tar
以上tar命令也可以使用长版本选项执行:
讯享网# tar --file=archive.tar --create file1 file2 file3
要使tar能够归档选定的文件,执行tar命令的用户必须要可以读取这些文件。
注意:
在创建tar存档之前,请先验证目录中没有其他存档与要创建的新存档名称相同。
tar命令将覆盖现有的存档而不是提供警告。
三、列出存档的内容
列出存档内容语法:
# tar -tf 存档名称
举例如下:
讯享网--查看 /root目录下归档文件etc.tar包含的内容 # tar -tf /root/etc.tar
四、从存档中提取文件
tar命令相对于当前目录提取文件,举例如下:
--将 /root/etc.tar文档中的文件恢复到/root/etcbackup目录 # mkdir /root/etcbackup # cd /root/etcbackup # tar -xf /root/etc.tar
说明:
tar存档通常应当提取到空目录中,以确保不会覆盖任何现有的文件。
当root提取存档时,tar命令会保留文件的原始用户和组所有权。
如果普通用户使用tar提取文件,文件所有权将属于从存档中提取文件的用户。
讯享网# tar -xpf /root/etc.tar
五、创建压缩存档
tar命令支持三种压缩方式:gzip、bzip2、xz ,下面将依次举例。
示例1:创建gzip压缩存档/root/etcbackup.tar.gz ,其内容来自host上的/etc目录
# tar -czf /root/etcbackup.tar.gz /etc
示例2:创建bzip2压缩存档/root/logbackup.tar.bz2 ,其内容来自host上的/var/log目录
讯享网# tar -cjf /root/logbackup.tar.bzip2 /var/log
示例3:创建xz压缩存档/root/sshbackup.tar.xz ,其内容来自host上的/etc/ssh目录
# tar -cJf /root/sshbackup.tar.xz /etc/ssh
六、提取压缩的存档
示例1:将gzip压缩存档/root/etcbackup.tar.gz 的内容提取到/tmp/etcbackup目录
讯享网# mkdir /tmp/etcbackup # cd /tmp/etcbackup # tar -xzf /root/etcbackup.tar.gz /etc
示例2:将bzip2压缩存档/root/logbackup.tar.bz2 的内容提取到/tmp/logbackup目录
# mkdir /tmp/logbackup # cd /tmp/logbackup # tar -xjf /root/logbackup.tar.bzip2 /tmp/logbackup
示例3:将xz压缩存档/root/sshbackup.tar.xz 的内容提取到/tmp/sshbackup目录
讯享网# tar -xJf /root/sshbackup.tar.xz /tmp/sshbackup
七、单个文档的压缩与解压缩
gzip、bzip2、xz可单独用于压缩单个文件,举例如下:
--以gzip方式压缩文件etc.tar,会生成压缩文件 etc.tar.gz # gzip etc.tar --以bzip2方式压缩文件abc.tar,会生成压缩文件 abc.tar.bz2 # bzip2 abc.tar --以xz方式压缩文件log.tar,会生成压缩文件 log.tar.xz # xz log.tar
对应的解压缩命令如下:
讯享网-- 将生成解压缩文件etc.tar # gunzip etc.tar.gz --将生成解压缩文件abc.tar # bunzip2 abc.tar.bz2 --将生成解压缩文件 log.tar # unxz log.tar.zx

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/70757.html