我要复制目录中的全部文件,但特定子目录中的某些文件除外。 我注意到'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