在Linux中,rsync 同步資料時,如何過濾出所有.txt的檔案不同步?

黄嘉波發表於2024-07-01

在Linux中,使用rsync命令同步資料時,若要過濾掉所有.txt檔案,不將其納入同步範圍,可以透過--exclude選項來實現。具體做法如下:

rsync -avz --exclude='*.txt' 源目錄/ 目標目錄/

這裡對命令引數進行解釋:

  • -a--archive:這是一個綜合選項,等於 -rlptgoD(遞迴、保留連結、保留許可權、保留時間戳、保留所有權、保留群組、保留裝置檔案及特殊檔案)。它能保持源目錄的大多數屬性不變,適合於備份和映象操作。

  • -v--verbose:詳細模式輸出,展示哪些檔案正在被傳輸。

  • -z--compress:傳輸過程中進行壓縮,加快傳輸速度並減少頻寬消耗。

  • --exclude='*.txt':這是關鍵部分,用來指定排除規則。星號*是一個萬用字元,代表任意字元序列,因此*.txt會匹配所有以.txt結尾的檔案。這意味著任何.txt檔案都不會被同步。

  • 源目錄/:指定要同步的源目錄路徑,末尾的斜槓表示同步目錄內容而非目錄本身。

  • 目標目錄/:指定資料同步的目標目錄路徑,同樣地,末尾斜槓表示內容同步。

綜上所述,您可以執行一次同步操作,期間所有.txt檔案都會被自動排除在外,不會被複制到目標目錄中。

相關文章