Bagaimana cara menyalin direktori di OS X 10.7.3?

109

Hai, Saya mencoba menyalin direktori rails_projects saya dari haseebjaved / Desktop / rails_projects ke direktori home saya, yang haseebjaved.

Bagaimana saya bisa melakukan ini melalui Command Line?

Selain itu, dapatkah saya melihat direktori beranda saya di UI atau hanya melalui Baris Perintah di Mac OS X?

Apakah mungkin untuk menyalin direktori ke dan dari direktori home saya melalui UI? Atau hanya melalui Command Line?

Terima kasih

hjaved
sumber

Jawaban:

251

Apakah ada yang istimewa dengan direktori itu atau apakah Anda benar-benar hanya menanyakan cara menyalin direktori?

Salin secara rekursif melalui CLI:

cp -R <sourcedir> <destdir>

Jika Anda hanya melihat file di bawah yang sourcedirsedang disalin (bukan sourcedirjuga), itu terjadi karena Anda membiarkan garis miring untuk sourcedir:

cp -R <sourcedir>/ <destdir>

Di atas hanya menyalin file dan direktorinya di dalam sourcedir. Biasanya, Anda ingin memasukkan direktori yang Anda salin, jadi jatuhkan garis miring:

cp -R <sourcedir> <destdir>
Andy Friese
sumber
Terima kasih Peter. Saya mencoba untuk menyalin tiga sub-direktori dalam rails_projects ke direktori home saya haseebjaved. Ketika saya mengeluarkan perintah berikut: cp -r ~ / Desktop / rails_projects haseebjaved, perintah tersebut secara efektif menyalin tiga subdirektori dari rails_projects ke haseebjaved dan membuat folder baru bernama haseebjaved di direktori home saya haseebjaved. Yang saya inginkan adalah direktori rails_projects untuk muncul di bawah direktori home saya telah dihapus seperti folder lain seperti Downloads, Desktop, dll.
hjaved
Saya menggunakan fungsi pencarian dengan Finder sekarang dan itu jauh lebih baik tetapi saya tidak melihat direktori utama saya di sana di Favorit atau di mana pun. Sangat baru di Mac OS X dan Rails.
hjaved
cp -r ~/Desktop/rails_projects ~adalah yang Anda inginkan
Andy Friese
5
Ini adalah manual dari 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
Hanya dua sen tentang salin folder dari baris perintah: perintah ditto ss64.com/osx/ditto.html PS. Tidak seperti cp -R, jika folder tujuan sudah ada, konten yang ada akan digabungkan dengan konten folder yang sedang disalin.
Alexander Hramov
2

tl; dr

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

Penjelasan:

Penggunaan tanda kutip akan menyediakan spasi di nama direktori

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

Jika direktori App ditentukan di direktori tujuan:

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

dan "/ src / project 2 / App" sudah ada, hasilnya adalah "/ src / project 2 / App / App"

Sebaiknya jangan menentukan direktori yang disalin di tujuan sehingga perintah bisa diulangi berulang kali dengan hasil yang diharapkan.

Di dalam skrip bash:

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