linux基本命令(1)--linux下的打包命令 -- tar 和gzip

发布于:2025-03-30 ⋅ 阅读:(25) ⋅ 点赞:(0)

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进行压缩。