【Linux篇】Linux的压缩与解压

1. 压缩格式

市面上有非常多的压缩格式:

  • zip格式:Linux,win,MacOS,常用
  • 7zip:win常用
  • rar:win常用
  • tar:Linux,MacOS常用
  • gzip:Linux,MacOS常用

如何在Linux系统中操作tar,gzip,zip这三种压缩格式,完成文件的压缩与解压。

2. tar命令

Linux和Mac系统常用的有2种压缩格式,后缀名分别是:

  • .tar,称之为tarball,归档文件,即简单的将文件组装到一个.tar文件内,并没有太多的文件体积的减少,仅仅是简单的封装。
  • .gz,也常见为.tar.gz,gzip格式的压缩文件,即使用gzip压缩算法将文件压缩到一个文件内,可以极大的减少压缩后的体积。

针对这两种格式,使用tar命令均可以进行压缩和解压缩的操作。

语法:tar [-c -v -x -f -z-C] 参数1 参数2 ...

  • -c,创建压缩文件,用于压缩格式。
  • -v,显示压缩,解压过程,用于查看进度。
  • -x,解压模式
  • -f,要创建的文件,或要解压的文件,-f选项必须在所有选项中位置位于最后一个。
  • -z,gzip格式,不使用-z就是普通的tarball格式。
  • -C,选择解压的目的地,用于解压格式。

2.1 tar命令压缩

tar常用的组合为:

  • tar -cvf test.tar 1.txt 2.txt 3.txt

将1.txt 2.txt 3.txt三个文件压缩到test.tar中。

[root@hexuan ~]# touch 1.txt
[root@hexuan ~]# touch 2.txt
[root@hexuan ~]# touch 3.txt
[root@hexuan ~]# ll
总用量 8
-rw-r--r--. 1 root root    0 8月  27 16:00 1.txt
-rw-r--r--. 1 root root    0 8月  27 16:01 2.txt
-rw-r--r--. 1 root root    0 8月  27 16:01 3.txt
-rw-------. 1 root root 1749 6月  14 13:21 anaconda-ks.cfg
-rw-r--r--. 1 root root 1797 6月  14 13:22 initial-setup-ks.cfg
drwxr-xr-x. 2 root root    6 6月  14 13:23 公共
drwxr-xr-x. 2 root root    6 6月  14 13:23 模板
drwxr-xr-x. 2 root root    6 6月  14 13:23 视频
drwxr-xr-x. 3 root root   24 6月  14 14:01 图片
drwxr-xr-x. 2 root root    6 6月  14 13:23 文档
drwxr-xr-x. 2 root root    6 6月  14 13:23 下载
drwxr-xr-x. 2 root root    6 6月  14 13:23 音乐
drwxr-xr-x. 2 root root    6 6月  14 13:23 桌面
[root@hexuan ~]# tar -cvf test.tar 1.txt 2.txt 3.txt
1.txt
2.txt
3.txt
[root@hexuan ~]# ll
总用量 20
-rw-r--r--. 1 root root     0 8月  27 16:00 1.txt
-rw-r--r--. 1 root root     0 8月  27 16:01 2.txt
-rw-r--r--. 1 root root     0 8月  27 16:01 3.txt
-rw-------. 1 root root  1749 6月  14 13:21 anaconda-ks.cfg
-rw-r--r--. 1 root root  1797 6月  14 13:22 initial-setup-ks.cfg
-rw-r--r--. 1 root root 10240 8月  27 16:01 test.tar
drwxr-xr-x. 2 root root     6 6月  14 13:23 公共
drwxr-xr-x. 2 root root     6 6月  14 13:23 模板
drwxr-xr-x. 2 root root     6 6月  14 13:23 视频
drwxr-xr-x. 3 root root    24 6月  14 14:01 图片
drwxr-xr-x. 2 root root     6 6月  14 13:23 文档
drwxr-xr-x. 2 root root     6 6月  14 13:23 下载
drwxr-xr-x. 2 root root     6 6月  14 13:23 音乐
drwxr-xr-x. 2 root root     6 6月  14 13:23 桌面
  • tar -zcvf test.tar.gz 1.txt 2.txt 3.txt

将1.txt 2.txt 3.txt三个文件压缩到test.tar.gz中,使用gzip格式。

注意:

  • -z选项如果使用,一般位于选项的最后一个位置。

  • -f选项,必须位于选项的最后一个。

    [root@hexuan ~]# tar -zcvf test.tar.gz 1.txt 2.txt 3.txt
    1.txt
    2.txt
    3.txt
    [root@hexuan ~]# ll
    总用量 24
    -rw-r--r--. 1 root root 0 8月 27 16:00 1.txt
    -rw-r--r--. 1 root root 0 8月 27 16:01 2.txt
    -rw-r--r--. 1 root root 0 8月 27 16:01 3.txt
    -rw-------. 1 root root 1749 6月 14 13:21 anaconda-ks.cfg
    -rw-r--r--. 1 root root 1797 6月 14 13:22 initial-setup-ks.cfg
    -rw-r--r--. 1 root root 10240 8月 27 16:01 test.tar
    -rw-r--r--. 1 root root 128 8月 27 16:02 test.tar.gz
    drwxr-xr-x. 2 root root 6 6月 14 13:23 公共
    drwxr-xr-x. 2 root root 6 6月 14 13:23 模板
    drwxr-xr-x. 2 root root 6 6月 14 13:23 视频
    drwxr-xr-x. 3 root root 24 6月 14 14:01 图片
    drwxr-xr-x. 2 root root 6 6月 14 13:23 文档
    drwxr-xr-x. 2 root root 6 6月 14 13:23 下载
    drwxr-xr-x. 2 root root 6 6月 14 13:23 音乐
    drwxr-xr-x. 2 root root 6 6月 14 13:23

2.2 tar命令压缩

常用的tar解压组合有:

  • tar -xvf test.tar

解压test.tar,将文件解压至当前目录。

  • tar -xvf test.tar -C /home/hexuan

解压test.tar,将文件解压至指定目录

  • tar -zxvf test.tar.gz -C /home/hexuan

以gzip格式解压文件,将文件压缩到指定目录。

注意:

  • -f选项,必须在选项组合体的最后一位。

  • -z选项,建议在开头位置。

  • -C选项单独使用,和解压所需的其他参数分开。

    [root@hexuan ~]# rm -rf *.txt
    [root@hexuan ~]# ll
    总用量 24
    -rw-------. 1 root root 1749 6月 14 13:21 anaconda-ks.cfg
    -rw-r--r--. 1 root root 1797 6月 14 13:22 initial-setup-ks.cfg
    -rw-r--r--. 1 root root 10240 8月 27 16:01 test.tar
    -rw-r--r--. 1 root root 128 8月 27 16:02 test.tar.gz
    drwxr-xr-x. 2 root root 6 6月 14 13:23 公共
    drwxr-xr-x. 2 root root 6 6月 14 13:23 模板
    drwxr-xr-x. 2 root root 6 6月 14 13:23 视频
    drwxr-xr-x. 3 root root 24 6月 14 14:01 图片
    drwxr-xr-x. 2 root root 6 6月 14 13:23 文档
    drwxr-xr-x. 2 root root 6 6月 14 13:23 下载
    drwxr-xr-x. 2 root root 6 6月 14 13:23 音乐
    drwxr-xr-x. 2 root root 6 6月 14 13:23 桌面
    [root@hexuan ~]# tar -xvf test.tar -C /home/hexuan
    1.txt
    2.txt
    3.txt
    [root@hexuan ~]# su - hexuan
    上一次登录:日 8月 25 21:02:06 CST 2024pts/0 上
    [hexuan@hexuan ~]$ ll
    总用量 4
    -rw-r--r--. 1 root root 0 8月 27 16:00 1.txt
    -rw-r--r--. 1 root root 0 8月 27 16:01 2.txt
    -rw-r--r--. 1 root root 0 8月 27 16:01 3.txt
    drwxr-xr-x. 2 hexuan hexuan 6 8月 23 21:46 Desktop
    drwxr-xr-x. 2 hexuan hexuan 6 8月 23 21:46 Documents
    drwxr-xr-x. 2 hexuan hexuan 6 8月 23 21:46 Downloads
    -rw-rw-r--. 1 hexuan hexuan 52 8月 24 19:43 hello.txt
    drwxrwxr-x. 3 hexuan hexuan 21 8月 23 13:16 itheima
    drwxr-xr-x. 2 hexuan hexuan 6 8月 23 21:46 Music
    drwxr-xr-x. 2 hexuan hexuan 6 8月 23 21:46 Pictures
    drwxr-xr-x. 2 hexuan hexuan 6 8月 23 21:46 Public
    drwxr-xr-x. 2 hexuan hexuan 6 8月 23 21:46 Templates
    drwxr-xr-x. 2 hexuan hexuan 6 8月 23 21:46 Videos
    lrwxrwxrwx. 1 hexuan hexuan 8 8月 25 20:30 yum -> /etc/yum
    drwxr-xr-x. 3 hexuan hexuan 263 8月 22 22:16 图片
    drwxr-xr-x. 2 hexuan hexuan 6 8月 23 21:46 桌面

3. zip命令

3.1 zip命令压缩

可以使用zip命令,压缩文件为zip压缩包。

语法:zip [-r] 参数1 参数2 ...

  • -r,被压缩的包含文件夹时,需要使用-r选项,和rm,cp命令的-r效果一致。

示例:

zip test.zip a.txt b.txt c.txt

将a.txt b.txt c.txt压缩到test.zip文件内。

3.2 zip命令解压

使用unzip命令,可以方便的解压zip压缩包。

语法:unzip [-d] 参数

  • -d,指定要解压去的位置,同tar的-C选项。
  • 参数,被解压的zip压缩包文件。

示例:

unzip test.zip -d /root

将test.zip文件解压到指定文件内.

相关推荐
woshilys24 分钟前
sql server 查询对象的修改时间
运维·数据库·sqlserver
疯狂飙车的蜗牛1 小时前
从零玩转CanMV-K230(4)-小核Linux驱动开发参考
linux·运维·驱动开发
恩爸编程2 小时前
探索 Nginx:Web 世界的幕后英雄
运维·nginx·nginx反向代理·nginx是什么·nginx静态资源服务器·nginx服务器·nginx解决哪些问题
Michaelwubo3 小时前
Docker dockerfile镜像编码 centos7
运维·docker·容器
远游客07133 小时前
centos stream 8下载安装遇到的坑
linux·服务器·centos
马甲是掉不了一点的<.<3 小时前
本地电脑使用命令行上传文件至远程服务器
linux·scp·cmd·远程文件上传
jingyu飞鸟3 小时前
centos-stream9系统安装docker
linux·docker·centos
好像是个likun3 小时前
使用docker拉取镜像很慢或者总是超时的问题
运维·docker·容器
超爱吃士力架4 小时前
邀请逻辑
java·linux·后端
LIKEYYLL5 小时前
GNU Octave:特性、使用案例、工具箱、环境与界面
服务器·gnu