Eu li uma série de instruções e respostas sobre scp
Sintaxe de exemplo para Secure Copy (scp)
mas não consigo aplicar corretamente
$ pwd
#the local path on local machine
pwd
/Users/me/PubRepo/bash
Quando tentei scp um arquivo do remoto para o local
[root@iz2ze9wve43n2nyuvmsfx5z ~]# echo "scp test message" > a_test_file.md
[root@iz2ze9wve43n2nyuvmsfx5z ~]# cat a_test_file.md
scp test message
[root@iz2ze9wve43n2nyuvmsfx5z ~]# pwd
/root
[root@iz2ze9wve43n2nyuvmsfx5z ~]# scp [email protected]:a_test_file.md .
[email protected]'s password:
a_test_file.md 100% 17 3.6KB/s 00:00
[root@iz2ze9wve43n2nyuvmsfx5z ~]#
indica sucesso para transferir, mas não encontrei localmente
ls | grep "a_test_file.md"
#does not return
além disso, não existe em nenhum lugar localmente
find / -name "a_test_file.md" 2>/dev/null
## no match
Qual é o problema com o meu uso?
No log do seu console, parece que você chama
scp
o host remoto em quea_test_file.md
foi criado, mas usa.
como segundo parâmetro, que é o destino . A chamada sempre tem a origem primeiro e o destino depois. Como @jimmij mencionado nos comentários, isso copiaria outro arquivo com nome idêntico de outro controle remoto.Então você tem duas possibilidades:
Ligue
scp
da máquina onde o arquivo deve terminar (sua máquina local). Supondo queicodehero.com
seja sua máquina remota, ascp
chamada que você usou está correta, apenas na máquina errada.Altere a
scp
chamada parascp a_test_file.md user@your_local_machine:.
, o que só é possível se o controle remoto também puder acessar sua máquina local via ssh.Se você está se perguntando, por que a cópia foi exibida como bem-sucedida, presumo que
icodehero.com
seja a máquina na qual você criou o arquivo, caso em que seu controle remoto copiou o arquivo de si mesmo (que substitui o arquivo por si mesmo, efetivamente não fazendo nada).