2 Apr

O Bash (Bourne Again Shell) é, com certeza, o shell mais utilizado no mundo. Ele é utilizado por padrão em todas as distribuições linux que conheço e também no MacOSX. Portanto o domínio de sua linguagem e comandos é essencial para os programadores que não utilizam exclusivamente o ambiente Windows. Na verdade, com o cygwin é possível ter todo poder do bash e outras ferramentas GNU no Windows, aumentando muito a produtividade do desenvolvedor.
Posts Relacionados:
Assine nosso RSS feed!
18 Feb

Quem já instalou alguma distribuição Linux além do Ubuntu (e as vezes até o mesmo) sabe como pode ocorrer vários problemas para fazer alguns dispositivos funcionarem. Aparentemente isso é ainda mais complicado em caso de notebooks, que variam muito a características de hardware. Outro problema é, se você deseja comprar um novo notebook, será que ele é Linux-friendly, ou seja, será que você vai instalar alguma distribuição e, mesmo que de trabalho, você conseguirá que tudo funcione nele?
Posts Relacionados:
Assine nosso RSS feed!
22 Aug
No Linux (qualquer distribuição) é possível aumentar a sua memória swap (responsável por armazenar partes da sua RAM no disco) com uma pequena série, bem simples, de comandos. Isso é útil para não precisar reparticionar seu disco por falta de swap.
Primeiro criamos um arquivo (aqui chamado de container) com count blocos de tamanho bs (no caso, 64 blocos de 1024k, ou seja, 64M):
dd if=/dev/zero of=container bs=1024k count=64
Posteriormente, criamos a estrutura de swap no arquivo:
mkswap container
E finalmente, adicionamos mais swap:
swapon container
Atenção: Isso não faz com que essa memória de swap esteja disponível após um reboot. Para isso você deve adicionar o swapon container nos scripts de inicialização do seu sistema.
Posts Relacionados:
Assine nosso RSS feed!
28 Jul
O Terminal é uma das ferramentas mais interessantes do Linux, e mesmo que você tenha o X instalado, dominar o bash é muito útil para realizar tarefas de forma muito mais rápida. Programadores normalmente usam mais o terminal do que a interface gráfica, sendo que já presenciei um amigo usar o lynx por ser mais rápido do que abrir o firefox e entrar numa determinada página na qual ele não precisava visualizar imagens.
Quem usa muito o terminal normalmente acaba usando alguns alias para melhorar ainda mais o tempo de realizar tarefas. Alias são atalhos criados no terminal que permite renomear comandos, mas que são exclusivos para o terminal e a sessão atual, para que os mesmos se tornem permanentes é necessário “carrega-los” sempre que um terminal for aberto e isso é feito modificando o ~/.bashrc (existe um bashrc geral para o sistema no /etc/bash.bashrc no Ubuntu e no /etc/bash/bashrc no Gentoo).
Vamos primeiro salvar um backup do bashrc atual por segurança. Para isso digite:
cp ~/.bashrc ~/.bashrc.bak
Caso algo saia errado durante esse tutorial basta reescrever o bashrc antigo com:
cp ~/.bashrc.bak ~/.bashrc
Para evitar ficar escrevendo diretamente no bashrc, que pode precisar ser atualizado pela distribuição, é melhor criar um arquivo a parte e referencia-lo no bashrc. Isso pode ser feito dessa forma:
if [ -f ~/.bashrc ]; then
source ~/.VidaGeek_bashrc
fi
O objetivo é criar atalhos para os comandos mais utilizados no terminal e podemos descobrir quais são esses comandos através deste comando:
history | awk '{print $2}' | awk 'BEGIN {FS="|"}{print $1}' | sort | uniq -c | sort -n | tail | sort -nr
Para quem instala muita coisa no sistema provavelmente o comando mais utilizado seja o sudo pois ele é utilizados na administração do sistema (isso pode não ocorrer se você executa seus comandos como root). Podemos encurtar estes comandos que normalmente utilizam o sudo e ainda por cima precisam de vários parâmetros. Para criar estes atalhos adicione as linhas abaixo no arquivo ~/.VidaGeek_bashrc. Os próximos comandos estão em duas versões, uma para Ubuntu e outra para Gentoo, mas podem ser alterados para refletir o gerenciador de pacotes da sua distribuição.
Instalação
Ubuntu: alias inst="sudo apt-get install -y"
Gentoo: alias inst="sudo emerge"
Desinstalação
Ubuntu: alias remp="sudo apt-get remove"
Gentoo: alias remp="emerge -C"
Busca de pacotes
Ubuntu: alias search="apt-cache search"
Gentoo: alias search="emerge -s"
Atalhos para todas distribuições
Estes atalhos são para qualquer distribuição Linux podendo ser usados normalmente (apenas um detalhe: você precisa do gcc e g++ instalados caso use os atalhos de programação)
Movimentação entre pastas
Mudando o ls para um arquivo por linha e arquivos ocultos: alias ls="ls -al"
clear com uma tecla: alias c="clear"
up para pasta anterios: alias up="cd .."
home para voltar na pasta home: alias home="cd ~"
disk para ir a raiz do sistema: alias disk="cd /"
trash para limpar a lixeira: alias trash="rm -fr ~/.Trash"
Comando seguros
Mudando o rm: alias rm="rm -i"
Mudando o mv: alias mv="mv -i"
Comandos para programadores
Compilando com ANSI-C: alias ansi-gcc="gcc -Wall -ansi -pedantic"
Compilando com ANSI-C++: alias ansi-gcc="g++ -Wall -ansi -pedantic"
Mudando o histórico
O histórico é muito útil para os viciados em terminal, pois com apenas algumas teclas nos poupamos o trabalho de reescrever uma linha inteira e possivelmente longa. Além das setas para cima e para baixo, podemos usar também o ctrl+r para buscar comandos digitados. Para aumentar o tamanho do seu histórico coloque as seguintes linhas no seu arquivo:
HISTFILESIZE=100000000
HISTSIZE=100000
Mas algumas pessoas preferem que não haja histórico por uma questão de privacidade, caso você prefira desse jeito coloque:
HISTFILESIZE=0
HISTSIZE=0
Completion
O completion (acessado pelo tab) é outra coisa muito interessante do terminal e normalmente as distribuições oferecem ainda
pacotes com mais opções de completion (como o Gentoo através do gentoo-bashcomp). Mas algumas vezes o completion, mesmo instalado, precisa ser iniciado pelo bashrc, isso deve ser feito adicionando este código (não há problema em adiciona-lo se já estiver ativo):
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
No caso do Gentoo, se você instalou o gentoo-bashcomp adicione também:
[[ -f /etc/profile.d/bash-completion ]] && \
source /etc/profile.d/bash-completion
Encriptando e Desencriptando
É possivel encriptar e desencriptar um arquivo facilmente através dos comandos encrypt e decrypt seguido do arquivo adicionando estes comandos e garantindo que você tem o gpg instalado.
encrypt ()
{
gpg -ac --no-options "$1"
}
decrypt ()
{
gpg --no-options "$1"
}
Mensagem Inicial
Você pode alterar a mensagem que aparece quando você abre o terminal. Para isso você pode usar comandos como o echo que imprime no terminal uma frase entre aspas. Uma outra coisa interessante é mostrar o fortune, um programa que mostra frases variadas, sempre que inicia o terminal. Abaixo há um exemplo com alguns comandos úteis.
clear
echo -ne "Hoje e "; date
echo -e ""; cal ;
fortune
Mensagem customizada de prompt
Por fim, podemos alterar o costumeiro rafael@PowerTux ~ $ por algo mais simpático, como [19:28:05 rafael ~]$, para isso adicione:
PS1="[\t \u \W]\\$ “
Arquivos deste tutorial
Disponibilizei três versões do arquivo deste tutorial, uma para Gentoo, uma para Ubuntu e uma para qualquer distribuição (pois não contém os comandos de instalação). Você precisará renomea-las para .VidaGeek_bashrc e colocar na sua home para poder usar.
Espero que este tutorial tenha sido útil para aprender um pouco mais sobre bash e para melhorar o seu desempenho no terminal.
Adaptado do LifeHacker
Posts Relacionados:
Assine nosso RSS feed!