Aliases e funcoes no bash transformam comandos longos em atalhos de uma palavra. Depois que voce comeca a usar, nao volta mais.
Para criar um alias simples, adicione no ~/.bashrc ou ~/.bash_aliases:
alias ll='ls -la --color=auto'
alias gs='git status'
alias gc='git commit -m'
alias gp='git push'
alias dc='docker compose'
alias dps='docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Image}}"'
Recarregue com:
source ~/.bashrc
Aliases aceitam parametros no final. Para parametros no meio, use funcoes:
gmkdir() {
mkdir -p "$1" && cd "$1"
}
Uso: gmkdir novo-projeto cria a pasta e ja entra nela.
Funcoes de busca frequente:
findtext() {
grep -rn "$1" --include="*.py" --include="*.java" "$2" .
}
findfile() {
find . -name "*$1*" 2>/dev/null
}
Uso: findtext "TODO" src/ ou findfile "Dockerfile".
Funcao para navegar rapido no Git:
gcob() {
git checkout -b "$1" 2>/dev/null || git checkout "$1"
}
Uso: gcob main faz checkout para main. gcob feature/x cria e vai para o branch novo.
Para navegar entre projetos:
proj() {
cd ~/projects/"$1" 2>/dev/null || echo "projeto nao encontrado"
}
compro() {
compgen -W "$(ls ~/projects)" -- "$1"
}
complete -F compro proj
Agora proj meu-app ja leva para ~/projects/meu-app. O autocomplete via complete -F mostra a lista de projetos ao apertar Tab.
Funcao para backup rapido:
backup() {
cp "$1"{,.bak}
}
Uso: backup config.yaml cria config.yaml.bak.
Mini calculadora no terminal:
calc() {
echo "$*" | bc -l
}
Uso: calc "42 * 3.14 + 10".
Para extrair qualquer tipo de arquivo sem lembrar o comando:
extract() {
case "$1" in
*.tar.gz) tar xzf "$1" ;;
*.tar.bz2) tar xjf "$1" ;;
*.zip) unzip "$1" ;;
*.rar) unrar x "$1" ;;
*.7z) 7z x "$1" ;;
*) echo "formato nao reconhecido" ;;
esac
}
Coloque tudo em um arquivo separado como ~/.bash_aliases e mande source no ~/.bashrc:
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
Assim voce mantem os aliases organizados sem poluir o ~/.bashrc.
That's all for now.
Thanks for reading!
Top comments (0)