【Linux笔记】压缩、解压文件的 4 种方式。tar、gzip、gunzip、zip、unzip、7z命令使用方法

简介: 【Linux笔记】压缩、解压文件的 4 种方式。tar、gzip、gunzip、zip、unzip、7z命令使用方法



在Linux系统中,有多种方式可以用于压缩和解压文件。下面是使用常见命令的一些示例:

1、使用 tar 命令:

1.1. 压缩:
# 将多个文件或目录打包成一个 tar 包,-c 表示创建 tar 包,-v 表示显示详细信息,-f 表示指定文件名
tar -cvf filename.tar file1 file2 dir1
# 将一个目录及其子目录下的所有文件打包成一个 tar 包,-z 表示使用 gzip 压缩,-f 表示指定文件名
tar -czf filename.tar.gz dir1
# 将一个目录及其子目录下的所有文件打包成一个 tar 包,-j 表示使用 bzip2 压缩,-f 表示指定文件名
tar -cjf filename.tar.bz2 dir1
1.2. 解压:
# 将一个 tar 包解压缩到指定目录下,-x 表示解压,-v 表示显示详细信息,-f 表示指定文件名
tar -xvf filename.tar -C /path/to/directory
# 将一个 gzip 压缩的 tar 包解压缩到指定目录下,-z 表示使用 gzip 解压缩
tar -zxvf filename.tar.gz -C /path/to/directory
# 将一个 bzip2 压缩的 tar 包解压缩到指定目录下,-j 表示使用 bzip2 解压缩
tar -jxvf filename.tar.bz2 -C /path/to/directory
1.3. tar 命令各参数含义

tar 命令是 Linux 下常用的打包和压缩工具,用于将多个文件或目录打包成一个 tar 包,也可以将一个 tar 包解压缩到指定的目录。tar 命令的各个参数的含义如下:

tar [选项] [文件名] [文件列表]

其中,选项包括:

  • -c, --create:创建一个 tar 包。可以和 -f 参数一起使用,指定生成的 tar 包的文件名;
  • -x, --extract, --get:解包一个 tar 包。可以和 -f 参数一起使用,指定要解压缩的 tar 包的文件名;
  • -r, --append:将一个或多个文件追加到已存在的 tar 包的末尾。可以和 -f 参数一起使用,指定要追加的 tar 包的文件名;
  • -u, --update:仅将新于 tar 包中已有的文件或目录添加到 tar 包中。可以和 -f 参数一起使用,指定要更新的 tar 包的文件名;
  • -t, --list:列出一个 tar 包中包含的文件列表。可以和 -f 参数一起使用,指定要列出的 tar 包的文件名;
  • -f, --file=ARCHIVE:指定要操作的 tar 包的文件名;
  • -v, --verbose:在操作的过程中显示详细信息;
  • -z, --gzip, --ungzip:在 tar 包中使用 gzip 压缩;
  • -j, --bzip2:在 tar 包中使用 bzip2 压缩;
  • -C, --directory=DIR:指定解压缩到的目录。

例如,将多个文件或目录打包成一个 tar 包,可以使用以下命令:

tar -cvf filename.tar file1 file2 dir1

其中,-c 表示创建 tar 包,-v 表示显示详细信息,-f 后面跟着的是生成的 tar 包的文件名,file1 file2 dir1 是要打包的文件或目录列表。

将一个 tar 包解压缩到指定目录下,可以使用以下命令:

tar -xvf filename.tar -C /path/to/directory

其中,-x 表示解压缩,-v 表示显示详细信息,-f 后面跟着的是要解压缩的 tar 包的文件名,-C 后面跟着的是解压缩到的目录。

2. gzip、gunzip

gzipgunzip 是在 Linux 中用于压缩和解压缩文件的工具。gzip 使用 DEFLATE 压缩算法,而 gunzip 则用于解压缩经 gzip 压缩过的文件。以下是它们的详细介绍和使用指令:

gzip 命令:

压缩文件:
gzip filename

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

保留原始文件,创建压缩文件:
gzip -c filename > filename.gz

这会将原始文件压缩,并将压缩内容写入新的 filename.gz 文件,同时保留原始文件。

保留原始文件,显示压缩进度:
gzip -v filename

使用 -v 选项会显示压缩的详细信息,包括压缩比和进度。

gunzip 命令:

解压文件:
gunzip filename.gz

这会将 filename.gz 解压缩为原始文件,并删除压缩文件。

保留压缩文件,创建原始文件:
gunzip -c filename.gz > filename

这会将压缩文件解压缩,并将原始内容写入新的 filename 文件,同时保留压缩文件。

保留压缩文件,显示解压进度:
gunzip -v filename.gz

使用 -v 选项会显示解压缩的详细信息,包括解压缩比和进度。

这些命令可以用于单个文件的压缩和解压缩操作。如果要处理多个文件或者整个目录,建议使用 tar 命令结合 gzip 进行打包和压缩,以方便管理。

3. zip、unzip

zipunzip 是用于在 Linux 系统中创建和解压缩 ZIP 文件的命令行工具。

zip 命令:

压缩文件:
zip archive.zip file1 file2 file3

这将会创建一个名为 archive.zip 的 ZIP 压缩文件,包含指定的文件。

压缩目录及其内容:
zip -r archive.zip directory

使用 -r 选项,可以递归地将目录及其内容压缩为一个 ZIP 文件。

保留原始文件,创建 ZIP 文件:
zip -r - files | cat > archive.zip

这将会将文件和目录压缩,并将 ZIP 内容写入 archive.zip 文件,同时保留原始文件。

unzip 命令:

解压 ZIP 文件:
unzip archive.zip

这会将 archive.zip 解压缩到当前目录。

解压 ZIP 文件到指定目录:
unzip archive.zip -d /path/to/destination

使用 -d 选项,可以将 ZIP 文件解压缩到指定的目录。

列出 ZIP 文件内容:
unzip -l archive.zip

使用 -l 选项,可以列出 ZIP 文件的内容列表,包括文件名、压缩比等信息。

这些命令提供了灵活的选项,以满足不同的压缩和解压缩需求。可以通过 man zipman unzip 命令查看它们的详细文档以获取更多信息。

4、7z

7z 是一个用于创建和解压缩文件归档的命令行工具,支持多种压缩算法。以下是 7z 命令的一些常见用法:

压缩文件或目录:

使用 LZMA 算法创建 7z 文件:
7z a archive.7z file1 file2 dir1

这将会创建一个名为 archive.7z 的文件,包含指定的文件和目录,使用 LZMA 算法进行压缩。

使用不同的压缩算法:
7z a -tzip archive.zip file1 file2 dir1

使用 -t 选项可以指定不同的压缩算法,例如 zip

解压缩文件:

解压缩 7z 文件:
7z x archive.7z

这会将 archive.7z 解压缩到当前目录。

解压缩到指定目录:
7z x archive.7z -o/path/to/destination

使用 -o 选项,可以将文件解压缩到指定的目录。

查看 7z 文件内容:

列出 7z 文件的内容:
7z l archive.7z

使用 l 命令,可以列出 7z 文件的内容列表,包括文件名、压缩比等信息。

这些只是 7z 命令的一些常见用法。7z 还支持许多其他选项和压缩算法,你可以通过 man 7z 命令查看 7z 命令的详细文档以获取更多信息。


相关文章
|
25天前
|
存储 Shell Linux
【Shell 命令集合 磁盘管理 】Linux 压缩zip文件 mazip命令使用教程
【Shell 命令集合 磁盘管理 】Linux 压缩zip文件 mazip命令使用教程
31 0
|
28天前
|
NoSQL 安全 Linux
Linux 中 core dump 文件的作用和使用方法
Linux 中 core dump 文件的作用和使用方法
59 1
|
1月前
|
Linux
linux系统中常见注册函数的使用方法
linux系统中常见注册函数的使用方法
26 1
|
25天前
|
Shell Linux 编译器
【Shell 命令集合 备份压缩 】Linux 提取zip压缩文件的详细信息 zipinfo命令 使用指南
【Shell 命令集合 备份压缩 】Linux 提取zip压缩文件的详细信息 zipinfo命令 使用指南
32 0
|
25天前
|
存储 算法 Shell
【Shell 命令集合 备份压缩 】⭐⭐Linux 压缩和归档工具 zip命令 使用指南
【Shell 命令集合 备份压缩 】⭐⭐Linux 压缩和归档工具 zip命令 使用指南
29 0
|
11天前
|
Linux API C语言
FFmpeg开发笔记(一)搭建Linux系统的开发环境
本文指导初学者如何在Linux上搭建FFmpeg开发环境。首先,由于FFmpeg依赖第三方库,可以免去编译源码的复杂过程,直接安装预编译的FFmpeg动态库。推荐网站<https://github.com/BtbN/FFmpeg-Builds/releases>提供适用于不同系统的FFmpeg包。但在安装前,需确保系统有不低于2.22版本的glibc库。详细步骤包括下载glibc-2.23源码,配置、编译和安装。接着,下载Linux版FFmpeg安装包,解压至/usr/local/ffmpeg,并设置环境变量。最后编写和编译简单的C或C++测试程序验证FFmpeg环境是否正确配置。
34 8
FFmpeg开发笔记(一)搭建Linux系统的开发环境
|
25天前
|
存储 算法 Shell
【Shell 命令集合 备份压缩 】⭐⭐⭐Linux 解压缩 tar命令 使用指南
【Shell 命令集合 备份压缩 】⭐⭐⭐Linux 解压缩 tar命令 使用指南
29 0
|
1月前
|
Linux 开发者
linux系统中Makefile的基本使用方法
linux系统中Makefile的基本使用方法
29 1
|
8天前
|
Web App开发 Linux 网络安全
工作中常用到的Linux命令
工作中常用到的Linux命令
|
8天前
|
Web App开发 Java Linux
Linux之Shell基本命令篇
Linux之Shell基本命令篇
Linux之Shell基本命令篇