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

时间:2015-12-01 22:45:49

标签: linux macos command-line terminal copy

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

  

sudo cp -r dir1 / * dir2 /

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

如果有帮助,则dir1是

的结果
  

git clone

我之前运行的

命令。

2 个答案:

答案 0 :(得分:4)

在命令中:

cp -r dir1/* dir2/

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

  

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

所以你所追求的是:

cp -r dir1/ dir2/

答案 1 :(得分:0)

如果用*替换*(星号),则可以包含隐藏文件和文件夹。 (点)你的命令。