Come copiare le directory in OS X 10.7.3?


109

Ciao, sto cercando di copiare la mia directory rails_projects da haseebjaved / Desktop / rails_projects alla mia directory home, che è haseebjaved.

Come posso farlo tramite la riga di comando?

Inoltre, posso vedere la mia directory home sull'interfaccia utente o solo tramite la riga di comando in Mac OS X?

È possibile copiare directory da e verso la mia home directory tramite l'interfaccia utente? O solo tramite riga di comando?

Grazie

Risposte:


251

C'è qualcosa di speciale in quella directory o stai davvero chiedendo come copiare le directory?

Copia ricorsivamente tramite CLI:

cp -R <sourcedir> <destdir>

Se stai solo vedendo i file sotto la sourcedircopia (invece sourcedirche anche), questo accade perché hai mantenuto la barra finale per sourcedir:

cp -R <sourcedir>/ <destdir>

Quanto sopra copia solo i file e le loro directory all'interno di sourcedir. In genere, vuoi includere la directory che stai copiando, quindi rilascia la barra finale:

cp -R <sourcedir> <destdir>

Grazie Peter. Sto cercando di copiare tre sottodirectory all'interno di rails_projects nella mia directory home haseebjaved. Quando emetto il seguente comando: cp -r ~ / Desktop / rails_projects haseebjaved, il comando copia efficacemente le tre sottodirectory da rails_projects a haseebjaved e crea una nuova cartella denominata haseebjaved nella mia home directory haseebjaved. Quello che voglio è che la directory rails_projects venga visualizzata nella mia directory home è stata salvata proprio come altre cartelle come Download, Desktop, ecc.
Hjaved

Sto usando la funzione di ricerca con Finder ora ed è molto meglio, ma non vedo la mia home directory in Preferiti o altrove. Molto nuovo per Mac OS X e Rails.
hjaved

cp -r ~/Desktop/rails_projects ~è quello che vuoi
Andy Friese

5
Ecco il manuale da 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
Solo due centesimi per copiare le cartelle dalla riga di comando: idem command ss64.com/osx/ditto.html PS. A differenza di cp -R, se la cartella di destinazione esiste già, il contenuto esistente verrà unito al contenuto della cartella da copiare.
Alexander Hramov

2

tl; dr

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

Spiegazione:

L'uso delle virgolette soddisfa gli spazi nei nomi delle directory

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

Se la directory dell'app è specificata nella directory di destinazione:

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

e "/ src / project 2 / App" esiste già, il risultato sarà "/ src / project 2 / App / App"

Meglio non specificare la directory copiata nella destinazione in modo che il comando possa essere ripetuto più e più volte con il risultato atteso.

All'interno di uno script bash:

cp -R "${1}/App" "${2}"
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.