归档
归档就是将多个文件(包括目录,一切皆文件)打包成一个文件。
归档并不对文件进行压缩。其原理很简单,就是将多个文件前后连接在一起,形成一个大文件。
另外还会额外的添加一些信息,所以归档后的总文件的体积,反而比归档的所以文件之和要大一些。
· 命令:tar
type archive。一个古老的命令,其最初的目的是用于将文件备份到磁带上。
· 常用选项
-c
create。创建打包文件,一般与-f选项一起连用。
-f
指定要创建的打包文件名。其后可以跟两个参数:tar -vf 参数1 参数2 (-f选项必须放在所以选项中的最后)
参数1是要归档后总的文件名,参数2是要打包的一批文件名,之间用空格隔开。
建议归档后的文件名以tar作为后缀。
[root@hanaii ~]# tar -cf all.tar 1 a [root@hanaii ~]# ls -al total 166132 drwxr-xr-x 2 root root 4096 Sep 13 16:46 1 -rw-r--r-- 1 root root 11 Sep 13 16:42 a -rw-r--r-- 1 root root 10240 Sep 13 16:46 all.tar
-t
list。与-f选项连用,查看归档文件中的所有文件名。
[root@hanaii ~]# tar -tf all.tar a 1/ 1/b
-- delete
与-f选项连用。--delete 后跟包中想要删除的文件名。(当文件名为目录时,目录下的所以文件一起被删除)
[root@hanaii ~]# tar -f all.tar --delete 1 [root@hanaii ~]# tar -tf all.tar a
与-f选项连用。
- r :与-f选项连用。追加新文件。
- x:与-f选项连用。解包
- C:指定解包目录。
[root@hanaii ~]# tar -xf b.tar -C 1 [root@hanaii ~]# cd 1 [root@hanaii 1]# ls -al total 8 drwxr-xr-x 2 root root 4096 Sep 13 17:18 . dr-xr-x---. 7 root root 4096 Sep 13 17:13 .. -rw-r--r-- 1 root root 0 Sep 13 17:09 b
压缩之gzip
Linux中的文件压缩命令有多种,其中最常用的命令就是gzip。
· 命令:gzip
把要压缩的文件跟在命令后面即可。
压缩后的文件将替换源文件,gzip自动为压缩文件添加了“.gz”后缀名。
解压:-d
解压后的文件会替换压缩文件
压缩比
gzip命令还可以调节压缩比,这个功能通过一个数字选项实现。
数字选项可以是1到9中之间的任意整数。
1表示最低压缩比,也即压缩后的文件最大,但压缩过程最快。
9则表示高压缩比,也即压缩后的文件最小,但压缩过程最慢。
缺省为6
· gzip存在的问题
gzip能够提供高效的压缩,但gzip不提供打包功能。
也就是说gzip只能够单个地压缩文件,而不能将多个文件或者整个目录压缩到一个文件中。
因此 gzip命令往往要和tar命令一起联用,用tar先打包,然后用gzip压缩。
反过来则要用gzip先解压,然后用tar解包。
打包压缩
解压解包
· tar与gzip的结合
tar命令中还提供了特殊选项,可以调用gzip命令。让打包压缩和解压解包一气呵成。
-z选项
打包压缩
在正常打包命令中,添加一个–z选项即可。
建议压缩文件名的后缀为.tar.gz。
解压缩和解包
解压缩和解包也是在正常的解包,命令中添加一个-z选项即可。