Linux 常用命令 - 打包、压缩、解压缩

通过本文学习 Linux 常用命令 - 打包、压缩、解压缩:tar 。

名词区分

  • 打包:将一大堆文件或目录变成一个总的文件( tar 命令)
  • 压缩:将一个大的文件通过一些压缩算法变成一个小文件( gzip,bzip2 等)

Linux 中很多压缩程序只能针对一个文件进行压缩,因此当你想要压缩一大堆文件时,你得将这一大堆文件先打成一个包( tar 命令),然后再用压缩程序进行压缩( gzip,bzip2 命令)。

习惯上以 .tar 后缀代表 tar 包,用 xxx.tar.gz 或 .tgz 代表 gzip 压缩过的 tar 文件,用 .tar.bz2 代表 bzip2 压缩过的 tar 文件。

语法

  • tar [主选项 + 辅选项] 文件或目录

使用该命令时,主选项必须有,且仅有一个,如:tar -xzvf mysql-5.6.42-linux2.6-x86_64.tar.gz

主选项

使用该命令时,主选项必须有,且仅有一个。

  • -c: 新建一个压缩文档,即打包
  • -x: 解压文件
  • -t: 查看压缩文档里的所有内容
  • -r: 向压缩文档里追加文件
  • -u: 更新原压缩包中的文件

辅助选项

  • -z:具有 gzip 属性,一般格式为 xxx.tar.gz 或 xx.tgz
  • -j:具有 bzip2 属性,一般格式为 xx.tar.bz2
  • -Z:具有 compress 属性, 一般格式为 xx.tar.Z
  • -v:显示操作过程
  • -f:使用文档名,在 f 之后要立即接文档名,不要再加其他参数
  • -C:打包 / 压缩时可将当前目录更改为指定的目录,详见下文

打包 / 压缩

  • tar -cvf img.tar img1 img2 –> 注:将当前目录下 img1 和 img2 两个文件夹打包成 img.tar ,仅打包不压缩
  • tar -czvf img.tar.gz img1 img2 –> 注:将当前目录下 img1 和 img2 两个文件夹打包成 img.tar.gz ,打包后,以 gzip 压缩
  • tar -cjvf img.tar.bz2 img1 img2 –> 注:将当前目录下 img1 和 img2 两个文件夹打包成 img.tar.bz2 ,打包后,以 bzip2 来压缩
  • tar -cvf img.tar -C /usr/local aaa –> 注:将当前目录改为 /usr/local ,并将 /usr/local 下的 aaa 目录打包到 img.tar

不解压的情况下查看

  • tar -tvf img.tar –> 注:查看当前目录下 img.tar 中的所有内容

解压

  • tar -xvf img.tar –> 注:将 img.tar 解压到当前目录
  • tar -xvf img.tar img1 –> 注:将 img.tar 解压到当前目录,但只减压 img.tar 中的 img1 文件夹
  • tar -xvf img.tar -C /usr/local –> 注:将当前目录改为 /usr/local ,并将 img.tar 解压到 /usr/local 目录

更新

  • tar -uvf img.tar img1 –> 注:将 img1 文件夹更新到 img.tar 中

追加

  • tar -rvf img.tar img3 –> 注:将 img3 文件夹追加到 img.tar 中

C 参数

-C dir 参数的作用在于改变工作目录,其有效期为该命令中下一次 -C dir 参数之前。

  • tar -cvf img.tar -C /usr/local aaa –> 注:将当前目录改为 /usr/local ,并将 /usr/local 下的 aaa 目录打包到 img.tar
  • tar -xvf img.tar -C /usr/local –> 注:将当前目录改为 /usr/local ,并将 img.tar 解压到 /usr/local 目录

解压方法总结

  • *.tar 用 tar –xvf 解压
  • *.gz 用 gzip -d 或者 gunzip 解压
  • .tar.gz 和.tgz 用 tar –xzf 解压
  • *.bz2 用 bzip2 -d 或者用 bunzip2 解压
  • *.tar.bz2 用 tar –xjf 解压
  • *.Z 用 uncompress 解压
  • *.tar.Z 用 tar –xZf 解压
  • *.rar 用 unrar x 解压,需先安装
  • *.zip 用 unzip 解压,需先安装

扫码关注微信公众号 程序员 35 ,获取最新技术干货,畅聊 #程序员的 35,35 的程序员# 。独立站点:https://cxy35.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值