Как скопировать каталоги в OS X 10.7.3?

109

Привет, я пытаюсь скопировать свой каталог rails_projects из haseebjaved / Desktop / rails_projects в мой домашний каталог, который является haseebjaved.

Как я могу сделать это через командную строку?

Кроме того, могу ли я увидеть свой домашний каталог в пользовательском интерфейсе или только через командную строку в Mac OS X?

Можно ли копировать каталоги в мой домашний каталог и из него через пользовательский интерфейс? Или только через командную строку?

Спасибо

hjaved
источник

Ответы:

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 отображался в моем домашнем каталоге haseebjaved, как и другие папки, такие как Загрузки, Рабочий стол и т. Д.
hjaved
Сейчас я использую функцию поиска с Finder, и это намного лучше, но я не вижу свой домашний каталог ни в «Избранном», ни где-либо еще. Очень новичок в Mac OS X и Rails.
hjaved
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.
Сяо
2
Всего два цента на копирование папок из командной строки: ditto command 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"

Если каталог приложения указан в целевом каталоге:

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}"
Гэри Дэвис
источник