《鸟哥的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命令)或指定解压路径(对于其他命令,具体取决于命令的语法)。
相关推荐
AlfredZhao1 天前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
戴为沐2 天前
Linux内存扩容指南
linux
zylyehuo3 天前
Linux 彻底且安全地删除文件
linux
用户805533698033 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297913 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux
乘云数字DATABUFF3 天前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端
Web3探索者5 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo5 天前
Linux系统中网线与USB网络共享冲突
linux
荣--5 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森5 天前
动手实战学 Docker — 从零到集群编排完全指南
运维