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