1 介绍

最早的Linux备份介质是磁带,使用的命令是tar 可以对打包后磁带文件进行压缩储存,压缩的命令是gzip和bzip2 经常使用的扩展名是 .tar.gz .tar.bz2 .tgz

2 打包

tar打包命令 常用参数: c 打包 x 解包 f 指定操作类型为文件 linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包。 tar包文件的命令通常都是以.tar结尾的。生成tar包后,就可以用其它的程序来进行压缩。

命令:tar cf 打包后命名 哪个目录打包

user1@SC02ZRC4KMD6N /tmp % tar cf /tmp/etc-backup.tar /etc 
tar: Removing leading '/' from member names
user1@SC02ZRC4KMD6N /tmp % ls -lh /tmp/etc-backup.tar
-rw-r--r--  1 user1  wheel   3.5K  3 12 09:53 /tmp/etc-backup.tar 

3 压缩

压缩的命令是gzip和bzip2,但是tar命令集成了压缩功能,可以在打包的同时进行压缩: 一般为了区分打包和打包压缩,会用.tar.gz后缀来表示已经压缩了 压缩成 .tar.gz

user1@SC02ZRC4KMD6N /tmp % tar czf /tmp/etc-backup.tar.gz /etc
tar: Removing leading '/' from member names

压缩成 .tar.bz2

user1@SC02ZRC4KMD6N /tmp % tar cjf /tmp/etc-backup.tar.bz2 /etc
tar: Removing leading '/' from member names

下面比较一下两种压缩方式: .bz2和.gz都是linux下压缩文件的格式,有点类似windows下的.zip和.rar文件. .bz2和.gz的区别在于,前者比后者压缩率更高,后者比前者花费更少的时间.也就是说同一个文件,压缩后,.bz2文件比.gz文件更小,但 是.bz2文件的小是以花费更多的时间为代价的.

user1@SC02ZRC4KMD6N /tmp % ls -lh /tmp/etc-backup.tar*
-rw-r--r--  1 user1  wheel   3.5K  3 12 09:53 /tmp/etc-backup.tar
-rw-r--r--  1 user1  wheel   332B  3 12 10:06 /tmp/etc-backup.tar.bz2
-rw-r--r--  1 user1  wheel   298B  3 12 09:59 /tmp/etc-backup.tar.gz
user1@SC02ZRC4KMD6N shell_practice % ls -lh
total 281560
drwxr-xr-x  8 user1  staff   256B  3 14 11:35 PycharmProjects
-rw-r--r--  1 user1  staff    88M  3 14 11:39 PycharmProjects.tar
-rw-r--r--  1 user1  staff    16M  3 14 11:41 PycharmProjects.tar.bzip2
-rw-r--r--  1 user1  staff    21M  3 14 11:41 PycharmProjects.tar.gz
-rw-r--r--  1 user1  staff     0B  3 14 11:26 aaa

4 解压

(1)将.tar文件解包:tar xf + xx.tar

user1@SC02ZRC4KMD6N shell_practice % tar xf PycharmProjects.tar 
user1@SC02ZRC4KMD6N shell_practice % 

(2)将.tar文件解包:tar xrf+ xx.tar.gz (3)将.tar文件解包:tar xjf + xx.tar.bz2