Mover um arquivo usando o PuTTY

0

Eu sou novato lutando para mover um arquivo em um VPS do Linux usando o PuTTY.

Eu posso fazer login com um usuário no PuTTY, neste ponto, posso navegar para ver o arquivo que desejo mover ( ~/servers/apache-solr-3.6.2/example/webapps/solr.war ).

Usando cd .. um par de vezes do diretório em que começo quando faço o primeiro login no PuTTY, posso navegar para o local para o qual desejo mover o arquivo: usr/local/jakarta/apache-tomcat-5.5.36/webapps/

Eu sei que preciso usar cp para copiar o arquivo e tentei variações em: cp ~/servers/apache-solr-3.6.2/example/webapps/solr.war usr/local/jakarta/apache-tomcat-5.5.36/webapps

No entanto, sempre que obtenho 'Nenhum arquivo ou diretório'

Eu tentei excluir o ~/ e o início e tentei especificar solr.war no final do comando.

Por favor, desculpe a pergunta do novato, mas eu realmente aprecio alguns conselhos sobre o que estou fazendo de errado aqui.

    
por Paul Trotter 26.06.2013 / 15:43

5 respostas

1

Algumas notas gerais:

  • O formato do comando de cópia ( cp ) é cp source destination
  • No mundo * nix (Unix, Linux etc), os diretórios são representados por / em oposição a \ no Windows. O root do sistema de arquivos (% 'co_de%' do Windows) é C:\ . Então, o caminho do Windows

    C:\Directory\Subdirectory\file.txt 
    

    é isso no Linux

    /Directory/Subdirectory/file.txt 
    
  • / é o seu diretório inicial, também conhecido como ~/ .

  • Você não precisa $HOME do diretório para o qual precisa copiar as coisas de / para, basta dar o caminho completo para ele.

  • Você não precisa digitar o caminho inteiro. Na maioria dos sistemas Linux, quando você começa a digitar um caminho, você pode clicar em Tab para completá-lo. Se houver mais de uma conclusão possível, pressione Tab duas vezes para vê-las. Por exemplo, digite

    ls /bo
    

    e clique em Tab , ele será automaticamente completado para

    ls /boot
    

Então, colocando tudo isso junto, em vez de escrever o caminho inteiro, tente escrever o início e usar a Tab para autocompletar. Eu suspeito que seu arquivo não está em cd , mas em ~/servers , então tente:

/servers Separador

Esse preenchimento automático? Se não, tente

cp /servers/apac Separador

Depois de encontrar o diretório fonte correto, use o truque Tab novamente para encontrar o diretório de destino correto.

    
por 26.06.2013 / 16:24
0

Se você está digitando exatamente:

cp ~/servers/apache-solr-3.6.2/example/webapps/solr.war usr/local/jakarta/apache-tomcat-5.5.36/webapps

tente digitá-lo:

cp ~/servers/apache-solr-3.6.2/example/webapps/solr.war /usr/local/jakarta/apache-tomcat-5.5.36/webapps

Sem o / na frente de usr , é provável que você tente acessar seu diretório atual mais usr/local/jakarta/apache-tomcat-5.5.36/webapps em vez de / .

EDIT: Se você realmente tem um diretório usr em seu diretório home e está tentando copiar para algo como /home/your_user_name/usr/local... , então especifique o caminho completo.

    
por 26.06.2013 / 15:49
0

Copiar um arquivo requer duas coisas:

  1. locais corretos
  2. Permissões corretas

Parece que você está lutando com a parte do local.

Experimente a navegação para ambos os locais e execute o comando "pwd". pwd retorna o caminho completo do arquivo de onde você está.

Copie a saída pwd de ambos os locais para usar o comando cp.

Exemplo

cp 'pwd output source'/solr.war 'pwd output destination location'

Para permissões: Você precisa verificar se tem permissão para gravar no destino para o qual está tentando gravar, além de ler o arquivo que está tentando ler. Faça um ls -al no arquivo que você está tentando copiar e um ls -al na pasta de destino e forneça essa saída. Você também pode permissões de arquivo do Google. Ou você pode ler este artigo para entender as permissões para si mesmo: link

    
por 26.06.2013 / 15:50
0

Você pulou / antes de usr .

Solução (primeira linha sua, segunda correta):

cp ~/servers/apache-solr-3.6.2/example/webapps/solr.war usr/local/jakarta/apache-tomcat-5.5.36/webapps

cp ~/servers/apache-solr-3.6.2/example/webapps/solr.war /usr/local/jakarta/apache-tomcat-5.5.36/webapps/

Recomendamos que você revise este e este vídeos curtos para entender os comandos básicos do terminal Linux.

    
por 26.06.2013 / 18:48
0

A solução para isso foi baseada em uma combinação de contribuições das outras respostas - obrigado a todos. setembro e ultrasawblade estavam corretos em apontar que eu precisava de uma barra antes de usr:

    cp ~/servers/apache-solr-3.6.2/example/webapps/solr.war /usr/local/jakarta/apache-tomcat-5.5.36/webapps/

Obrigado gabe por apontar a possibilidade de problemas de permissão. Então, para mim, o comando acima não funcionou porque eu não tinha as permissões corretas como o usuário no qual eu estava logado.

Obrigado por ter assinalado que ~/ significa o diretório inicial para o usuário atual que é basicamente equivalente a /home/username/ . Sabendo que isso significava que eu poderia fazer login como usuário root (evitando problemas de permissões) e digitar o seguinte comando (que funcionou):

    cp /home/username/servers/apache-solr-3.6.2/example/webapps/solr.war /usr/local/jakarta/apache-tomcat-5.5.36/webapps/ 

Obrigado por toda sua ajuda com isso. Gabe e septemebr - obrigado pelos links para esses recursos - eles foram úteis.

    
por 27.06.2013 / 11:37