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

Linux 在终端(Mac)中的目录之间复制所有文件,linux,macos,command-line,terminal,copy,Linux,Macos,Command Line,Terminal,Copy,当我尝试在Mac上将文件从一个目录复制到另一个目录时,我使用以下命令: sudo cp-r dir1/*dir2/ 乍一看,它似乎工作得很好。但是,它总是跳过.git、.gitignore和.htaccess等文件。为什么呢?这些文件是否具有某种特权状态 如果有帮助的话,dir1是 git克隆 在此之前运行的命令。如果将*(星形)替换为一个,则可以包含隐藏的文件和文件夹。(点)在命令中。在命令中: cp -r dir1/* dir2/ shell展开dir1/*,并将结果传递给cp。*模式与前

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

sudo cp-r dir1/*dir2/

乍一看,它似乎工作得很好。但是,它总是跳过.git、.gitignore和.htaccess等文件。为什么呢?这些文件是否具有某种特权状态

如果有帮助的话,dir1是

git克隆


在此之前运行的命令。

如果将*(星形)替换为一个,则可以包含隐藏的文件和文件夹。(点)在命令中。

在命令中:

cp -r dir1/* dir2/
shell展开
dir1/*
,并将结果传递给
cp
*
模式与前导的
不匹配,即它与通常可见的文件匹配。您可以使用模式
dir1/*
来匹配以
开头的条目,但是对于
cp
有更好的方法。从
man cp

如果source_文件指定了一个目录,cp将复制该目录以及在该点连接的整个子树。如果源_文件以/结尾,则复制目录的内容,而不是目录本身

因此,您所追求的是:

cp -r dir1/ dir2/