Edgard Leal

My personal blog hosted on Github using Jekyll

Home View on GitHub
30 July 2014

linux

Introdução

Muitas vezes no dia precisamos criar uma pasta e em seguida entrar nesta pasta para realização de algum procedimento dentro desta, que seria algo como:

-> mkdir pasta
-> cd pasta

 

Utilizando funções

É possível criar funções( comandos ) personalizados modificando o arquivo ~/.bashrc ( ou ~/.profile se for mac ) que é o arquivo com código Shell que é executando quando é iniciada uma nova instância do terminal, desta forma, toda vez que você abrir o terminal, ou logar no servidor este arquivo será executado a as funções contidas nele ficarão disponíveis.

Para isso adicione as seguinte linhas neste arquivo:

 function mkcd
 {
   local final_dir=""
   for i in $@
   do
     [ ! -d "$i" ] && mkdir -pv "$i"
     final_dir="$i"
   done
   cd "$final_dir"
 }

Uso:

-> pwd
/Users/edgardleal/tmp
-> mkcd nova/pasta pasta_final
-> pwd
/Users/edgardleal/tmp/pasta_final

No final você estará na pasta "pasta_final".

OBS: nesta função foi utilizado o parâmetro -p do comando mkdir que cria toda a raiz de pasta quando a pasta "pai" não existir.

Ex.:

mkdir -p a/b/c/d/e/f  #caso estas pastas não existam , todas serão criadas.

# Mesmo que a pasta "a" não exista, toda esta estrutura será criada
.
└── a
    └── b
        └── c
            └── d
                └── e
                    └── f

 

Utilizando alias

Em algumas situações o recurso que desejamos implementar é tão simples que não precisamos criar um função Shell, neste caso podemos criar apenas um alias para um determinado comando. Uma situação comum para utilização deste recurso é com comando onde costuma-se repetir sempre os mesmos parâmetros. Veja alguns exemplos:

Listando os maiores arquivos de uma pasta

Existem situações onde é preciso liberar espaço em disco rapidamente para que ou seu serviço não pare por falta de espaço no HD ou simplesmente para fazer uma limpeza.

# Este comando lista os 5 maiores arquivos na pasta atual
alias findbig='find . -type f -exec ls -s {} \; | sort -n -r | head -5'

Listando arquivos

Já se perguntou quantas vezes por dia você executa o comando ls ?

Abaixo segue alguns exemplos de como enriuecer seu arquivo .bashrc/.profile:

alias ll='ls -alF'  # Todos os arquivos formato lista classificados
alias la='ls -A'    # Todos os arquivos exceto . e ..
alias l='ls -CF'    # Lista os arquivos em colunas

Você encontra estes e outros exemplos no arquivo completo aqui.

 

 



blog comments powered by Disqus