Vivemos em um mundo em que o tempo é precioso, e sempre temos que executar por diversas vezes diariamente os mesmos procedimentos. Para quem trabalha com o shell bash, podemos configurar teclas de atalhos para facilitar nosso dia-a-dia.
1) Criação de Links
Vamos entender as diferenças entre links (hard links) e links simbólicos (symlinks) e as vantagens e desvantagens de cada um.
O que são links
Links são pseudo arquivos que apontam para um arquivo real.
Links simbólicos
Links simbólicos são pequenos arquivos que apontam para um outro arquivo no sistema de arquivos. Um link simbólico pode apontar para um arquivo em qualquer lugar, seja no próprio sistema de arquivos onde ele está localizado, seja em outro sistema de arquivos e, até mesmo em sistemas de arquivos remotos, como NFS, por exemplo. Podem tembém apontar para diretórios. Por ser um arquivo, um link simbólico ocupa espaço - pouco, é verdade - no sistema de arquivos.
Você pode ver se um arquivo é na verdade um link simbólico, dando um ls -l no diretório onde ele se encontra. Os links simbólicos contém um l ? esquerda da lista de permissões e não contém permissões na verdade. As permissões do arquivo real são usadas. Se o arquivo real for apagado o link simbólico vira um “link morto” (dead link), ou seja, um link que aponta para um local que não existe. Para criar um link simbólico, basta acrescentar o argumento “-s
O comando para a criação de um link simbólico é
[root@reale] $ ln -s /caminho/arquivo nome_do_link
Exemplo: [root@reale] $ ln -s /home/reale/firewall.sh firewall
Hard links
Hard links não são links na verdade. São apenas uma cópia de uma entrada do sistema de arquivos. As duas entradas contém nomes diferentes mas apontam para o mesmo local físico no disco (inode, no caso de sistemas de arquivos ext2 e ext3) compartilhando, portanto, além do mesmo conteúdo as mesmas permissões. Se o arquivo verdadeiro for apagado, o hard link continua apontando para o mesmo local físico sendo, portanto, acessível da mesma forma.
O problema dos hard links é que eles têm duas limitações importantes:
o arquivo e o hard link que aponta pra ele devem obrigatoriamente estar localizados no mesmo sistema de arquivos já que o hard link aponta para um endereço físico (inode) e não se pode garantir que estes endereços sejam únicos em vários sistemas de arquivos. Suponha, por exemplo, um arquivo localizado no inode 50 no sistema de arquivos hda3. Não se pode garantir que em outro sistema de arquivos, hda5 por exemplo, não haja um outro arquivo com número de inode 50.
A outra limitação é que um hard link não pode apontar para um diretório. Hard links não ocupam espaço no sistema de arquivos.
O comando para a criação de um hard link é
[root@reale] $ ln /caminho/arquivo nome_do_link
Exemplo: [root@reale] $ ln /home/reale/firewall.sh firewall
2) Aliases e funções
Aliases e funções são utilizados para incrementar alguns recursos ou simplesmente simplificar comandos mais complexos.
Exemplo de alias:
alias montaCDROM=”mount /dev/hdc /mnt/cdrom”
O alias acima diz que quando digitarmos o comando “montaCDROM” será executado o comando “mount /dev/hdc /mnt/cdrom”.
Este comando só é valido para a seção do bash corrente, para adiciona-lo permanentemente basta editar o arquivo ~/.bashrc e adicionar (alias montaCDROM=”mount /dev/hdc /mnt/cdrom”).
Funções são utilizadas para se executar comandos mais complexos, que necessitem de mais de uma linha para serem executados.
Exemplo de função:
function lf
{
ls –color=tty –classify $*
echo “$(ls -l $* | wc -l) files”
}
Dessa forma, quando for digitado no prompt de comando “lf”, tudo o que está entre as chaves será executado.
3) Cliando Atalhos no Teclado
O Shell Bash já possui varias teclas de atalhos como foi apresentando no artigo: —-, mas vc tambem pode personalizar o seus próprios atalhos, por exemplo, com a combinação das teclas Ctrl + P você visualizar suas configurações de rede.
Conheça agora o bind. Não é o Bind usado para implementar servidores DNS e sim um comando que lhe ajuda a personalizar seus atalhos no Bash .
Vamos a um exemplo:
Usando o exemplo acima, supondo que você queira visualizar suas configurações de rede com as combinações das teclas Ctrl + P, para criar esse atalho usamos a seguinte combinação:
bind -x ‘”\C-p”‘:ifconfig
Agora sempre que você pressiona as teclas Ctrl + P, serão exibidas suas configurações de rede.
Obs: Não se esqueça dos apóstrofos e aspas.
Para remover um atalho, utilizamos o seguinte comando:
bind -r ‘\C-p’
Deixe uma resposta.