Pular para o conteúdo

Emanuel Felipe .NET

Desenvolvimento web, blogging, linux e um pouco mais.

Pesquisa

SSH: Simplificando tarefas com o Secure Shell

7 de abril de 2007 Cotidiano

A não ser que você já seja usuário de Linux, provavelmente nunca tenha ouvido falar em SSH, eis então uma ótima hora para descobrir do que se trata e em que pode lhe ajudar no dia-a-dia. Tem um pouco a ver com Telnet (aposto que já ouviu esse nome) mas a diferença é a conexão criptografada, tornando as operações mais seguras.

Partindo do ponto que seu servidor de hospedagem tem acesso por SSH, vamos aprender a usá-lo: Para quem utiliza Linux, basta abrir a linha de comando e digitar ssh nome.do.host, já para usuários de Windows, será necessário instalar um cliente (recomendo o PuTTY, basta efetuar o download e instalá-lo). Quando iniciar o PuTTY aparecerão as inúmeras configurações, onde geralmente só é preciso indicar o Host Name e então clicar em Open.

Configurações do PuTTY

Logo em seguida será aberta uma janela com linha de comando onde será perguntado seu nome de usuário (login) e a respectiva senha.

Login pelo PuTTY

Agora divirta-se, você está conectado!

PuTTY Conectado

Legal, mas se eu já uso um cliente de FTP, para que precisaria de outro de SSH?

Existem operações que podem economizar uma quantidade incalculável de tempo se realizadas com alguns simples comandos por SSH. Imagine as seguintes situações em seu cotidiano:

  1. É necessário realizar operações em massa como renomear todos os arquivos de uma pasta, e agora? Você pode renomear todos manualmente, ou usar a cabeça e digitar no SSH algo como for arq to *.JPG; do mv $arq ${arq/.JPG/.jpg};done (nesse caso todos os arquivos com a extensão .JPG são modificados para .jpg, mas as possibilidades são infinitas).
    <update>
    Como sugeriu o Elcio, uma solução ainda mais interessante seria utilizar o comando rename "s/JPG$/jpg/” *.JPG, para evitar problemas caso a imagem contenha “JPG” no nome (no nome mesmo, não na extensão).
    </update>
  2. Agora o desafio é criar um pacote de backup com todos os seus arquivos, você pode baixar todos eles separadamente, compacatá-los usando seu programa favorito e então enviar novamente por FTP. Mas é muito mais fácil conectar remotamente em seu servidor e executar zip -r backup.zip diretorio, você tem então seu arquivo backup.zip com todos os arquivos contidos na pasta diretorio.
  3. Essa vem do blog do Elcio, no artigo “Quem tem medo do terminal?“. Suponhamos que você precise copiar uma pasta chamada “site” para “sitenovo”, para então trabalhar de maneira segura na nova versão de seu site. Você vai baixar todos os arquivos para sua máquina (igualmente ao exemplo anterior), renomear a pasta e então enviá-los de volta? Não complique! Basta um simples comando: cp -r site sitenovo. Muito mais simples, não?

Citei apenas três exemplos, mas as possibilidades são infinitas e o tempo economizado é incontestável. Não tenha medo do terminal, e aproveite o que ele tem a oferecer.

Leitura recomendada:

2 Comentários, comente também!

  1. Elcio 8 de abril de 2007 às 9:59

    Excelente.

    Para o primeiro exemplo, você poderia usar o comando rename:

    rename "s/JPG/jpg/" *.JPG

    Tanto o meu exemplo quando o seu teriam problemas se o nome da imagem contivesse JPG. Por exemplo, se a imagem se chamasse “Foto em formato .JPG no Photoshop.JPG”

    Para resolver isso basta incluir um sinal na expressão regular dizendo que ela deve casar com o final da string:

    rename "s/JPG$/jpg/” *.JPG

  2. Emanuel Felipe 8 de abril de 2007 às 18:51

    Boa observação Elcio. Sempre me faltou essa “malicia de programador”, mas já acrescentei sua idéia ao post.

Deixe seu comentário:

  • São permitidas as seguintes tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Emanuel Felipe .NET - Todos os direitos reservados.

Isso significa que você não pode copiar ou distribuir o conteúdo deste blog em nenhum outro site sem minha autorização. Se tiver dúvidas entre em contato. Política de Privacidade.

Wordpress