Transferir arquivos (NÃO COPIAR) para o computador remoto?

0

Eu sei que usar scp sobre SSH copiará os arquivos entre hosts, mas e se eu não quiser copiá-los, mas movê-los completamente?

Qual comando eu poderia usar usando uma conexão segura via SSH ou outra forma?

Obrigado!

    
por bretonics 08.04.2013 / 04:21

1 resposta

2

Não existe algo como "mover".

Em um único sistema de arquivos, você pode "mover" um arquivo, renomeando-o; o arquivo em si permanece no local, mas um novo nome é adicionado e um velho removido (o que não é garantido para ser atômica, ou - se tanto "a" e "b" existe, em seguida, chamando mv a b pode muito brevemente ter tanto os nomes referem-se ao mesmo arquivo "a", antes que o nome antigo desapareça).

Para mover um arquivo de um lugar para outro, no caso geral, você precisa criar um arquivo com o novo nome, copiar os dados para ele, e depois excluir o antigo. Em uma máquina local, mas diferentes sistemas de arquivos, o comando "mv" faz isso para você nos bastidores - você pode ver isso acontecer esta executando strace mv a /other/filesystem/b

.

Para fazer isso entre computadores sem um sistema de arquivos de rede compartilhado, você precisa fazer isso passo a passo, por exemplo, scp a otherhost:/path/to/new/a && rm a (os ampersands significa que o arquivo local apenas será excluído se scp sucedido, o que significa que é muito provável que a cópia remota foi feito com sucesso).

    
por 29.04.2013 / 12:51