在终端(Mac)中的目录之间复制所有文件

Art*_*ife 2 linux macos terminal command-line copy

当我尝试在Mac上将文件从一个目录复制到另一个目录时,我使用以下命令:

须藤cp -r dir1 / * dir2 /

乍一看,它似乎运作良好。但是,它总是跳过.git,.gitignore和.htaccess之类的文件。这是为什么?这些文件是否具有某种特权状态?

如果有帮助,dir1是以下结果

git克隆

我之前运行的命令。

CRD*_*CRD 5

在命令中:

cp -r dir1/* dir2/
Run Code Online (Sandbox Code Playgroud)

壳展开dir1/*并将结果传递给cp。该*模式与前导匹配.,即它与通常可见的文件匹配。您可以使用模式dir1/.*来匹配以开头的条目.,但是cp有更好的方法。来自man cp

如果source_file指定目录,则cp复制该目录以及此时连接的整个子树。如果source_file以/结尾,则复制目录的内容,而不是目录本身。

因此,您追求的是:

cp -r dir1/ dir2/
Run Code Online (Sandbox Code Playgroud)


小智 1

如果将 *(星号)替换为 . (点)在你的命令中。