linux命令文件为tar
linux命令文件为tar详细介绍
在 Linux 中,tar 是一个常用的文件打包和压缩命令,主要用于将多个文件或目录打包成一个归档文件(tarball),并可结合压缩工具(如 gzip、bzip2、xz 等)进行压缩。以下是 tar 命令的核心用法和常见示例:
基本语法
bash
选项 归档文件名 文件或目录列表
常用选项
| 选项 | 描述 |
|---|---|
| -c | 创建一个新的归档文件(Create) |
| -x | 从归档文件中提取文件(Extract) |
| -t | 查看归档文件内容(List) |
| -z | 调用 gzip 压缩 / 解压缩(对应扩展名 .tar.gz 或 .tgz) |
| -j | 调用 bzip2 压缩 / 解压缩(对应扩展名 .tar.bz2) |
| -J | 调用 xz 压缩 / 解压缩(对应扩展名 .tar.xz) |
| -v | 显示详细操作过程(Verbose,显示正在处理的文件) |
| -f | 指定归档文件名(File,必须紧跟文件名,且通常放在所有选项之后) |
| -C | 解压时指定目标目录(Change directory) |
| --exclude | 排除指定文件或目录(如 --exclude="*.log") |
| -p | 保留文件权限(Preserve permissions) |
| -P | 保留绝对路径(默认会移除路径开头的 /,谨慎使用,可能有安全风险) |
常见使用场景
1. 打包并压缩文件 / 目录
- 使用 gzip 压缩(.tar.gz)
bash归档名.tar.gz 文件/目录1 文件/目录2 .project.tar.gz project/
- 使用 bzip2 压缩(.tar.bz2)
bash归档名.tar.bz2 文件/目录1 文件/目录2 . - 使用 xz 压缩(.tar.xz)
bash归档名.tar.xz 文件/目录1 文件/目录2 .
2. 解压归档文件
- 解压 .tar.gz 文件
bash归档名.tar.gz -C 目标目录project.tar.gz
project.tar.gz /opt/
- 解压 .tar.bz2 文件
bash归档名.tar.bz2 - 解压 .tar.xz 文件
bash归档名.tar.xz
3. 查看归档内容
bash
归档名.tar.gz归档名.tar.bz2
归档名.tar.xz
4. 打包时排除特定文件 / 目录
bash
归档名.tar.gz 目标文件/目录project.tar.gz project/
5. 仅打包不压缩(生成 .tar 文件)
bash
归档名.tar 文件/目录1 文件/目录2 .
注意事项
- 选项顺序:
-f选项必须紧跟文件名,且通常放在所有选项之后(如-zcvf而非-fzvc)。 - 路径处理:默认会以相对路径打包,解压时会在当前目录重建目录结构;若需指定绝对路径,可使用
-P,但可能导致权限问题。 - 压缩效率:压缩比:xz > bzip2 > gzip;压缩速度:gzip > bzip2 > xz,根据需求选择合适的压缩方式。
- 增量备份:可结合
--append选项向已有归档中添加文件(谨慎使用,可能影响一致性)。
总结
tar 是 Linux 下文件归档的核心工具,掌握 -c(创建)、-x(解压)、-t(查看)与压缩选项(-z/-j/-J)的组合,即可应对大部分文件打包和解压需求。实际使用时,根据压缩格式选择对应选项,并注意路径和权限的处理。