將文件從一個位置複製到另一個位置是一項非常基本的任務,您可以使用 cp 命令輕鬆執行該任務。但是,在某些情況下,您可能需要做更多的事情。這是 rsync 命令派上用場的地方,尤其是在傳輸大文件時。 Rsync (Remote Sync) 是一個基於 Linux 的命令行工具,可用於在本地和遠程服務器之間同步和復製文件。這允許您在同一台計算機上的兩個目錄之間、同一網絡上兩台不同計算機上的目錄之間以及遠程系統上的兩個目錄之間同步文件。

rsync 的主要優點是不用一味地複制整個內容,只需分析和發送源和目標的差異,就可以節省系統資源和帶寬。 rsync 的其他好處包括:

  • 傳輸前壓縮文件
  • 您可以在數據傳輸過程中顯示進度條
  • 複製過程可以暫停並稍後恢復
  • 允許通過 SSH 連接傳輸

本文介紹如何在 Linux 上使用 rsync 複製數據。我們將使用 Debian 10 來描述本文中提到的過程。

安裝 Rsync

大多數 Linux 操作系統默認安裝了 Rsync。但是,如果未安裝,您可以按照以下步驟進行安裝。

在系統中輸入終端應用程序 活動 Debian 桌面左上角的選項卡。然後在搜索欄中輸入 終端..當終端圖標出現時,單擊它以啟動它。

然後在終端中運行以下命令來安裝 rsync 實用程序。

$ apt install rsync

使用 Rsync

所有 rsync 命令都以 同步 後面是允許您指定各種參數的選項。 Rsync 提供了許多選項,讓您可以控制形成您的傳輸規範。然後是源和目標,這取決於它們是遠程機器還是本地機器。

rsync 的基本語法是:

$ rsync [option] [source] [destination]

與 rsync 命令一起使用的一些常用選項:

  1. -v :細節
  2. -1 :存檔模式。可以遞歸複製文件,保留符號鏈接、文件權限、用戶和組所有權以及時間戳。
  3. -什麼時候 : 壓縮數據
  4. -H :以人類可讀格式和人類可讀格式輸出數值
  5. – 最大尺寸 =SIZE,以指定的最小 SIZE 傳輸文件
  6. – 最小尺寸 =SIZE,以指定的最大SIZE傳輸文件

以下是使用 rsync 和這些選項的一些示例。

將文件和目錄複製到本地服務器

在本地複製文件

您可以將單個或多個文件從同一台機器上的源目錄複製到目標目錄。一個例子是複制所有內容 .jpg 文件來自 〜/下載 從目錄 ~ / 文件 使用以下命令創建目錄:

$ rsync -zvh /home/tin/Downloads/*.jpg /home/tin/Documents

運行上述命令後,一切 .jpg 源目錄中的文件 /家/錫/下載 它將被複製到目標目錄/首頁 / 錫 / 文件..

在上面的示例中,我們使用了以下選項 -什麼時候 對於壓縮, -v 有詳細的輸出 -H 用於人類可讀的輸出。

本地拷貝目錄

與文件一樣,您也可以使用 rsync 命令複製文件夾和目錄中包含的文件。例如,複製所有文件 〜/下載 從目錄 ~ / 文件 使用以下命令創建目錄:

$ rsync -zavh /home/tin/Downloads/ /home/tin/Documents

將文件複製到遠程服務器

您可以將一個或多個文件從源目錄複製到遠程計算機上的目標目錄。例如,要將文件從本地計算機複製到遠程計算機,請使用以下命令語法:

$ rsync [options] [local path] [user]@[remote server]:[remote path]

根據最大大小複製文件

您還可以使用 rsync 指定可以從源複製到目標的文件的最大大小。為此,請使用以下命令語法:

$ rsync --max-size=”” [source] [destination]

例如,從源複製一個最大大小為 4000K 的文件。 〜/下載 到目的地 ~ / 文件 目錄。在這種情況下,大於 4000k 的文件將不會被複製到目標。

$ rsync --max-size=4000k /home/tin/Downloads/*.iso /home/tin/Documents/

使用 rsync 複製文件時限製文件大小

根據最小大小複製文件

同樣,您可以使用 rsync 指定可以從源複製到目標的最小大小。為此,請使用以下命令語法:

$ rsync --min-size=”” [source] [destination]

例如,從源中復制一個最大大小為 2M 的文件。 〜/下載 到目的地 ~ / 文件 目錄。小於 2M 的文件不會使用 rsync 進行複制。

$ rsync --min-size=2M /home/tin/Downloads/*.iso /home/tin/Documents/

根據最小大小複製文件

顯示進度

您還可以在使用 rsync 複製文件時查看進度。添加 -進步 rsync 命令後面的標誌如下:

$ rsync --progress [source] [destination]

例如,檢查從源複製文件的進度。 〜/下載 到目的地 ~ / 文件 目錄:

$ rsync --progress /home/tin/Downloads/VTS_03_1.VOB /home/tin/Documents

使用 rsync 查看複製進度

排除文件

您還可以在使用 rsync 將文件從源複製到目標時排除特定文件。例如,您可能希望在從源複製文件時排除所有 .pdf 文件 〜/下載 到目的地 ~ / 文件 目錄。

rsync -zavh --exclude="*.pdf" /home/tin/Downloads/ /home/tin/Documents

從 rsync 複製中排除文件

通過鍵入以下命令,將所有文件從源複製到目標: .pdf 文檔。

那是我們所有的東西!描述了 rsync 實用程序在本地和遠程不同目錄之間複製文件的基本用法。它還描述了一些常見且有用的 rync 選項。除此之外,還有許多選項可用於控制運輸操作的各個方面。請參閱 rsync 手冊頁以使用這些選項。