本文详细介绍了Linux系统中tar命令的基本使用方法和参数选项,是理解和掌握文件压缩与解压操作的基础教程。
Linux tar 压缩打包命令是 Linux 操作系统中的常用工具之一,用于创建、解压或查看 tar 文件。tar 可以将多个文件或者目录压缩成一个单独的文件,便于存储与传输。
参数解析:
- `-c`:此选项用来建立一个新的 tar 文件。
- `-x`:使用该选项可以解开已有的 tar 压缩包。
- `-t`:列出打包后的文件内容信息。
- `-z`:启用 gzip 压缩功能,使生成的文件为 .tar.gz 格式。
- `-j`:启用 bzip2 压缩方式,创建 .tar.bz2 文件格式。
- `-v`:显示处理过程中的详细信息(verbose)模式。
- `-f`:指明要操作的目标文件名,通常用于指定输入或输出的 tar 文件路径和名称。
- `-p`:保留原文件属性不变,在解包时保持原有的权限、时间戳等设置。
- `-P`:允许使用绝对路径来创建或提取 tar 包中的条目。
- `-N`:仅包含比给定日期更新的文件,用于增量备份场景。
- `--exclude FILE`:在打包过程中排除指定的文件。
示例:
1. 将整个 `/etc/` 目录压缩成一个名为 `tmpetc.tar` 的 tar 文件:
```
[root@linux ~]# tar -cvf tmpetc.tar etc
```
2. 创建 gzip 压缩版本的备份,将 `/etc/` 中的所有文件打包并保存为 `tmpetc.tar.gz`:
```
[root@linux ~]# tar -zcvf tmpetc.tar.gz /etc/
```
3. 查看 `tmpetc.tar.gz` 文件中的内容:
```
[root@linux ~]# tar -ztvf tmpetc.tar.gz
```
4. 将压缩包解压到 `/usr/local/src/` 目录下:
```
[root@linux ~]# cd /usr/local/src/
[root@linux src]# tar -zxvf ~/tmpetc.tar.gz
```
5. 仅从 `tmpetc.tar.gz` 文件中提取特定的文件,例如:`etcpasswd`:
```
[root@linux tmp]# tar -zxvf ~/tmp/etc/tmpetc.tar.gz /etcpasswd
```
6. 打包 `/etc/` 目录下的所有内容并保留原始权限信息:
```
[root@linux ~]# tar -zcvpf myfile.tar.gz /etc/
```
7. 将 `home` 文件夹中的文件打包成一个压缩包,但排除掉 `homedsmtsa` 子目录:
```
[root@linux ~]# tar --exclude homedmtsai -zcvf myfile.tar.gz home
```
8. 只备份2015年6月1日之后的 `/home/` 文件夹中的文件:
```
[root@linux ~]# tar -N 20150601 -zcvf home.tar.gz /home/
```