tar 的常用命令
tar
是一个在 Linux 和其他类 Unix 系统上用于创建、解压和管理归档文件的命令。tar
文件通常被称为 tarballs,其文件扩展名为 .tar
。在实际使用中,tar
通常与压缩工具结合使用,例如 gzip
(扩展名 .gz
)或 bzip2
(扩展名 .bz2
),以减少文件大小。
以下是 tar
命令的一些常用选项和示例:
基本选项
-c
:创建新的归档文件。-x
:从归档文件中提取文件。-t
:列出归档文件的内容。-v
:显示详细信息(verbose),在处理文件时打印文件名。-f
:指定归档文件的名称。-z
:使用gzip
压缩或解压。-j
:使用bzip2
压缩或解压。-J
:使用xz
压缩或解压。-C<目的目录>或--directory=<目的目录>
:切换到指定的目录。-k或--keep-old-files
:解开备份文件时,不覆盖已有的文件。
创建 tar 归档
# 创建未压缩的 tar 归档
tar -cvf archive.tar /path/to/directory
# 创建使用 gzip 压缩的 tar 归档
tar -cvzf archive.tar.gz /path/to/directory
# 创建使用 bzip2 压缩的 tar 归档
tar -cvjf archive.tar.bz2 /path/to/directory
# 创建使用 xz 压缩的 tar 归档
tar -cvJf archive.tar.xz /path/to/directory
提取 tar 归档
# 提取未压缩的 tar 归档
tar -xvf archive.tar
# 提取使用 gzip 压缩的 tar 归档
tar -xvzf archive.tar.gz
# 提取使用 bzip2 压缩的 tar 归档
tar -xvjf archive.tar.bz2
# 提取使用 xz 压缩的 tar 归档
tar -xvJf archive.tar.xz
列出 tar 归档的内容
# 列出未压缩的 tar 归档内容
tar -tvf archive.tar
# 列出使用 gzip 压缩的 tar 归档内容
tar -tvzf archive.tar.gz
# 列出使用 bzip2 压缩的 tar 归档内容
tar -tvjf archive.tar.bz2
# 列出使用 xz 压缩的 tar 归档内容
tar -tvJf archive.tar.xz
其他常用选项
-
-C
:更改到指定目录以进行操作。例如,提取到特定目录:tar -xvzf archive.tar.gz -C /target/directory
-
--exclude
:在创建归档时排除指定的文件或目录。例如:tar -cvzf archive.tar.gz /path/to/directory --exclude=/path/to/directory/exclude
-
-p
:保留文件权限。 -
--remove-files
:在归档后删除源文件。tar -cvf archive.tar /path/to/files --remove-files
示例
创建一个压缩的 tarball,并排除特定的目录:
tar -cvzf backup.tar.gz /home/user --exclude=/home/user/temp
提取 tarball 到指定的目录,并保留文件权限:
tar -xvzpf backup.tar.gz -C /restore/location