Como copiar um arquivo e movê-lo para um local usando unix

1

Eu preciso de um arquivo para ficar no mesmo local, mas também movê-lo para um local diferente.
O que estou fazendo errado?

cp RubyTest.sublime-settings \
    ~/Library/Application Support/Sublime\ Text\ 2/Packages/User
    
por Gilles 17.05.2012 / 06:28

2 respostas

3

Coloque aspas ao redor do caminho, mas deixe o ~ fora das aspas:

cp RubyTest.sublime-settings \
    ~/"Library/Application Support/Sublime Text 2/Packages/User"

Entre aspas, não é possível usar a sintaxe ~ , mas você pode usar o mais longo $HOME :

cp RubyTest.sublime-settings \
    "$HOME/Library/Application Support/Sublime Text 2/Packages/User"
    
por 17.05.2012 / 06:34
1

Permanecer no mesmo local e mudar para um local diferente é impossível - a menos que você esteja contando sobre um link simbólico.

cp fará uma cópia do seu arquivo para um novo local sem modificar a versão original.

Como o comentário diz, seu grande problema são os espaços nos nomes dos arquivos. Envolva seus argumentos para cp entre aspas. O caractere ~ não será expandido para seu diretório inicial se estiver entre aspas; use $HOME (que é expandido entre aspas duplas) ou deixe o ~ fora das aspas.

cp "RubyTest.sublime-settings" \
    "$HOME/Library/Application Support/Sublime Text 2/Packages/User"
cp "RubyTest.sublime-settings" \
    ~/"Library/Application Support/Sublime Text 2/Packages/User"
    
por 17.05.2012 / 06:36