Tar是一种Unix/Linux下的打包工具,可以将多个文件或目录打包成一个文件。在Linux中,tar的全称为“tape archive”,即磁带归档,它最初是用来备份磁带的。随着时间的推移,tar已经成为了一种非常常见的文件打包工具,尤其在Linux系统中,tar的使用非常广泛。
### 基本语法
tar的基本语法如下:
```
tar [option] [file or directory]
```
其中,option是tar的选项参数,file or directory是要打包的文件或目录。
### 常用选项
- `-c`:创建新的打包文件;
- `-x`:解压打包文件;
- `-v`:显示详细信息;
- `-f`:指定打包文件名;
- `-z`:使用gzip压缩;
- `-j`:使用bzip2压缩;
- `-C`:切换到指定目录。
### 打包文件
我们可以使用tar将多个文件或目录打包成一个文件。例如,我们要将目录/home/user1下的所有文件打包成一个名为backup.tar的文件,可以使用以下命令:
```
tar -cvf backup.tar /home/user1
```
其中,`-c`表示创建新的打包文件,`-v`表示显示详细信息,`-f`表示指定打包文件名。
### 解压文件
我们可以使用tar解压打包文件。例如,我们要将backup.tar解压到当前目录下,可以使用以下命令:
```
tar -xvf backup.tar
```
其中,`-x`表示解压打包文件,`-v`表示显示详细信息,`-f`表示指定打包文件名。
### 压缩文件
我们可以使用tar将打包文件压缩成gzip或bzip2格式。例如,我们要将backup.tar压缩成gzip格式的backup.tar.gz文件,可以使用以下命令:
```
tar -czvf backup.tar.gz backup.tar
```
其中,`-c`表示创建新的打包文件,`-z`表示使用gzip压缩,`-v`表示显示详细信息,`-f`表示指定打包文件名。
同理,我们也可以将打包文件压缩成bzip2格式的backup.tar.bz2文件,使用以下命令:
```
tar -cjvf backup.tar.bz2 backup.tar
```
其中,`-c`表示创建新的打包文件,`-j`表示使用bzip2压缩,`-v`表示显示详细信息,`-f`表示指定打包文件名。
### 切换目录
我们可以使用tar将打包文件中的文件解压到指定目录下。例如,我们要将backup.tar解压到目录/tmp下,可以使用以下命令:
```
tar -xvf backup.tar -C /tmp
```
其中,`-x`表示解压打包文件,`-v`表示显示详细信息,`-f`表示指定打包文件名,`-C`表示切换到指定目录。
### 总结
通过上述介绍,我们可以看出tar的使用非常简单,而且它具有压缩、打包、解压等多种功能,非常适合用来备份和传输文件。在实际使用中,我们可以根据需要选择不同的选项参数来使用tar,从而达到更好的效果。