tar 是 Linux 和类 Unix 系统中用于文件打包、压缩和解压的强大工具。下面为你详细介绍它的用法。
🖥️ 基本语法
tar 命令的基本格式如下:
| |
🧩 主要选项和功能
tar 的选项繁多,但其核心功能围绕创建、查看、提取和管理归档文件。
| 选项 | 功能描述 | 示例 |
|---|---|---|
-c | 创建新的归档文件 | tar -cvf archive.tar file1.txt dir1/ |
-x | 从归档中提取文件 | tar -xvf archive.tar |
-t | 列出归档中的文件列表 | tar -tvf archive.tar |
-r | 向已有归档追加文件 | tar -rvf archive.tar new_file.txt |
-u | 仅追加比归档内更新的文件 | tar -uvf archive.tar updated_file.txt |
-f | 指定归档文件名(通常必须) | tar -cvf my_backup.tar /my/data/ |
-v | 显示详细处理过程(verbose) | tar -xzvf backup.tar.gz |
-z | 通过 gzip 过滤归档(处理 .tar.gz) | tar -czvf log_backup.tar.gz /var/log/ |
-j | 通过 bzip2 过滤归档(处理 .tar.bz2) | tar -cjvf photos.tar.bz2 /home/user/Pictures/ |
-J | 通过 xz 过滤归档(处理 .tar.xz) | tar -cJvf archive.tar.xz large_file.iso |
-C | 解压时切换到指定目录 | tar -xzvf source_code.tar.gz -C /build/ |
--exclude | 打包时排除匹配模式的文件 | tar -czvf project.tar.gz --exclude='*.tmp' src/ |
-p | 保留文件的原始权限和属性 | tar -cpvf etc_backup.tar /etc/ |
📦 常见用法示例
1. 创建归档文件
- 仅打包不压缩:
1tar -cvf archive_name.tar /path/to/file_or_directory - 打包并用 gzip 压缩(生成
.tar.gz或.tgz):1tar -czvf archive_name.tar.gz /path/to/file_or_directory - 打包并用 bzip2 压缩(生成
.tar.bz2):1tar -cjvf archive_name.tar.bz2 /path/to/file_or_directory - 打包并用 xz 压缩(生成
.tar.xz):1tar -cJvf archive_name.tar.xz /path/to/file_or_directory
2. 提取归档文件
- 解压 .tar 文件:
1tar -xvf archive_name.tar - 解压 .tar.gz 文件:
1tar -xzvf archive_name.tar.gz - 解压 .tar.bz2 文件:
1tar -xjvf archive_name.tar.bz2 - 解压到指定目录:
1tar -xzvf archive_name.tar.gz -C /path/to/target_directory
3. 查看归档内容
- 列出归档内的文件(不解压):
1tar -tvf archive_name.tar1tar -tzvf archive_name.tar.gz # 查看.gz归档
4. 其他实用操作
- 从归档中提取单个文件:
1tar -xvf archive_name.tar path/to/specific_file - 打包时排除特定文件或目录:
1tar -czvf backup.tar.gz --exclude='*.log' --exclude='tmp/' /path/to/directory - 仅打包目录内容(不包含目录本身):
1tar -czvf contents.tar.gz -C /path/to/directory .
💡 高级技巧与注意事项
-f选项必须后接文件名:并且它通常是参数序列中的最后一个选项。- 理解绝对路径与相对路径:使用绝对路径(如
/home/user/data)打包时,解压后也会创建同样的绝对路径结构。为避免潜在风险,通常建议先cd到目标目录的父目录,再用相对路径打包。 - 保留权限:备份系统重要文件(如
/etc)时,建议加上-p选项以保留文件原有的权限和属性。 - 压缩格式选择:不同的压缩格式在压缩率和速度上各有权衡,可根据需要选择:
压缩格式 后缀 对应参数 特点 适用场景 gzip .tar.gz,.tgz-z压缩速度较快,压缩率中等 日常使用,平衡速度与压缩率 bzip2 .tar.bz2-j压缩率较高,速度较慢 对压缩率要求较高时 xz .tar.xz-J压缩率最高,速度最慢 需要极致压缩,不介意时间 无压缩 .tar无 速度最快,仅打包 快速归档或后续处理
希望这些信息能帮助你更好地使用 tar 命令。
💬 评论