Linux -- tar、gzip命令

本文详细介绍如何使用tar命令进行文件的打包和压缩,并演示了不同压缩格式(如gz、bz2和xz)的具体操作流程。此外,还介绍了如何解压文件及查看压缩文件内容的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

tar命令 ---- 主要用来打包和压缩(解压缩)文件。

只说说常用的吧,参数太多了,也记不住,有些也不常用。

1)gz和bz2是两种常见的压缩文件的格式,后缀是gz的表示gzip文件,后缀是bz2的表示bzip2文件

2)压缩常用:   - c  你可以理解为create是创建压缩文件,也可以理解为compress是压缩文件

                        - v  表示显示出压缩或解压的过程(verbose)

                        - z  表示指定压缩后的文件格式是gz格式

                        - j   表示指定压缩后的文件格式是bz2格式

                        -J   表示指定压缩后的文件格式是xz格式

下面就小试牛刀了:   

apuser@kdv:tar$ ls
apuser@kdv:tar$ touch my.txt
apuser@kdv:tar$ tar -cf my.tar my.txt 
apuser@kdv:tar$ ls -al
total 20
drwxr-xr-x 2 root kdvmt  4096 2021-03-03 17:52 .
drwxr-xr-x 5 root kdvmt  4096 2021-03-03 17:51 ..
-rw-r--r-- 1 root kdvmt 10240 2021-03-03 17:52 my.tar
-rw-r--r-- 1 root kdvmt     0 2021-03-03 17:52 my.txt

----1)压缩为tar.gz包

apuser@kdv:tar$ tar -czf 1.tar.gz my.txt 
apueer@kdv:tar$ ls
1.tar.gz  my.tar  my.txt

apuser@kdv:tar$ tar -xzf 1.tar.gz -C ../

----2)压缩为tar.bz2包

apuser@kdv:tar$ tar -cjf 2.tar.bz2 my.txt 
apuser@kdv:tar$ ls
1.tar.gz  2.tar.bz2  my.tar  my.txt

----3)压缩为tar.xz包

apuser@kdv:tar$ tar -cJf 3.tar.xz my.txt 
apuser@kdv:tar$ ls
1.tar.gz  2.tar.bz2  3.tar.xz  my.tar  my.txt

里面没有用-v,下面展示一下带有参数-v和只打包不压缩的过程:

apuser@pc:~/share$ tar -cvf three.tar 123.txt
123.txt
apuser@pc:~/share$ ls
123.txt  global.tcl  one.tar.gz  three.tar  two.tar.bz2
apuser@pc:~/share$ tar -czvf 4.tar.gz 123.txt global.tcl 
123.txt
global.tcl
apuser@pc:~/share$ ls
123.txt  4.tar.gz  global.tcl  one.tar.gz  three.tar  two.tar.bz2

因为只是一个文件,所以打包的过程中列表就只有一个,若是两个文件,列表里就有两个,以此类推。

我们常常打包的是一个文件夹,所以-v会显示打包的细节,但是可能会很长,可以酌情使用。

3)解压常用:  - x  解开一个压缩文件

                       - z  对应gz压缩文件

                       - j   对应bz2压缩文件

                       - v  显示解压过程

                       -C  改变路径,多数只解压后重新存放的位置(change directory)

----1)mkdir新建一个文件夹one,将one.tar.gz解压到one文件夹中。

apuser@pc:~/share$ mkdir one
apuser@pc:~/share$ ls
123.txt  4.tar.gz  global.tcl  one  one.tar.gz  three.tar  two.tar.bz2
apuser@pc:~/share$ cd one
apuser@pc:~/share/one$ tar -xzf ../one.tar.gz 
apuser@pc:~/share/one$ ls
123.txt

----2)新建文件夹two,将two.tar.bz2解压到two文件夹中。

apuser@pc:~/share/one$ cd ..
apuser@pc:~/share$ mkdir two
apuser@pc:~/share$ ls
123.txt  4.tar.gz  global.tcl  one  one.tar.gz  three.tar  two  two.tar.bz2
apuser@pc:~/share$ cd two
apuser@pc:~/share/two$ tar -xjvf ../two.tar.bz2 
123.txt
apuser@pc:~/share/two$ ls
123.txt
/usr/bin/font # ls
ttf.tar.gz
/usr/bin/font # tar -xzvf ttf.tar.gz /usr/font/
tar: /usr/font: not found in archive
/usr/bin/font # tar -xzvf ttf.tar.gz -C /usr/font/
KDVUNI.TTF

----3)新建文件夹4,将4.tar.gz解压到名为4的文件夹中。

apuser@pc:~/share/two$ cd ..
apuser@pc:~/share$ mkdir 4
apuser@pc:~/share$ ls
123.txt  4  4.tar.gz  global.tcl  one  one.tar.gz  three.tar  two  two.tar.bz2
apuser@pc:~/share$ cd 4
apuser@pc:~/share/4$ tar -xzvf ../4.tar.gz 
123.txt
global.tcl

---- 4)其他常用参数

      -t  查看压缩包里的文件,比较重要,当你不想解压时,你想看到压缩包里都有哪些文件。

      -p 使用文件的原来属性

apuser@pc:~/share$ ls
123.txt  4  4.tar.gz  global.tcl  one  one.tar.gz  three.tar  two  two.tar.bz2
apuser@pc:~/share$ tar -tf three.tar
123.txt
apuser@pc:~/share$ tar -ztf one.tar.gz 
123.txt
apuser@pc:~/share$ tar -ztf 4.tar.gz 
123.txt
global.tcl
apuser@pc:~/share$ tar -jtf two.tar.bz2 
123.txt

 ---- gzip的压缩和解压

 gzip: 压缩和解压缩

-c : compress,如果不加重定向符号,会将压缩的内容输出到标准输出

-d:(decompress)解压缩

-v :(verbose)可以显示出原文件/压缩文件的压缩比等信息

-(1,2,...,9):压缩等级,1最快,但是压缩比最差;9最慢,但是压缩比最好,默认是6。

apuser@kdv:gzip$ ls
1.txt
apuser@kdv:gzip$ gzip -c 1.txt > 1.gz
apuser@kdv:gzip$ ls
1.gz  1.txt
apuser@kdv:gzip$ gzip -v 1.txt 
1.txt:	 -9.5% -- replaced with 1.txt.gz
apuser@kdv:gzip$ ls
1.gz  1.txt.gz
apuser@kdv:gzip$ gzip -d 1.txt.gz 
apuser@kdv:gzip$ ls
1.gz  1.txt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值