A maioria das pessoas prefere utilitários como FileZilla ou WinSCP quando precisam transferir arquivos de ou para servidores Linux / BSD. Se o software OpenSSH estiver em execução neste computador, você poderá se conectar a ele por meio de FTP seguro / SSH (SFTP). Os utilitários mencionados facilitam a transferência de arquivos, fornecendo uma interface gráfica, mas você deve instalar e configurar esses programas.
Alguns usuários preferem não ter que instalar utilitários adicionais. Outros simplesmente preferem a linha de comando porque oferece mais controle e uma maneira mais rápida de dizer à ferramenta o que você deseja que ela faça. Mas agora há um motivo extra para recorrer à linha de comando quando você deseja transferir arquivos. O Windows 10 começou com inclusão Cliente OpenSSH por padrão O que permite que você faça login em servidores Linux / BSD diretamente do prompt de comando.
Este cliente também vem com uma série de outros utilitários, e o SFTP está entre eles. Assim, agora você pode transferir arquivos para sistemas operacionais Linux / BSD, diretamente do Prompt de Comando, sem precisar instalar nada em sua máquina Windows.
O utilitário SFTP também está disponível em dispositivos Linux e funciona da mesma maneira.
Como fazer login usando o comando sftp
Se você estiver usando o Windows, abra o Prompt de Comando. Se você estiver usando Linux, abra uma janela do Terminal.
Para fazer login no servidor com o comando sftp, você pode usar exatamente a mesma sintaxe do comando ssh. Se você não estiver familiarizado com este método, leia o tutorial relacionado no parágrafo de introdução.
sftp your_username@IP-address-or-hostname
Comandos de exemplo:
sftp john@203.0.113.1 sftp john@example.com
Como baixar arquivos depois de fazer login com sftp
Agora você pode inserir comandos em sftp> Require para interagir com arquivos no servidor.
Para baixar um arquivo:
get /path/to/file/on/server
Exemplo:
get /bin/ls
O download será feito em seu diretório atual, no qual você estava localmente antes de fazer login no servidor. Para baixar para um diretório local específico (no Windows):
get /path/to/file/on/server C:\path\to\local\folder
Exemplo
get /bin/ls C:\User\John\Desktop
No Linux, basta usar caminhos Unix (barra em vez de barra invertida):
get /bin/ls /home/john/Desktop
Os caminhos também podem ser relativos. Isso significa que se você estiver em C: \ User \ John Já quando o Prompt de Comando abre, você pode fazer o download para sua área de trabalho (C: \ User \ John \ Desktop) Com:
get /bin/ls Desktop
Os caminhos remotos também podem ser relativos, o que significa que se você fizer login com sftp joão@203.0.113.1 Você já estará no diretório. ” home / john", Então você pode usar isso para fazer o download."/ home / john / file'
get file Desktop
Isso irá baixar “/ home / john / file" para mim "C: \ Users \ YourUser \ Desktop \ file. "
Para copiar diretórios, você deve adicionar o parâmetro -r ao comando, que indica um repetidor.
get -r /bin Desktop\bin
Lembre-se de adicionar um nome para o novo diretório que deseja criar localmente, como “Desktop \ bin" Nesse caso. Se você vai usar get -r / bin Desktop , Os arquivos serão copiados diretamente para a sua área de trabalho. Eles são os arquivos copiados, não o próprio diretório.
Como baixar arquivos depois de fazer login com sftp
O upload de arquivos ou diretórios segue os mesmos princípios. A única exceção é que os caminhos são invertidos, o que significa que você primeiro especifica o arquivo / diretório local e, em seguida, o caminho remoto.
No Windows:
put C:\path\to\local\content /path/where/to/upload
No Linux:
put /path/to/local/content /path/to/remote/location
Ao enviar (copiar) diretórios, lembre-se de que a mesma regra se aplica como na seção anterior: eles são na verdade os arquivos do diretório que foram copiados, não o próprio diretório. Portanto, especifique um novo nome para o diretório para o qual deseja copiar esses arquivos.
put -r Desktop/bin bin
Isso criará um novo diretório chamado “caixa“Do outro lado.
Para sair do shell sftp, basta digitar:
saída
Como retomar a transferência e usar caminhos que contêm espaços em branco
Quando você transfere um arquivo grande, se ele for interrompido, você pode retomar o comando substituindo o comando anterior reputação وvoltar ao invés de colocar و ter. Apenas certifique-se de usar os mesmos caminhos usados da última vez, combinando perfeitamente a origem e o destino.
reget /path/to/file/on/server C:\path\to\local\file reput C:\path\to\local\file /path/to/file/on/server
Para retomar as transferências de diretório, basta adicionar o parâmetro -r
reput -r Desktop/bin bin
Se o caminho para o arquivo contiver espaços, coloque-o entre aspas.
Isso não vai funcionar:
put C:\Program Files (x86)\Steam\steamapps\common\The Witcher 3\SOUNDTRACK\The_Witcher_3_Wild_Hunt_-_Official_Soundtrack_(steam_edition)_mp3.zip
Mas isso vai funcionar:
put "C:\Program Files (x86)\Steam\steamapps\common\The Witcher 3\SOUNDTRACK\The_Witcher_3_Wild_Hunt_-_Official_Soundtrack_(steam_edition)_mp3.zip"
(Sim, você pode realmente encontrar a trilha sonora em Witcher 3 se tiver instalado no Steam.)
Conclusão
Isso cobre as coisas mais importantes que você precisa saber sobre o sftp. Se você achar que precisa aprender mais, continue lendo O guia de comando sftp online completo.