在Linux中,使用rsync
命令同步資料時,若要過濾掉所有.txt
檔案,不將其納入同步範圍,可以透過--exclude
選項來實現。具體做法如下:
rsync -avz --exclude='*.txt' 源目錄/ 目標目錄/
這裡對命令引數進行解釋:
-
-a
或--archive
:這是一個綜合選項,等於-rlptgoD
(遞迴、保留連結、保留許可權、保留時間戳、保留所有權、保留群組、保留裝置檔案及特殊檔案)。它能保持源目錄的大多數屬性不變,適合於備份和映象操作。 -
-v
或--verbose
:詳細模式輸出,展示哪些檔案正在被傳輸。 -
-z
或--compress
:傳輸過程中進行壓縮,加快傳輸速度並減少頻寬消耗。 -
--exclude='*.txt'
:這是關鍵部分,用來指定排除規則。星號*
是一個萬用字元,代表任意字元序列,因此*.txt
會匹配所有以.txt
結尾的檔案。這意味著任何.txt
檔案都不會被同步。 -
源目錄/
:指定要同步的源目錄路徑,末尾的斜槓表示同步目錄內容而非目錄本身。 -
目標目錄/
:指定資料同步的目標目錄路徑,同樣地,末尾斜槓表示內容同步。
綜上所述,您可以執行一次同步操作,期間所有.txt
檔案都會被自動排除在外,不會被複制到目標目錄中。