当我尝试在Mac上将文件从一个目录复制到另一个目录时,我使用以下命令:
乍一看,它似乎运作良好。但是,它总是会跳过.git,.gitignore和.htaccess等文件。这是为什么?这些文件是否具有某种特权状态?sudo cp -r dir1 / * dir2 /
如果有帮助,则dir1是
的结果我之前运行的git clone
命令。
答案 0 :(得分:4)
在命令中:
cp -r dir1/* dir2/
shell展开dir1/*
并将结果传递给cp
。 *
模式不匹配前导.
,即匹配通常可见的文件。您可以使用模式dir1/.*
来匹配以.
开头的条目,但对于cp
,有更好的方法。来自man cp
:
如果source_file指定了一个目录,则cp会复制该目录以及该点连接的整个子树。如果source_file以/结尾,则复制目录的内容而不是目录本身。
所以你所追求的是:
cp -r dir1/ dir2/
答案 1 :(得分:0)
如果用*替换*(星号),则可以包含隐藏文件和文件夹。 (点)你的命令。