我要複製目錄中的全部文件,但特定子目錄中的某些文件除外。 我注意到'cp'命令沒有--exclude選項。 那麼,我該如何實現呢? git
cd dotfiles tar -c --exclude .git --exclude README . | tar -x -C ~/dotfiles2
cp -r `ls -A | grep -v "c"` $HOME/
rsync快速簡便: 命令行
rsync -av --progress sourcefolder /destinationfolder --exclude thefoldertoexclude
您能夠使用--exclude
屢次。 code
rsync -av --progress sourcefolder /destinationfolder --exclude thefoldertoexclude --exclude anotherfoldertoexclude
請注意,Dir thefoldertoexclude
後--exclude
選項是相對於sourcefolder
,即sourcefolder/thefoldertoexclude
。 get
另外,您能夠添加-n
以進行空運行,以查看執行實際操做以前將要複製的內容,若是一切正常,請從命令行中刪除-n
。 同步
同步 it
rsync -r --verbose --exclude 'exclude_pattern' ./* /to/where/
而後先用-n選項嘗試一下,看看將要複製什麼 io
只需將其暫時移動到隱藏目錄中便可(若是須要,能夠在以後將其重命名)。 擴展
mkdir .hiddendir cp * .hiddendir -R mv .hiddendir realdirname