如何在OS X 10.7.3中复制目录?


109

嗨,我正在尝试将hassebjaved / Desktop / rails_projects的rails_projects目录复制到haseebjaved的主目录中。

如何通过命令行执行此操作?

另外,我可以在UI上看到我的主目录,还是只能在Mac OS X中通过命令行查看?

是否可以通过UI在我的主目录之间复制目录?还是仅通过命令行?

谢谢

Answers:


251

该目录是否有特殊之处,或者您真的只是在问如何复制目录?

通过CLI递归复制:

cp -R <sourcedir> <destdir>

如果您只看到sourcedir正在复制的文件(而不是复制文件sourcedir),则发生这种情况是因为您将斜杠保留为sourcedir

cp -R <sourcedir>/ <destdir>

上面的代码仅复制内的文件及其目录sourcedir。通常,您要包括要复制的目录,因此请在结尾加上斜杠:

cp -R <sourcedir> <destdir>

谢谢彼得。我试图将rails_projects中的三个子目录复制到haseebjaved的主目录中。当我发出以下命令时:cp -r〜/ Desktop / rails_projects haseebjaved,该命令有效地将三个子目录从rails_projects复制到haseebjaved并在我的主目录haseebjaved中创建一个名为haseebjaved的新文件夹。我想要的是显示在我的主目录下的目录rails_projects,与其他文件夹(如下载,桌面等)一样,已被保存
12

我现在在Finder中使用搜索功能,效果更好,但在收藏夹或其他任何地方都看不到我的主目录。Mac OS X和Rails的新手。
2012年

cp -r ~/Desktop/rails_projects ~是您想要的
安迪·弗里斯

5
这是来自的手册cp-R If source_file designates a directory, cp copies the directory and the entire subtree connected at that point. **If the source_file ends in a /, the contents of the directory are copied rather than the directory itself.** This option also causes symbolic links to be copied, rather than indirected through, and for cp to create special files rather than copying them as normal files. Created directories have the same mode as the corresponding source directory, unmodified by the process' umask.
2014年

2
关于从命令行复制文件夹的信息仅需2美分:ditto命令ss64.com/osx/ditto.html PS。与cp -R不同,如果目标文件夹已经存在,则现有内容将与要复制的文件夹的内容合并。
亚历山大·赫拉莫夫

2

tl; dr

cp -R "/src/project 1/App" "/src/project 2"

说明:

使用引号将满足目录名称中的空格

cp -R "/src/project 1/App" "/src/project 2"

如果在目标目录中指定了App目录:

cp -R "/src/project 1/App" "/src/project 2/App"

并且“ / src / project 2 / App”已经存在,结果将是“ / src / project 2 / App / App”

最好不要指定在目标中复制的目录,以便可以反复执行命令以得到预期的结果。

在bash脚本中:

cp -R "${1}/App" "${2}"
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.