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