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

hja*_*ved 99 directory macos copy home-directory

嗨,我正在尝试将我的rails_projects目录从haseebjaved/Desktop/rails_projects复制到我的主目录,即haseebjaved.

我怎么能通过命令行执行此操作?

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

是否可以通过UI将目录复制到我的主目录?或者只能通过命令行?

谢谢

And*_*ese 227

那个目录有什么特别之处,或者你真的只是问如何复制目录?

通过CLI递归复制:

cp -R <sourcedir> <destdir>
Run Code Online (Sandbox Code Playgroud)

如果你只是看到sourcedir被复制的文件(而不是sourcedir那些),那就发生了,因为你保留了以下的尾部斜杠sourcedir:

cp -R <sourcedir>/ <destdir>
Run Code Online (Sandbox Code Playgroud)

以上只复制文件及其目录sourcedir.通常,您希望包含要复制的目录,因此请删除尾部斜杠:

cp -R <sourcedir> <destdir>
Run Code Online (Sandbox Code Playgroud)

  • 这是来自`cp`的手册:```-R如果source_file指定一个目录,则cp复制该目录以及该点连接的整个子树.**如果source_file以/结尾,则复制目录的内容而不是目录本身.**此选项还会导致复制符号链接,而不是间接通过,并且cp创建特殊文件而不是复制它们作为普通文件.创建的目录具有与相应源目录相同的模式,由进程'umask```不修改 (5认同)
  • 从命令行复制文件夹只需两美分:同上命令 http://ss64.com/osx/ditto.html PS。与 cp -R 不同的是,如果目标文件夹已经存在,则现有内容将与正在复制的文件夹的内容合并。 (2认同)

Gar*_*ies 6

太长了;博士

cp -R "/src/project 1/App" "/src/project 2"
Run Code Online (Sandbox Code Playgroud)

解释:

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

cp -R "/src/project 1/App" "/src/project 2"
Run Code Online (Sandbox Code Playgroud)

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

cp -R "/src/project 1/App" "/src/project 2/App"
Run Code Online (Sandbox Code Playgroud)

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

最好不要指定在目标中复制的目录,以便可以一遍又一遍地重复该命令并获得预期结果。

在 bash 脚本中:

cp -R "${1}/App" "${2}"
Run Code Online (Sandbox Code Playgroud)