如何使用“ 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
相关文章
相关标签/搜索