tar是tape archive的缩写,tape意思是拿绳子将东西捆绑在一起,好方便运输,archive原指一些历史文档,现在就是指文件了。所以,tape archive 是将文件捆绑到一块儿,那么tar是一个打包命令,配合上不同的参数,也可以在打包的同时进行压缩。
现在我们用它来打一个包。
tar -cvf my-package.tar /home/mosi/
这句话的意思是将目录/home/mosi/下的文件都打进一个叫my-package.tar的文件中去。
参数c是create的缩写,意思是创建一个文件my-package.tar
参数v 是Verbosely 的缩写,意思是在创建包的过程中会显示出哪些文件被打进了包里,如果文件很多,你就会看到屏幕哗啦啦的滚屏。如果你不想看这些,就不要这个参数。
参数 f 是指定一个要生成的文件名。
要我说啊,这个f参数真没必要有,多此一举,要是由我来设计这个命令的用法,我就设计成下面这样:
tar -c my-package.tar /home/mosi
甚至连-c也不用,像下面这样多简单
tar my-package.tar /home/mosi
言归正传,上面的tar只是用来打包,没有进行压缩,如果要压缩,只需要加个参数就可以了
加个z就会压缩成tar.gz,比如tar -cvfz my-package.tar.gz /home/mosi
加个j就会压缩成tar.bz2,比如tar -cvfj my-package.tar.bz2 /home/mos
解压缩就是将上面所有的c换成x, x就是取了extract这个单词的第二个字母。
tar -xvf my-package.tar
另外,bz2文件的压缩率要高于tgz,当然压缩过程也会更长。