文字点混淆,复制所有隐藏文件

LYg*_*LYg 1 regex clipboard

当我使用正则表达式复制所有隐藏文件时,它工作正常:

cp -r source/\.[^.]* destination/
Run Code Online (Sandbox Code Playgroud)

它只是复制以点开头的文件.

但是,我还发现了以下作品:

cp -r source/.[^.]* destination/
Run Code Online (Sandbox Code Playgroud)

在正则表达式中,点不.表示“任何单数字符”吗?那么为什么第二个命令不复制常规文件(那些没有隐藏的)?
为什么点.cp命令中按字面解释?

小智 7

cp,以及其余的内置 shell 命令,接受和扩展glob 模式而不是正则表达式。它们在某些方面相似,在许多方面不同。例如,.globs 中的is 字面量,任何单个字符都与?.

在这种情况下,您的朋友是man 7 glob