比如: /home/vagrant/test
目錄下有 a
,b
,c
三個文件夾,只復制 c
文件夾下面的文件到/home/vagrant/test2
下
使用cp命令復制的時候,只能排除一個目錄不被復制,如果想排除兩個或者多個目錄的話,就需要使用rsync命令來實現了,看下面的例子
# yum install rsync
# apt install rsync
$ cd /home/vagrant/test
$ pwd
$ /home/vagrant/test
$ rsync -av --exclude a --exclude b . ../test2
- -a, --archive 歸檔模式,表示以遞歸方式傳輸文件,並保持所有文件屬性,等於-rlptgoD。
- -v 顯示同步過程的詳細(verbose)信息
- 第一個
.
是把當前目錄做為同步源,因為執行rsync
命令時已經進入到/home/vagrant/test
下 - 第二個
../test2
把相對當前目錄上級的test2
文件夾作為同步目標目錄
注意:--exclude后面的路徑不能為絕對路徑,必須為相對路徑才可以,否則出錯。
注解:
rsync命令是一個遠程數據同步工具,可通過LAN/WAN快速同步多台主機間的文件。-a參數表示archive模式,-v表示詳細鏈模式輸出,-z表示傳輸文件時使用壓縮傳輸的模式。