SSH: Simplificando tarefas com o Secure Shell
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.

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

Agora divirta-se, você está 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:
- É 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.JPGsão modificados para.jpg, mas as possibilidades são infinitas).
<update>
Como sugeriu o Elcio, uma solução ainda mais interessante seria utilizar o comandorename "s/JPG$/jpg/” *.JPG, para evitar problemas caso a imagem contenha “JPG” no nome (no nome mesmo, não na extensão).
</update> - 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. - 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:
Elcio 8 de abril de 2007 às 09:59
Excelente.
Para o primeiro exemplo, você poderia usar o comando rename:
rename "s/JPG/jpg/" *.JPGTanto 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/" *.JPGEmanuel 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.