tar
解压 ,打包
语法:tar [主选项+辅选项] 文件或者目录
使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。
主选项:
c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。相当于打包。
x 从档案文件中释放文件。相当于拆包。
t 列出档案文件的内容,查看已经备份了哪些文件。
特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!因为不可能同时压缩与解压缩。
辅助选项:
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩或解压? 一般格式为xx.tar.gz或xx. tgz
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩或解压?一般格式为xx.tar.bz2
-v :压缩的过程中显示文件!这个常用
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加其他参数!
-p :使用原文件的原来属性(属性不会依据使用者而变)
好了好了,解析就写这么多吧。注意它就是个打包命令 ,除了打包还能解压
范例一:将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar
[root@linux ~]# tar -cvf /tmp/etc.tar /etc <==仅打包,不压缩!
[root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc <==打包后,以 gzip 压缩,一般都是使用这个
/tmp/etc.tar.gz 就是我们打包后的目标位置 以及 打包后的文件名
那么我们如何查看刚刚打包好的文件里面的文件呢?一下就是
[root@linux ~]# tar -ztvf /tmp/etc.tar.gz
由於我们使用 gzip 压缩,所以要查阅该 tar file 内的文件时,就得要加上 z 这个参数了!这很重要的!
范例二:解压 ,此处我们把文件解压到/home下 ,注意这里是直接解压
[root@linux ~]# cd /home
[root@linux src]# tar -zxvf /tmp/etc.tar.gz
其实这里的不同的操作 都是c ,x , t 在变
如果我想解压到指定的目录又怎样呢,这里我们演示 指定解压到home目录里
tar -zxvf etc.tar.gz -C /home
范例三:那如果我们只想解压 压缩包里面其中一个目录出来,怎么办呢?
website中有themes ,image
tar -xvpf website.tar.gz ./website/image
gzip
1.最简单的例子
gzip test.txt
运行后你会发现源文件不见了。只留下 test.txt.gz
2.指定目录
gzip -c test.txt > /root/test.gz
这样不但可以将原有的文件保留,而且可以将压缩包放到任何目录中,
3.压缩比最高 去压缩
gzip -9 test.txt
-1也可以换成–fast;-9表示压缩比高,但速度最慢,-9也可以用–best代替
这个一般用在备份sql
/usr/local/mysql/bin/mysqldump -d $MYSQLDB | gzip -9 > ${BAKDIR}/db.sql.gz
4.解压缩
gzip -d test.gz
几种格式 tar tar.gz ,gz之间的分别
tar 是用tar命令 打包后的后缀 一般是 tar -cvf test.tar test.txt (仅打包,不压缩)
tar.gz 就是在上面命令的基础上再加gzip压缩 一般用得是 tar -zcvf test.tar.gz (打包和压缩)
gz 就是直接用gzip压缩后的文件 gzip test.txt
所以说tar本身并没有压缩的功能 只有归档,加了z参数就能使用gzip进行压缩。