如何使用cp命令复制时来exclude一些特殊的文件或目录?
很遗憾cp没有提供这个功能!!!!!!
它没有windows下的xcopy类似功能。
不过linux提供了另一个命令来更好的实现这个功能,那就是rsync指令。
rsync -av --progress sourcefolder /destinationfolder --exclude thefoldertoexclude
不过cp虽然没有提供exclude选项,有时还是有workaround的。
比如下面这个情况:
folder images下有很多文件,有的是jpg,有的是png。如果复制images下的所有文件,除了jpg文件外,可以通过这个命令来实现:
cp images/!(*.jpg) newFolder
不过使用!这个时,需要先通过shopt开启shell的extglob
shopt -s extglob
参考文档: