Appearance
tar 命令:归档和压缩文件
1. 简介
tar
命令是 "tape archive" 的缩写,最初用于在磁带上创建档案。现在,它主要用于创建和操作归档文件,通常与压缩工具结合使用。tar
可以将多个文件和目录打包成一个文件,并可选择性地进行压缩。
2. 基本语法
bash
tar [选项] [归档文件名] [文件或目录...]
3. 常用选项
-c
:创建新的归档文件-x
:从归档文件中提取文件-v
:详细模式,显示处理的文件-f
:指定归档文件名-z
:使用 gzip 压缩-j
:使用 bzip2 压缩-t
:列出归档文件的内容-C
:切换到指定目录
4. 基础使用示例
创建 tar 归档:
bashtar -cvf archive.tar file1 file2 dir1
创建压缩的 tar 归档(.tar.gz):
bashtar -czvf archive.tar.gz dir1
解压 tar 归档:
bashtar -xvf archive.tar
解压 gzip 压缩的 tar 归档:
bashtar -xzvf archive.tar.gz
5. 进阶使用技巧
查看归档内容而不解压:
bashtar -tvf archive.tar
添加文件到已存在的归档:
bashtar -rvf archive.tar newfile
使用通配符:
bashtar -czvf archive.tar.gz *.txt
排除特定文件或目录:
bashtar -czvf archive.tar.gz --exclude='*.log' directory
6. 实用示例
备份整个目录:
bashtar -czvf backup-$(date +%F).tar.gz /path/to/directory
解压到指定目录:
bashtar -xzvf archive.tar.gz -C /target/directory
创建增量备份:
bashtar -czvf incremental.tar.gz --listed-incremental=snapshot.file directory
使用管道传输文件:
bashtar -cvf - files | ssh user@host "cd /target && tar -xvf -"
7. 注意事项
- 创建归档时要小心,避免无意中包含敏感文件。
- 解压之前,最好先查看归档内容,以防意外覆盖现有文件。
- 大文件的压缩和解压可能需要较长时间。
8. 相关命令
gzip
、gunzip
:用于 gzip 压缩和解压bzip2
、bunzip2
:用于 bzip2 压缩和解压zip
、unzip
:用于 ZIP 格式的压缩和解压7z
:7-Zip 压缩工具
9. 技巧与建议
使用进度条显示压缩进度:
bashtar -czf - directory | pv > archive.tar.gz
在解压前测试归档完整性:
bashtar -tzf archive.tar.gz
结合
find
命令使用:bashfind . -name "*.jpg" -print0 | tar -czvf images.tar.gz --null -T -
创建分卷压缩文件:
bashtar -czvf - directory | split -b 1G - archive.tar.gz.
tar
命令是 Linux 系统中最常用的归档和压缩工具之一。它不仅可以将多个文件和目录打包成一个文件,还可以与不同的压缩算法结合使用,创建各种压缩格式的归档文件。掌握 tar
命令对于文件备份、数据传输和系统管理都非常重要。通过灵活运用 tar
,你可以更有效地管理和传输大量文件和目录。