File Transfer Protocol (FTP) e Secure File Transfer Protocol (SFTP) são dois dos protocolos mais amplamente usados para transferir arquivos entre um dispositivo local e um servidor remoto. Eles são freqüentemente usados por desenvolvedores da web para enviar alterações para seus servidores e, como tal, há muitos clientes FTP disponíveis. No entanto, há também uma ferramenta bastante poderosa integrada em um Mac que pode permitir que os usuários usem protocolos FTP e SFTP para fazer interface com servidores remotos.
Neste artigo, estarei detalhando como você pode usar o Terminal (Mac) como um cliente FTP ou SFTP, para fazer uma variedade de tarefas em servidores remotos. Para efeito de ilustração, estou usando um servidor de teste com Linux, Apache, MySQL e PHP instalados nele, com acesso SSH habilitado. Eu direi como você pode realizar tarefas básicas de FTP / SFTP, como enviar / baixar arquivos, renomear, mover, excluir etc. usando o Terminal do macOS, em vez de um cliente FTP de terceiros.
Observação: Para usar SFTP, você precisará ter o acesso SSH habilitado em seu servidor. Se você não tiver acesso SSH, entre em contato com seu provedor de hospedagem ou use o FTP. Mas tenha em mente que o FTP geralmente não é considerado seguro, então tome cuidado.
Login no servidor
O login no servidor remoto é bastante simples. Você precisará de um nome de usuário e senha FTP / SFTP para fazer login no servidor. O FTP pode permitir logins anônimos, mas é melhor autenticar usando um nome de usuário e senha.
Usando FTP
O comando para fazer login em um servidor remoto usando FTP é:
ftp server_ip
Em seguida, será solicitado seu nome de usuário, digite-o e pressione Enter. Em seguida, o Terminal pedirá sua senha, digite-a, pressione Enter e você estará logado.
Usando SFTP
O comando para fazer login em um servidor remoto usando SFTP é:
sftp username @ server_ip
Em seguida, será solicitada a senha. Digite-o e pressione Enter para fazer o login.
1. Upload e download de arquivos
Uma das funções básicas de um cliente FTP / SFTP é a capacidade de fazer upload de arquivos do host local para o servidor remoto e fazer download de arquivos do servidor remoto.
Usando FTP ou SFTP
- Fazer upload de arquivos
O comando para fazer upload de arquivos para um servidor remoto é:
colocar path_to_local_file remote_file
Por exemplo, se eu quiser fazer upload de um arquivo chamado index.txt, o comando se tornará:
put /Users/akshaygangwar/index.txt index.txt
Este comando irá colocar o arquivo chamado “index.html” do meu diretório inicial, no diretório de trabalho no servidor remoto.
Observação: Para descobrir seu diretório de trabalho, você pode usar o comando “pwd”
- Baixar arquivos
O comando para baixar arquivos de um servidor remoto é:
obter path_to_remote_file local_file
Por exemplo, se eu quiser fazer download de um arquivo chamado newfile.txt, o comando se tornará:
obter newfile.txt newfile.txt
Este comando irá baixar o arquivo chamado “newfile.txt” do diretório de trabalho no servidor remoto para o diretório de trabalho no meu Mac.
2. Criação de uma nova pasta
A criação de pastas (diretórios) em um servidor remoto é outra tarefa importante realizada por clientes FTP.
Usando FTP ou SFTP
Criar uma nova pasta usando o Terminal é fácil. É o mesmo comando nos protocolos FTP e SFTP:
mkdir directory_name
Por exemplo, se eu quisesse criar uma pasta com o nome de “Beebom”, o comando se tornaria:
mkdir Beebom
Isso criará uma pasta chamada “Beebom”, no diretório de trabalho no servidor remoto.
3. Renomeando arquivos no servidor
Renomear arquivos no servidor remoto pode ser feito facilmente usando o Terminal como um cliente.
Usando FTP ou SFTP
O comando para renomear arquivos em um servidor remoto usando o Terminal como um cliente FTP / SFTP pode ser feito com o seguinte comando:
renomear old_name new_name
Por exemplo, se eu quiser mudar o nome de “newfile.txt” para “mainlog.txt”, o comando se tornará:
renomear newfile.txt mainlog.txt
Isso irá renomear o arquivo “newfile.txt” para “mainlog.txt”
4. Excluindo arquivos
O Terminal também pode permitir que você exclua arquivos do servidor remoto. Os comandos, neste caso, são diferentes para FTP e SFTP, e estou declarando os dois separadamente.
Usando FTP
O comando para excluir arquivos de um servidor remoto usando FTP é:
delete file_name
Por exemplo, se eu quisesse excluir o arquivo chamado “beebomold.txt”, o comando se tornaria:
deletar beebomold.txt
Isso excluirá o arquivo “beebomold.txt” do servidor remoto.
Usando SFTP
O comando para excluir arquivos de um servidor remoto usando SFTP é:
rm file_name
Por exemplo, se eu quiser excluir o arquivo chamado “beebomold.txt” usando SFTP, o comando será:
rm beebomold.txt
Isso excluirá o arquivo “beebomold.txt” do servidor remoto.
5. Movendo arquivos dentro do servidor remoto
Usar o Terminal como um cliente FTP também pode permitir que você mova arquivos dentro do próprio servidor remoto, exatamente da maneira que você faria em um cliente FTP de terceiros.
Usando FTP ou SFTP
O comando para mover arquivos dentro do servidor em FTP e SFTP é:
renomear file_name path_to_new_file / file_name
Por exemplo, se eu quiser mover um arquivo chamado “testresults.txt” do diretório “test” para o diretório “results”, o comando se tornará:
renomear testresults.txt results / testresults.txt
Isso moverá o arquivo “testresults.txt” para a subpasta “results”.
6. Verifique a data da “última modificação”
Verificar a data da “última modificação” de um arquivo ou pasta é útil se você precisa saber quais arquivos e pastas foram atualizados e quando. Você também pode conseguir isso no Terminal.
Usando FTP ou SFTP
O comando para verificar a data da última modificação de um arquivo é:
ls -l file_name
Este comando exibe algumas informações em uma forma tabular. A coluna com os valores de data e hora corresponde ao valor “Última modificação”.
Por exemplo, se eu quisesse verificar a data em que “testresults.txt” foi modificado pela última vez, o comando será:
ls -l testresults.txt
7. Verifique e modifique as permissões
Ter os arquivos configurados com as permissões adequadas é muito importante. Às vezes, permissões erradas podem fazer com que seu aplicativo da web nem mesmo carregue.
Usando FTP ou SFTP
- Verificando permissões
Verificar e modificar as permissões usando o Terminal como cliente é muito simples, o comando é:
ls -l file_name
Este comando exibe algumas informações em uma forma tabular. A primeira coluna exibe as permissões do arquivo.
Por exemplo, se eu quiser verificar as permissões no arquivo “testresults.txt”, usarei o comando como:
ls -l testresults.txt
- Modificando Permissões
Se você vir um arquivo com permissões incorretas ou se quiser apenas brincar com as permissões, pode usar o Terminal para modificar as permissões do arquivo. O comando é:
chmod permissions_value file_name
Por exemplo, se eu quiser dar permissões completas de leitura, gravação e execução para o arquivo “testresults.txt”, o comando se tornará
chmod 777 testresults.txt
Este comando dará permissões de leitura, gravação e execução para o arquivo “testresults.txt”
8. Crie novos arquivos
A criação de novos arquivos no servidor é uma tarefa difícil de realizar no Terminal. No entanto, isso não significa que não seja possível. O problema com a criação de novos arquivos é que você precisa ter uma cópia do arquivo em seu laptop antes de carregá-lo no servidor.
Usando FTP ou SFTP
Os comandos para criar um arquivo no servidor remoto são:
!toque em file_name
colocar file_name file_name
Por exemplo, se eu quiser criar um arquivo “newtest.txt” no servidor, os comandos se tornarão:
!toque em newtest.txt
coloque newtest.txt newtest.txt
Isso criará um novo arquivo chamado “newtest.txt” e fará o upload para o servidor.
9. Edite os arquivos existentes
Editar arquivos existentes também é um recurso importante. Você pode editar um arquivo no próprio Terminal, usando programas como nano, emacs etc., que já estão embutidos no Terminal. Nano é mais simples de entender, e vou usá-lo neste exemplo.
Usando FTP ou SFTP
Os comandos para editar arquivos existentes no servidor remoto são:
obter file_name file_name
!nano file_name
colocar file_name file_name
Por exemplo, se eu quiser editar o arquivo “newtest.txt”, os comandos se tornarão:
obter newtest.txt newtest.txt
!nano newtest.txt
coloque newtest.txt newtest.txt
Esses comandos irão editar o arquivo “newtest.txt” e enviá-lo de volta para o servidor.
10. Criação de cópias duplicadas de arquivos
Quando você está editando arquivos no servidor remoto, é melhor ter uma cópia do arquivo original, apenas no caso de você bagunçar alguma coisa.
Usando FTP ou SFTP
Para criar uma cópia duplicada de um arquivo no servidor remoto, os comandos são:
obter file_name file_name
!mv file_name new_file_name
colocar new_file_name new_file_name
Por exemplo, se eu quiser criar uma cópia duplicada “newtest_copy.txt” de “newtest.txt”, os comandos se tornarão:
obter newtest.txt newtest.txt
!mv newtest.txt newtest_copy.txt
put newtest_copy.txt newtest_copy.txt
CONSULTE TAMBÉM: 8 comandos úteis do FFmpeg que você deve usar em seu Mac
Aproveite o poder do terminal Mac com FTP ou SFTP
Agora que você sabe como usar o Terminal como um cliente FTP ou SFTP, pode usá-lo para FTP ou SFTP em seu servidor de desenvolvimento, sem se preocupar com aplicativos de terceiros instalando bloatware ou não protegendo seu tráfego. Se você tiver problemas com o uso de FTP ou SFTP em seu Terminal, ou se achar que perdemos algo, informe-nos na seção de comentários abaixo.