如何在終端中使用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 命令登入。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
>ssh username@ip-address -p port
>ssh username@ip-address -p port
>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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo apt install unzip
sudo apt install unzip
sudo apt install unzip

CentOS 和 Fedora

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo yum install unzip
sudo yum install unzip
sudo yum install unzip

第 3 步 – 使用終端解壓 ZIP 檔案

下一步是導航到 ZIP 檔案並解壓。要導航到正確的資料夾,我們可以使用 cd 命令,如下圖所示。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
>cd directory
>cd directory
>cd directory

我們已將 backup.zip 檔案上傳到 ~/private 目錄,因此將使用下面的命令。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
>cd ~/private
>cd ~/private
>cd ~/private

注意我們的終端提示現在如何顯示 ~/private 目錄。

導航到包含 ZIP 檔案的目錄

導航到包含 ZIP 檔案的目錄

我們可以使用 ls 命令列出當前目錄下的檔案和資料夾。在下面的截圖中,你可以看到 ~/private 目錄中的 backup.zip 檔案。

在終端中列出檔案

在終端中列出檔案

解壓 ZIP 檔案有兩種方法。你可以將其解壓到當前目錄或其他目錄。

要將檔案解壓到當前目錄,請使用下面的命令。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
>unzip your-file.zip
>unzip your-file.zip
>unzip your-file.zip

要將檔案解壓縮到其他目錄,請使用此命令。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
>unzip your-file.zip -d directory
>unzip your-file.zip -d directory
>unzip your-file.zip -d directory

對於 backup.zip 檔案,我們要將其解壓到 ~/public 資料夾,可以使用下面的命令來完成。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
>unzip backup.zip -d ~/public
>unzip backup.zip -d ~/public
>unzip backup.zip -d ~/public

執行 unzip 命令後,你會看到一系列以 “inflating” 開頭的行。這表明解壓過程已成功啟動。

在終端中解壓檔案

在終端中解壓檔案

解壓縮過程結束後,使用 cd 命令導航到目標目錄,並使用 ls 命令列出檔案,以驗證解壓縮後的檔案是否在正確的位置。

驗證解壓後的檔案

驗證解壓後的檔案

如果想在解壓縮後刪除原始 ZIP 檔案,可以使用 rm 命令,如下所示。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
>rm /path/to/your-file.zip
>rm /path/to/your-file.zip
>rm /path/to/your-file.zip

一般來說,如果要處理超過 50 MB 大小的 ZIP 檔案,在伺服器上解壓縮通常比在本地計算機上解壓縮更快。不過,解壓 ZIP 檔案還有更多好處,因為除了恢復備份,使用 SSH 和終端還能在很多情況下發揮作用。

小結

使用 SSH 在終端中解壓 ZIP 檔案可以大大加快工作流程,尤其是在批量上傳大量檔案的情況下。使用本帖中列出的 SSH 命令,你就能快速恢復備份和移動內容,而無需等待漫長的 SFTP 上傳。

評論留言