Linux tar压缩命令:打包与解打包命令
封面图
•
2026-01-02
•
Linux
255
0
0
0
在 Linux 中,`tar` 是一个非常常用的命令行工具,用于**打包(archive)和解包(extract)文件**。虽然 `tar` 本身不进行压缩,但它可以与常见的压缩工具(如 `gzip`、`bzip2`、`xz` 等)结合使用,实现**打包并压缩**的功能。 --- ## ✅ 一、基本概念 - **打包(Pack)**:将多个文件或目录合并为一个 `.tar` 文件。 - **压缩(Compress)**:对打包后的文件进行压缩,如 `.tar.gz`(gzip 压缩)、`.tar.bz2`(bzip2 压缩)等。 --- ## ✅ 二、常用 tar 命令 ### 1. 打包(仅打包,不压缩) ```bash tar -cvf filename.tar directory_or_file ``` - `-c`:创建新的归档文件。 - `-v`:显示打包过程。 - `-f`:指定归档文件名。 **示例:** ```bash tar -cvf myfiles.tar /path/to/directory ``` --- ### 2. 打包并用 gzip 压缩(生成 .tar.gz 文件) ```bash tar -czvf filename.tar.gz directory_or_file ``` - `-z`:使用 gzip 进行压缩。 **示例:** ```bash tar -czvf myfiles.tar.gz /path/to/directory ``` --- ### 3. 打包并用 bzip2 压缩(生成 .tar.bz2 文件) ```bash tar -cjvf filename.tar.bz2 directory_or_file ``` - `-j`:使用 bzip2 进行压缩。 **示例:** ```bash tar -cjvf myfiles.tar.bz2 /path/to/directory ``` --- ### 4. 打包并用 xz 压缩(生成 .tar.xz 文件) ```bash tar -cJvf filename.tar.xz directory_or_file ``` - `-J`:使用 xz 进行压缩。 **示例:** ```bash tar -cJvf myfiles.tar.xz /path/to/directory ``` --- ## ✅ 三、解包与解压 ### 1. 解包(仅解包,不压缩) ```bash tar -xvf filename.tar ``` - `-x`:解包。 **示例:** ```bash tar -xvf myfiles.tar ``` --- ### 2. 解压并解包(如 .tar.gz) ```bash tar -xzvf filename.tar.gz ``` - `-z`:使用 gzip 解压。 **示例:** ```bash tar -xzvf myfiles.tar.gz ``` --- ### 3. 解压并解包(如 .tar.bz2) ```bash tar -xjvf filename.tar.bz2 ``` - `-j`:使用 bzip2 解压。 **示例:** ```bash tar -xjvf myfiles.tar.bz2 ``` --- ### 4. 解压并解包(如 .tar.xz) ```bash tar -xJvf filename.tar.xz ``` - `-J`:使用 xz 解压。 **示例:** ```bash tar -xJvf myfiles.tar.xz ``` --- ## ✅ 四、其他常用选项 | 选项 | 说明 | |------|------| | `-C dir` | 解包到指定目录 | | `-r` | 追加文件到已有的 tar 包中 | | `-t` | 列出 tar 包中的内容 | | `--exclude=pattern` | 排除某些文件或目录 | **示例:列出 tar 包内容** ```bash tar -tvf myfiles.tar ``` **示例:排除某个文件** ```bash tar -czvf myfiles.tar.gz --exclude='*.log' /path/to/directory ``` --- ## ✅ 五、总结 | 功能 | 命令 | |------|------| | 打包 | `tar -cvf file.tar dir/` | | 打包并 gzip 压缩 | `tar -czvf file.tar.gz dir/` | | 打包并 bzip2 压缩 | `tar -cjvf file.tar.bz2 dir/` | | 打包并 xz 压缩 | `tar -cJvf file.tar.xz dir/` | | 解包 | `tar -xvf file.tar` | | 解压并解包(.tar.gz) | `tar -xzvf file.tar.gz` | | 解压并解包(.tar.bz2) | `tar -xjvf file.tar.bz2` | | 解压并解包(.tar.xz) | `tar -xJvf file.tar.xz` | --- 如果你有具体需求,比如“只打包某类文件”、“排除某些目录”等,也可以告诉我,我可以帮你写出更精确的命令。
上一篇:
GNU项目的重要性是什么?
下一篇:
什么叫 CC 攻击?什么叫 DDOS 攻击?
标题录入,一次不能超过6条
留言
评论