tar 概述
`tar` 最初是为了将文件归档到磁带中而创建,但现在主要用于将文件打包到磁盘上。`tar` 本身没有压缩功能,但通常与 `gzip`、`bzip2`、`xz` 等压缩工具一起使用,以生成 `.tar.gz`、`.tar.bz2`、`.tar.xz` 等压缩档案文件。这些文件通常被称为 'tarball'。
tar 的主要角色
`tar` 命令主要用于以下目的:
主要应用领域
- 备份: 将重要文件或目录打包成一个档案文件以进行备份。
- 文件打包: 将多个文件打包在一起,以便于管理或传输。
- 软件分发: 以压缩的 tarball 形式分发源代码或应用程序。
- 压缩和解压缩: 与多种压缩算法(gzip、bzip2、xz)集成,执行压缩和解压缩功能。
tarball 文件格式
`tar` 打包文件并使用压缩工具压缩后,会生成以下扩展名的文件:
常见的 Tarball 扩展名
- `.tar`: 未压缩的档案文件
- `.tar.gz` 或 `.tgz`: `tar` 打包并使用 `gzip` 压缩的文件
- `.tar.bz2` 或 `.tbz`: `tar` 打包并使用 `bzip2` 压缩的文件
- `.tar.xz` 或 `.txz`: `tar` 打包并使用 `xz` 压缩的文件
主要 tar 命令选项
`tar` 命令提供了多种选项,用于打包文件、压缩、解压缩和查看档案内容。这些选项可以组合使用。
1. 基本操作模式(必需指定)
2. 指定压缩方式
3. 其他常用选项
生成的命令:
請試著組合命令。
這個 Django 應用程序是一個技術指南文檔,旨在為用戶輕鬆解釋 Linux 的各種命令。
`tar` 執行命令。
請將上述選項組合在一起,與 AI 一同虛擬執行命令。
使用示例
通过 `tar` 命令的各种应用示例,学习如何有效地归档、压缩和管理文件及目录。
压缩目录 (gzip)
tar -czvf my_project.tar.gz my_project/
`my_project` 目录及其所有内容打包成 `my_project.tar.gz` 文件并用 `gzip` 压缩。 `-c`: 创建,`-z`: gzip,`-v`: 详细,`-f`: 指定文件。
解压 tar.gz 文件
tar -xzvf my_project.tar.gz
`my_project.tar.gz` 文件解压到当前目录。 `-x`: 解压,`-z`: gzip,`-v`: 详细,`-f`: 指定文件。
解压 tar.gz 文件(到指定目录)
mkdir -p /tmp/extracted_project
tar -xzvf my_project.tar.gz -C /tmp/extracted_project
`my_project.tar.gz` 文件解压到 `/tmp/extracted_project` 目录。使用 `-C` 选项指定目标目录。
生成和解压 tar.bz2 文件
tar -cjvf documents.tar.bz2 documents/
tar -xjvf documents.tar.bz2
`documents` 目录用 `bzip2` 压缩生成 `documents.tar.bz2`,然后再解压它。
生成和解压 tar.xz 文件
tar -cJvf logs.tar.xz logs/
tar -xJvf logs.tar.xz
`logs` 目录用 `xz` 压缩生成 `logs.tar.xz`,然后再解压它。`xz` 提供最高的压缩率。
仅查看档案文件内容列表
tar -tzvf backup.tar.gz
查看 `backup.tar.gz` 文件的内容而不实际解压,了解包含哪些文件和目录。
仅提取特定文件
tar -xzvf web_backup.tar.gz web_data/index.html
从 `web_backup.tar.gz` 中提取 `index.html` 文件到当前目录。