《鸟哥的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命令)或指定解压路径(对于其他命令,具体取决于命令的语法)。
相关推荐
自动化监测Learner几秒前
自动化监测数据传不出廊道?大坝通信组网选型实战:RS485、光纤、4G、LoRa、北斗短报文一篇讲透
运维·网络·自动化
代码村新手3 分钟前
Linux-将普通用户添加到系统信任文件(sudoers file)白名单中
linux
Linux-lucky24 分钟前
36-Linux学习之旅之MySQL主从复制
linux·运维·学习·mysql·ubuntu
SatanII30 分钟前
华为云ECS实践:从创建、镜像制作到弹性伸缩完整实操指南
linux·运维·服务器·学习·centos·华为云
广州灵眸科技有限公司31 分钟前
瑞芯微(EASY EAI)RV1126B 星闪使用
运维·人工智能·科技·docker·容器
努力努力再努力wz33 分钟前
【Docker入门系列】:从 Namespace 到 CGroup:一文理解容器资源控制、cgroup v2 与 Memory Controller 实战
运维·docker·容器
可乐鸡翅yeah_38 分钟前
HLS 自动化拨测与手动调试分工,流媒体线上监控体系建设实践
运维·自动化·测试用例·音视频·媒体·m3u8·音视频在线播放
Raas10041 分钟前
MAI Gateway(魔芋企业级AI网关)对比分析:AI网关和OpenRouter区别?企业级能力差距一览
java·服务器·网络·人工智能·gateway·ai网关·mai gateway
爱和冰阔落1 小时前
【Linux】epoll 真的是 O(1) 吗?从阻塞 I/O、select/poll 到 LT/ET 与 Reactor 一次讲透
linux·运维·高并发·tcp
tedcloud1231 小时前
VoiceStudio 怎么搭建?开源本地 AI 语音克隆、配音与语音工作室
服务器·人工智能·开源·ai编程