《鸟哥的Linux私房菜基础篇》---4 Linux档案的压缩与打包

目录

一、常见的压缩包的扩展名

二、常见的压缩和解压指令

1、tar

[2、tar + gzip(.tar.gz) (或 .tgz)](#2、tar + gzip(.tar.gz) (或 .tgz))

[3、tar + bzip2(.tar.bz2)](#3、tar + bzip2(.tar.bz2))

4、zip

5、gzip

6、bzip2

7、xz

8、rar

9、7z

三、安装解压工具


一、常见的压缩包的扩展名

*.tar, *.tar.gz, *.tgz, *.gz, *.Z, *.bz2

对应的扩展名要用对应的指令来进行解压

*.Z compress 程序压缩的档案;(比较旧,基本不用了)

*.gz gzip 程序压缩的档案;

*.bz2 bzip2 程序压缩的档案;

*.tar tar 程序打包的数据,并没有压缩过;

*.tar.gz tar 程序打包的档案,其中并且经过gzip 的压缩

*.tar.bz2 tar 程序打包的档案,其中并且经过bzip2 的压缩

二、常见的压缩和解压指令

1、tar

未压缩的tar归档文件

tar [选项] [归档文件名] [要打包的文件或目录]

压缩选项

  • -c:创建一个新的归档文件。
  • -x:解压
  • -v:在处理文件时显示详细信息(可选)。
  • -f:指定归档文件的名称。
  • -z:通过gzip进行压缩或解压。
  • -j:通过bzip2进行压缩或解压。
  • -J:通过xz进行压缩或解压。

(1)压缩

bash 复制代码
tar -cvf archive.tar directory_or_files

(2)解压

bash 复制代码
tar -xvf filename.tar
2、tar + gzip(.tar.gz) (或 .tgz)

使用 tar 命令结合 gzip 进行压缩:

(1)压缩

选项说明:

  • -c:创建新的压缩文件
  • -x:解压
  • -z:通过 gzip 压缩、解压
  • -v:显示压缩过程
  • -f:指定压缩文件的名称
  • -J:通过xz解压
bash 复制代码
tar -czvf archive.tar.gz directory_or_file

(2)解压

bash 复制代码
tar -xzvf filename.tar.gz
# 或者
tar -xzvf filename.tgz
3、tar + bzip2(.tar.bz2)

这是使用tar命令结合bzip2压缩的文件。

选项说明:

  • -J:通过xz解压
  • -j:通过 bzip2 压缩

(1)压缩

bash 复制代码
tar -cjvf archive.tar.bz2 directory_or_file

(2)解压

bash 复制代码
tar -xJvf filename.tar.xz
4、zip

这是使用zip工具压缩的文件,需要unzip命令来解压。

选项说明:

  • -r:递归地压缩目录及其内容

(1)压缩

bash 复制代码
zip -r archive.zip directory_or_file

(2)解压

bash 复制代码
unzip filename.zip
5、gzip

单独使用gzip压缩的文件

(1)压缩

1)这将创建一个名为 filename.gz 的压缩文件,并删除原始文件

bash 复制代码
gzip filename

2)保留原始文件,可以使用 -c 选项将输出重定向到一个新文件

bash 复制代码
gzip -c filename > filename.gz

(2)解压

bash 复制代码
gunzip filename.gz
# 或者
gzip -d filename.gz
6、bzip2

单独使用bzip2压缩的文件。

(1)压缩

1)使用 bzip2 命令压缩单个文件,并删除原始文件:

bash 复制代码
bzip2 filename

2)可以使用 -k 选项保留原始文件:

bash 复制代码
bzip2 -k filename

(2)解压

bash 复制代码
bunzip2 filename.bz2
# 或者
bzip2 -d filename.bz2
7、xz

单独使用xz压缩的文件

(1)压缩

1)使用 xz命令压缩单个文件,并删除原始文件:

bash 复制代码
xz filename

2)可以使用 -k 或者 --keep 选项保留原始文件:

bash 复制代码
xz -k filename

(2)解压

cpp 复制代码
unxz filename.xz
# 或者
xz -d filename.xz
8、rar

使用 rar 命令进行压缩(可能需要先安装 rar):

选项说明:

  • a:添加文件到压缩档案中

(1)压缩

bash 复制代码
rar a archive.rar directory_or_file

(2)解压

bash 复制代码
unrar x filename.rar
9、7z

使用 7z 命令进行压缩(可能需要先安装 p7zip):

选项说明:

  • a:添加文件到压缩档案中

(1)压缩

bash 复制代码
7z a archive.7z directory_or_file

(2)解压

bash 复制代码
7z x filename.7z

三、安装解压工具

如果你的系统中缺少上述某个解压工具,你可以使用包管理器来安装它。例如,在Debian或Ubuntu上,你可以使用apt

bash 复制代码
sudo apt update
sudo apt install unzip unrar p7zip-full

在Red Hat、CentOS或Fedora上,你可以使用yum或dnf:

bash 复制代码
sudo yum install unzip unrar p7zip p7zip-plugins  # CentOS/RHEL
sudo dnf install unzip unrar p7zip p7zip-plugins  # Fedora

注意事项

  • 解压文件时,请确保你有足够的磁盘空间来存储解压后的内容。
  • 解压到当前目录时,请确保当前目录有足够的空间,并且你希望在此处存储解压后的文件。
  • 如果你想要将文件解压到特定目录,可以使用-C选项(对于tar命令)或指定解压路径(对于其他命令,具体取决于命令的语法)。
相关推荐
niuTaylor2 小时前
从入门到精通:CMakeLists.txt 完全指南
linux·服务器·cmake
思扬09283 小时前
Docker多阶段构建深度优化指南:从GB到MB的镜像瘦身革命
运维·docker·容器
大刘讲IT4 小时前
数据治理体系的“三驾马车”:质量、安全与价值挖掘
大数据·运维·经验分享·学习·安全·制造·零售
镰圈量化4 小时前
Django 实现服务器主动给客户端发送消息的几种常见方式及其区别
服务器·django·sqlite
SuperW5 小时前
Linux学习——UDP
linux·学习·udp
szxinmai主板定制专家5 小时前
国产RK3568+FPGA以 ‌“实时控制+高精度采集+灵活扩展”‌ 为核心的解决方案
大数据·运维·网络·人工智能·fpga开发·机器人
xixingzhe25 小时前
docker转移镜像
运维·docker·容器
菜狗想要变强6 小时前
Linux驱动开发--异步通知与异步I/O
linux·运维·驱动开发
SuperW6 小时前
Linux学习——IO多路复用知识
linux·服务器·学习
搬码临时工6 小时前
路由器转发规则设置方法步骤,内网服务器端口怎么让异地连接访问的实现
服务器·网络·智能路由器·内网穿透·端口映射·外网访问