Você pode especificar um caminho de arquivo que seja relativo ao diretório inicial ou um caminho de arquivo absoluto. Por exemplo, se foo.txt
estiver em um diretório chamado docs
sob o diretório inicial e bar.txt
estiver /var/tmp
, você poderá
scp username@host.example.com:docs/foo.txt .
scp username@host.example.com:/var/tmp/bar.txt .
Observe que, se o nome do arquivo contiver caracteres especiais para o shell remoto (geralmente espaço em branco ou !"#$&'*;<>?[\]^`{|}~
), será necessário escapá-los para o shell remoto, além de escapar para o shell local. Por exemplo, se o arquivo for chamado foo bar.txt
e estiver no seu diretório pessoal:
scp username@host.example.com:'foo\ bar.txt' .
Se você tiver dificuldades com arquivos que contenham caracteres de pontuação, tente usar em sftp
vez de scp
transferi-los. Ou use um método ainda mais conveniente, se você puder usar o FUSE : monte o sistema de arquivos da máquina remota usando sshfs e use comandos comuns de manipulação de arquivos.
mkdir host.example.com
sshfs username@host.example.com:/ host.example.com
cp host.example.com/path/to/file .