- 打包: 将一大堆文件或目录变成一个总的文件;
- 压缩: 将一个大的文件,通过一些压缩算法,变成一个体积较小的文件。
- Linux中很多压缩程序只能针对一个文件进行压缩,所以需要区分打包&压缩这两个概念。
一、打包文件
tar Tape ARchive(磁带归档)(tar的选项可以省略‘-’)
-c --creat Creat a new archive(打包)
-x --extract --get Extract files from an archive(解包:从打包好的归档文件中提取文件)
-C --directory Change to DIRECTORY before performing any operations.(解压到指定目录)This option is order-sensitive, i.e. it affects all options that follow.
-v --verbose 显示命令的执行过程
-f --file use archive file or device ARCHIVE.(指定归档文件的文件名)
-w --interactive --confirmation ask for confirmation for every action.
-t --list List the contents of an archive (tar -tf FILE.tar.gz)
-r --append Apppend files to the end of archive
--delete Delete from the archive. The arguments supply names of the archive members to be removed
-z --gzip --gunzip --ungzip Filter the archive through gzip (tar -czvf FILE.tar.gz FILE)
-j --bzip2 Filter the archive through bzip2(tar -cjvf FILE.tar.bz2 FILE)
二、压缩文件
gzip compress or expand files
-d --decompress --uncompress Decompress
```
在默认情况下,gzip命令会给被压缩的文件加上一个“.gz”扩展名
解压时需要保证解压的文件有合适的扩展名:
.gz、-gz、.Z、.z、-z、z
```
-l --list for each compressed fils, list the following fields:
```
compressed size
uncompressed size
ratio
uncompressed_name
```
-t --test check the compressed file integrity
-v --verbose display the name and percentage reduction for each file compressed or decompressed
-r --recursive
- NOTE:
- tar 命令不会删除原来的文件
- gzip 命令会删除原来的文件
- 所以使用“tar -czf FILE.tar.gz FILE”时,因为在最后调用了gzip命令,所以只会生成一个FILE.tar.gz,而FILE.tar则已经被gzip删除。
- 但是在解压缩时:
- 如果使用gzip -d或gunzip命令,则会删除.gz文件保留.tar文件;
- 如果使用tar -xzvf命令,则会保留.gz文件。
- 完成压缩后,tar命令可以通过 -tf 查看压缩归档文件的内容,但无法更新压缩归档文件。
三、备份文件系统
dump # 增量备份
restore # 恢复
rdump # 远程增量备份
rrestore # 远程恢复