Um arquivo normal é um arquivo que não é um diretório ou um tipo mais exótico de arquivos "especiais" como pipes nomeados, dispositivos, tomadas, portas, etc. Links simbólicos também não são arquivos regulares, mas eles se comportam como seus alvos quando um aplicativo está acessando o conteúdo do arquivo.
Você passou root@IP:
como a origem da cópia e /path/to/picture.jpg
como o destino. A origem é o diretório inicial do usuário root
na máquina IP
. Isso é útil como um destino, mas não como uma fonte. O que você digitou precisava copiar um diretório em um arquivo; scp
não pode copiar um diretório a menos que você solicite uma cópia recursiva com a opção -r
(e se recusaria a sobrescrever um arquivo existente com um diretório mesmo com -r
, mas sobrescreveria silenciosamente um arquivo regular se a origem era um arquivo regular).
Se /path/to/picture.jpg
for o caminho na máquina remota do arquivo que você deseja copiar, será necessário inserir o nome do arquivo na especificação do host. É o cólon :
que separa o nome do host do caminho remoto. Você também precisará especificar um destino.
scp root@IP:/path/to/picture.jpg /some/destination
Se você quiser copiar o arquivo local /path/to/picture.jpg
para o host remoto, será necessário trocar os argumentos. Os comandos de cópia do Unix colocam a (s) fonte (s) primeiro e o destino por último.
scp /path/to/picture.jpg root@IP:
Se você quiser copiar o arquivo remoto /path/to/picture.jpg
para o mesmo local localmente, será necessário repetir o caminho. Você pode fazer com que o seu shell faça o trabalho de repetir para você (menos digitação, menos legibilidade).
scp root@IP:/path/to/picture.jpg /path/to/picture.jpg
scp {root@IP:,}/path/to/picture.jpg