如何使用「 cp」命令排除特定目錄?

我要複製目錄中的全部文件,但特定子目錄中的某些文件除外。 我注意到'cp'命令沒有--exclude選項。 那麼,我該如何實現呢? git


#1樓

擴展對mvds的評論 ,這對我有用 spa

cd dotfiles
tar -c --exclude .git --exclude README . | tar -x -C ~/dotfiles2

#2樓

cp -r `ls -A | grep -v "c"` $HOME/

#3樓

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同步


#4樓

同步 it

rsync -r --verbose --exclude 'exclude_pattern' ./* /to/where/

而後先用-n選項嘗試一下,看看將要複製什麼 io


#5樓

只需將其暫時移動到隱藏目錄中便可(若是須要,能夠在以後將其重命名)。 擴展

mkdir .hiddendir
cp * .hiddendir -R
mv .hiddendir realdirname
相關文章
相關標籤/搜索