Cum se copiază directoare în OS X 10.7.3? (Programare, Macos, Director, Copie, Director Acasă)

hjaved a intrebat.

Bună ziua Încerc să copiez directorul meu rails_projects din haseebjaved/Desktop/rails_projects în directorul meu de acasă, care este haseebjaved.

Cum pot face acest lucru prin linia de comandă?

De asemenea, îmi pot vedea directorul de acasă pe interfața de utilizare sau doar prin linia de comandă în Mac OS X?

Este posibil să copiez directoare în și din directorul meu personal prin intermediul interfeței de utilizare? Sau numai prin Linia de comandă?

Vă mulțumim.

2 răspunsuri
Andy Friese

Există ceva special cu acel director sau chiar întrebați doar cum să copiați directoare?

Copiați recursiv prin CLI:

cp -R <sourcedir> <destdir>

Dacă vedeți doar fișierele de sub directorul sourcedir fiind copiate (în loc de sourcedir de asemenea), acest lucru se întâmplă pentru că ați păstrat bara oblică finală pentru sourcedir:

cp -R <sourcedir>/ <destdir>

Cele de mai sus copiază doar fișierele și directoarele lor din interiorul lui sourcedir. În mod normal, doriți să includeți directorul pe care îl copiați, așa că renunțați la slash-ul final:

cp -R <sourcedir> <destdir>

Comentarii

  • Mulțumesc, Peter. Încerc să copiez trei subdirectoare din cadrul rails_projects în directorul meu de acasă haseebjaved. Atunci când emit următoarea comandă: cp -r ~/Desktop/rails_projects haseebjaved , comanda copiază efectiv cele trei subdirectoare din rails_projects în haseebjaved și creează un nou dosar numit haseebjaved în directorul meu personal haseebjaved. Ceea ce vreau este ca directorul rails_projects să apară în directorul meu principal haseebjaved, la fel ca și alte dosare, cum ar fi Downloads, Desktop etc. –  > Por hjaved.
  • Folosesc acum funcția de căutare cu Finder și este mult mai bine, dar nu văd directorul meu de acasă acolo în Favorites sau în altă parte. Foarte nou în Mac OS X și Rails. –  > Por hjaved.
  • cp -r ~/Desktop/rails_projects ~ este ceea ce doriți –  > Por Andy Friese.
  • Aici este manualul de la 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. –  > Por Xiao.
  • Doar doi cenți despre copierea folderelor din linia de comandă: comanda idem ss64.com/osx/ditto.html PS. Spre deosebire de cp -R, dacă dosarul de destinație există deja, conținutul existent va fi fuzionat cu conținutul dosarului care se copiază. –  > Por Alexander Hramov.
Gary Davies

tl;dr

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

Explicație:

Folosirea ghilimelelor va ține cont de spațiile din numele directoarelor

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

În cazul în care directorul App este specificat în directorul de destinație:

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

și „/src/proiect 2/App” există deja, rezultatul va fi „/src/proiect 2/App/App/App”.

Cel mai bine este să nu se specifice directorul copiat în destinație, astfel încât comanda să poată fi repetată la nesfârșit cu rezultatul așteptat.

În interiorul unui script bash:

cp -R "${1}/App" "${2}"