如何在终端中使用SSH解压缩ZIP文件(适用于Linux服务器)

如何在终端中使用SSH解压缩ZIP文件

从 ZIP 文件(如我们的可下载备份功能生成的文件)恢复备份有时会是一个漫长的过程。如果在使用 SFTP 上传备份前在本地计算机上解压缩 ZIP 文件,很可能会遇到瓶颈,因为 SFTP 只能同时传输有限数量的文件。

幸运的是,有一种更快的方法可以大大缩短备份恢复时间。

与其在本地解压缩 ZIP 文件并上传解压缩后的文件夹,不如先将 ZIP 文件上传到服务器,然后再解压缩,这样通常会更快。

在本篇文章中,我们将介绍如何使用 SSH 解压上传到服务器的文件。在我们的示例中,我们将解压服务器上的备份文件,但同样的技术也可用于解压任何 Linux 服务器上的任何 ZIP 文件。

第 1 步 – 使用 SSH 登录服务器

第一步是用 SSH 登录服务器。为此,你需要一个 SSH 客户端,如 macOS 和 Linux 中的内置终端应用程序或 Windows 上的免费 PuTTY 客户端,以及 SSH 登录详细信息–IP 地址、用户名、密码(可选)和端口。

密码与公钥验证

你可能想知道为什么密码是可选的。使用 SSH 登录服务器时,有两种身份验证方法:密码和公钥身份验证。密码验证方法使用纯文本密码。

公钥身份验证被广泛认为是比密码身份验证更安全的替代方法。公钥验证方法要求你生成一对密钥–公钥和私钥。公钥上传到服务器,私钥存储在本地计算机上。在 SSH 登录过程中,会验证这两个密钥之间的加密链接,以验证用户身份。

部分服务器提供商支持用户通过面板上传 SSH 公钥。如果您使用的是其他服务器提供商,我们建议您查看相关文档,了解如何将 SSH 密钥上传到服务器。

现在我们已经介绍了密码和公钥验证的区别,接下来让我们看看 SSH 登录过程。

我们通常可以在仪表盘中找到服务器的 SSH 详细信息。

找到登录信息后,可以使用以下 SSH 命令登录。

>ssh username@ip-address -p port

根据下面的登录信息示例,SSH 终端命令为 ssh kinstasite@146.148.59.197 -p 24910。如果不使用公钥身份验证,执行登录命令后还会提示输入 SSH 密码。

  • IP 地址: 146.148.59.197
  • 用户名: kinstasite
  • 端口: 24910

SSH 登录成功后,你应该会在终端窗口中看到如下内容。

ssh-terminal-login

SSH 终端窗口

第 2 步 – 安装 Unzip 软件包(可选)

在某些 Linux 发行版中,默认情况下不安装 unzip 软件包。Kinsta 用户不必担心安装 unzip 软件包,因为我们的所有网站容器都自动安装了该软件包。如果你管理的服务器没有安装 unzip 软件包,你可以使用下面的命令来安装它,注意需要 sudo 级别的权限。

Ubuntu 和 Debian

sudo apt install unzip

CentOS 和 Fedora

sudo yum install unzip

第 3 步 – 使用终端解压 ZIP 文件

下一步是导航到 ZIP 文件并解压。要导航到正确的文件夹,我们可以使用 cd 命令,如下图所示。

>cd directory

我们已将 backup.zip 文件上传到 ~/private 目录,因此将使用下面的命令。

>cd ~/private

注意我们的终端提示现在如何显示 ~/private 目录。

导航到包含 ZIP 文件的目录

导航到包含 ZIP 文件的目录

我们可以使用 ls 命令列出当前目录下的文件和文件夹。在下面的截图中,你可以看到 ~/private 目录中的 backup.zip 文件。

在终端中列出文件

在终端中列出文件

解压 ZIP 文件有两种方法。你可以将其解压到当前目录或其他目录。

要将文件解压到当前目录,请使用下面的命令。

>unzip your-file.zip

要将文件解压缩到其他目录,请使用此命令。

>unzip your-file.zip -d directory

对于 backup.zip 文件,我们要将其解压到 ~/public 文件夹,可以使用下面的命令来完成。

>unzip backup.zip -d ~/public

运行 unzip 命令后,你会看到一系列以 “inflating” 开头的行。这表明解压过程已成功启动。

在终端中解压文件

在终端中解压文件

解压缩过程结束后,使用 cd 命令导航到目标目录,并使用 ls 命令列出文件,以验证解压缩后的文件是否在正确的位置。

验证解压后的文件

验证解压后的文件

如果想在解压缩后删除原始 ZIP 文件,可以使用 rm 命令,如下所示。

>rm /path/to/your-file.zip

一般来说,如果要处理超过 50 MB 大小的 ZIP 文件,在服务器上解压缩通常比在本地计算机上解压缩更快。不过,解压 ZIP 文件还有更多好处,因为除了恢复备份,使用 SSH 和终端还能在很多情况下发挥作用。

小结

使用 SSH 在终端中解压 ZIP 文件可以大大加快工作流程,尤其是在批量上传大量文件的情况下。使用本帖中列出的 SSH 命令,你就能快速恢复备份和移动内容,而无需等待漫长的 SFTP 上传。

评论留言