Wie kopiere ich Verzeichnisse in OS X 10.7.3?

109

Hallo, ich versuche, mein Verzeichnis rails_projects von haseebjaved / Desktop / rails_projects in mein Ausgangsverzeichnis zu kopieren, das haseebjaved lautet.

Wie kann ich das über die Kommandozeile machen?

Kann ich mein Home-Verzeichnis auch auf der Benutzeroberfläche oder nur über die Befehlszeile in Mac OS X anzeigen?

Ist es möglich, Verzeichnisse über die Benutzeroberfläche in und aus meinem Home-Verzeichnis zu kopieren? Oder nur über die Kommandozeile?

Danke dir

hjaved
quelle

Antworten:

251

Gibt es etwas Besonderes an diesem Verzeichnis oder fragen Sie wirklich nur, wie man Verzeichnisse kopiert?

Rekursiv über CLI kopieren:

cp -R <sourcedir> <destdir>

Wenn Sie nur die Dateien sehen, die sourcedirkopiert werden (anstatt sourcedirauch), geschieht dies, weil Sie den abschließenden Schrägstrich beibehalten haben für sourcedir:

cp -R <sourcedir>/ <destdir>

Das obige kopiert nur die Dateien und ihre Verzeichnisse innerhalb von sourcedir. In der Regel möchten Sie das zu kopierende Verzeichnis einschließen. Löschen Sie daher den abschließenden Schrägstrich:

cp -R <sourcedir> <destdir>
Andy Friese
quelle
Danke Peter. Ich versuche, drei Unterverzeichnisse in rails_projects in mein Ausgangsverzeichnis haseebjaved zu kopieren. Wenn ich den folgenden Befehl ausführe: cp -r ~ / Desktop / rails_projects haseebjaved, kopiert der Befehl effektiv die drei Unterverzeichnisse von rails_projects nach haseebjaved und erstellt einen neuen Ordner mit dem Namen haseebjaved in meinem Ausgangsverzeichnis haseebjaved. Was ich möchte, ist das Verzeichnis rails_projects, das unter meinem Home-Verzeichnis haseebjaved angezeigt wird, genau wie andere Ordner wie Downloads, Desktop usw.
hjaved
Ich verwende die Suchfunktion jetzt mit Finder und es ist viel besser, aber ich sehe mein Home-Verzeichnis dort nicht in den Favoriten oder anderswo. Sehr neu für Mac OS X und Rails.
Hjaved
cp -r ~/Desktop/rails_projects ~ist was Sie wollen
Andy Friese
5
Hier ist das Handbuch von 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.
Xiao
2
Nur zwei Cent zum Kopieren von Ordnern über die Befehlszeile: ditto command ss64.com/osx/ditto.html PS. Im Gegensatz zu cp -R werden die vorhandenen Inhalte mit den Inhalten des zu kopierenden Ordners zusammengeführt, wenn der Zielordner bereits vorhanden ist.
Alexander Hramov
2

tl; dr

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

Erläuterung:

Die Verwendung von Anführungszeichen berücksichtigt Leerzeichen in den Verzeichnisnamen

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

Wenn das App-Verzeichnis im Zielverzeichnis angegeben ist:

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

und "/ src / project 2 / App" existiert bereits. Das Ergebnis ist "/ src / project 2 / App / App".

Geben Sie am besten nicht das im Ziel kopierte Verzeichnis an, damit der Befehl mit dem erwarteten Ergebnis immer wieder wiederholt werden kann.

In einem Bash-Skript:

cp -R "${1}/App" "${2}"
Gary Davies
quelle