Como usar o comando SFTP para transferir arquivos de/para servidores Linux

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
Nota: mesmo se você usar barras (incorretamente) para os caminhos do Windows, no sftp, parece que a ferramenta vai entender.

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.

DzTech

Sou um engenheiro estadual com vasta experiência nas áreas de programação, criação de sites, SEO e redação técnica. Sou apaixonado por tecnologia e me dedico a fornecer informação de qualidade ao público. Posso me tornar um recurso mais valioso para usuários que procuram informações precisas e confiáveis ​​sobre análises de produtos e aplicações especializadas em diversos campos. Meu compromisso inabalável com a qualidade e a precisão garante que as informações fornecidas sejam confiáveis ​​e úteis para o público. A busca constante pelo conhecimento me leva a acompanhar os mais recentes desenvolvimentos tecnológicos, garantindo que as ideias compartilhadas sejam transmitidas de forma clara e acessível.
Ir para o botão superior