Linux命令——压缩

1. tar

在Linux操作系统中默认自带两个原始的压缩工具分别是 gzipbzip2, 但是它们都有先天的缺陷, 不能打包压缩文件, 每个文件都会生成一个单独的压缩包, 并且压缩之后不会保留原文件

Linux中自带一个打包工具,叫做tar, 默认情况下该工具是不能进行压缩操作的,在这种情况下tar和gzip, bzip2就联姻了, 各自发挥各自的优势, Linux下最强大的打包压缩工具至此诞生。

我们在使用tar进行压缩和解压缩的时候, 只需要指定相对应的参数, 在其内部就会调用对应的压缩工具gzip或者bzip2完成指定的操作。

  • 压缩(.tar.gz .tar.bz2 .tgz)

如果使用tar完成文件压缩, 涉及的参数如下, 在使用过程中参数没有先后顺序:

c: 创建压缩文件
z: 使用gzip的方式进行文件压缩
j: 使用bzip2的方式进行文件压缩
v: 压缩过程中显示压缩信息, 可以省略不写
f: 指定压缩包的名字

一般认为 .tgz 文件就等同于 .tar.gz 文件, 因此它们的压缩方式是相同的。

语法:tar 参数 生成的压缩包的名字 要压缩的文件(文件或者目录)

备注: 关于生成的压缩包的名字, 建议使用标准后缀, 方便识别:
    - 压缩使用 gzip 方式,  标准后缀格式为: .tar.gz
    - 压缩使用 bzip2 方式, 标准后缀格式为: .tar.bz2    

  • 解压缩(.tar.gz .tar.bz2 .tgz)

如果使用tar进行文件的解压缩, 涉及的参数如下, 在使用过程中参数没有先后顺序:

x: 释放压缩文件内容
z: 使用gzip的方式进行文件压缩, 压缩包后缀为.tar.gz
j: 使用bzip2的方式进行文件压缩, 压缩包后缀为.tar.bz2
v: 解压缩过程中显示解压缩信息
f: 指定压缩包的名字

使用以上参数是将压缩包解压到当前目录, 如果需要解压到指定目录, 需要指定参数 -C。 一般认为 .tgz 文件就等同于 .tar.gz 文件, 解压缩方式是相同的。解压的语法格式如下:

语法1: 解压到当前目录中        tar 参数 压缩包名 

语法2: 解压到指定目录中        tar 参数 压缩包名 -C 解压目录

2. zip

zip格式的压缩包在Linux中也是很常见的, 在某些版本中需要安装才能使用:

  • Ubuntu:

sudo apt install zip        # 压缩

sudo apt install unzip    # 解压缩

  • CentOS:

sudo yum install zip        # 压缩
sudo yum install unzip    # 解压缩

  • 压缩(.zip)

使用zip压缩目录需要注意一点, 必须要添加参数 -r, 这样才能将子目录中的文件一并压缩, 如果要压缩的文件中没有目录, 该参数就可以不写了

另外使用zip压缩文件, 会自动生成文件后缀.zip, 因此就不需要额外指定了。

语法:压缩后自动添加压缩包后缀 .zip, 如果要压缩目录, 需要添加参数 r
zip [-r]  压缩包名 要压缩的文件

  • 解压缩(.zip)

对应zip格式的文件解压缩, 必须要使用unzip命令, 和压缩的时候使用的命令是不一样的。如果压缩包中的文件要解压到指定目录需要指定参数-d, 默认是解压缩到当前目录中。

语法1:解压到当前目录中         unzip 压缩包名

语法2:解压到指定目录, 需要添加参数 -d        unzip 压缩包名 -d 解压目录

3. rar

rar这种压缩格式在Linux中并不常用, 这是Windows常用的压缩格式, 如果想要在Linux压缩和解压这种格式的文件需要额外安装对应的工具, 不同版本的Linux安装方式也是不同的。

  • Ubuntu:

执行在线下载命令即可:sudo apt install rar

  • CentOS:

需要下载安装包, 官方地址: https://www.rarlab.com/download.htm
从下载页面找到 Linux 版本的下载链接并复制链接地址, 使用 wget 下载到本地
wget https://www.rarlab.com/rar/rarlinux-x64-6.0.0.tar.gz

将下载得到的 rarlinux-x64-6.0.0.tar.gz 压缩包解压缩, 得到解压目录 rar
tar zxvf rarlinux-x64-6.0.0.tar.gz 

将得到的解压目录移动到 /opt 目录中 (因为/opt软件安装目录, 移动是为了方便管理, 不移动也没事儿)
该操作需要管理员权限, 我是使用 root 用户操作的
mv ./rar /opt

给 /opt/rar 目录中的可执行程序添加软连接, 方便命令解析器可以找到该压缩命令
ln -s /opt/rar/rar /usr/local/bin/rar
ln -s /opt/rar/unrar /usr/local/bin/unrar

该方法在任何版本的Linux系统中都适用。

  • 压缩(.rar)

使用rar压缩过程中的注意事项和zip是一样的, 如果压缩的是目录, 需要指定参 -r, 如果只压缩文件就不需要添加了。压缩过程中需要使用参数 a (archive), 压缩归档的意思。

rar工具在生成压缩包的时候也会自动添加后缀, 名字为.rar, 因此我们只需要指定压缩包的名字。

文件压缩, 需要使用参数 a, 压缩包名会自动添加后缀 .rar

如果压缩了目录, 需要加参数 -r
语法:
rar a 压缩包名 要压缩的文件 [-r]

  • 解压缩(.rar)

解压缩.rar格式的文件的时候, 可以使用 rar也可以使用unrar, 操作方式是一样的, 需要添加参数 x, 默认是将压缩包内容释放到当前目录中, 如果要释放到指定目录直接指定解压目录名即可, 不需要使用任何参数。

解压缩: 需要参数 x
语法1:解压缩到当前目录中        rar/unrar x 压缩包名字

语法2:解压缩到指定目录中        rar/unrar x 压缩包名字 解压目录

4. xz

.xz格式的文件压缩和解压缩都相对比较麻烦, 通过一个命令是完不成对应的操作的, 需要通过两步操作才行。并且操作过程中需要使用tar工具进行打包, 压缩使用的则是 xz工具。

  • 压缩(.tar.xz)

创建文件的步骤如下, 首先 将需要压缩的文件打包 tar cvf xxx.tar files, 然后再对打包文件进行压缩 xz -z xxx.tar, 这样我们就可以得到一个打包之后的压缩文件了。

使用 xz工具压缩文件的时候需要添加参数 -z

语法:
第一步:
tar cvf xxx.tar 要压缩的文件
第二步:最终得到一个xxx.tar.xz 格式的压缩文件 xz -z xxx.tar

  • 解压缩(.tar.xz)

解压缩的步骤和压缩的步骤相反, 需要先解压缩, 然后将文件包中的文件释放出来。

使用xz工具解压需要使用参数-d

语法:
第一步: 压缩包解压缩, 得到 xxx.tar
xz -d xxx.tar.xz
第二步:将 xxx.tar 中的文件释放到当前目录
tar xvf xxx.tar     

  • 15
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值