Como copiar diretórios no OS X 10.7.3?

109

Oi, estou tentando copiar meu diretório rails_projects de haseebjaved / Desktop / rails_projects para meu diretório inicial, que é haseebjaved.

Como posso fazer isso por meio da linha de comando?

Além disso, posso ver meu diretório inicial na IU ou apenas por meio da linha de comando no Mac OS X?

É possível copiar diretórios de e para meu diretório inicial por meio da IU? Ou apenas via linha de comando?

Obrigado

javed
fonte

Respostas:

251

Existe algo especial com esse diretório ou você está realmente apenas perguntando como copiar diretórios?

Copiar recursivamente via CLI:

cp -R <sourcedir> <destdir>

Se você está vendo apenas os arquivos que sourcedirestão sendo copiados (em vez de sourcedirtambém), isso está acontecendo porque você manteve a barra final para sourcedir:

cp -R <sourcedir>/ <destdir>

O acima apenas copia os arquivos e seus diretórios dentro de sourcedir. Normalmente, você deseja incluir o diretório que está copiando, portanto, solte a barra final:

cp -R <sourcedir> <destdir>
Andy Friese
fonte
Obrigado Peter. Estou tentando copiar três subdiretórios dentro de rails_projects para meu diretório inicial haseebjaved. Quando emito o seguinte comando: cp -r ~ / Desktop / rails_projects haseebjaved, o comando copia efetivamente os três subdiretórios de rails_projects para haseebjaved e cria uma nova pasta chamada haseebjaved em meu diretório inicial haseebjaved. O que eu quero é que o diretório rails_projects apareça em meu diretório inicial haseebjaved assim como outras pastas como Downloads, Desktop, etc.
hjaved
Estou usando a função de pesquisa com o Finder agora e é muito melhor, mas não vejo meu diretório inicial lá nos Favoritos ou em qualquer outro lugar. Muito novo no Mac OS X e Rails.
hjaved
cp -r ~/Desktop/rails_projects ~é o que você quer
Andy Friese
5
Aqui está o manual de 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 de
2
Apenas dois centavos sobre as pastas de cópia da linha de comando: idem, comando ss64.com/osx/ditto.html PS. Ao contrário de cp -R, se a pasta de destino já existir, o conteúdo existente será mesclado com o conteúdo da pasta que está sendo copiada.
Alexander Hramov
2

tl; dr

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

Explicação:

O uso de aspas irá fornecer espaços nos nomes dos diretórios

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

Se o diretório do aplicativo for especificado no diretório de destino:

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

e "/ src / project 2 / App" já existe o resultado será "/ src / project 2 / App / App"

Melhor não especificar o diretório copiado no destino, para que o comando possa ser repetido indefinidamente com o resultado esperado.

Dentro de um script bash:

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