DEV Community

Marcelo Michels
Marcelo Michels

Posted on

Utilizando Alias para produtividade no terminal

Utilizar o terminal faz parte do dia a dia de todo programador, muitas vezes o uso desse terminal é para realizar ou executar quase sempre os mesmos comandos, alguns deles podem ser mais simples ou mais complexos. Desta forma, o quão bom seria possuirmos atalhos para esses comandos? Vamos ver abaixo como criar-los.

OBS: Todo esse post foi testado apenas no linux e macOS, não sei como é o funcionamento de algo parecido no windows.

Alias

O comando alias (apelido em português, eu particularmente também chamo de atalhos), permite definirmos um apelido para um determinado comando.

Podemos definir esse apelido dentro do arquivo .profile (dependendo do seu sitema operacional pode ser .bashrc, .zshrc ou algum similar) no diretório raiz de um usuário.

No meu caso vou editar o arquivo .zshrc e adicionar no final dele a linha abaixo.

alias ola="echo 'Isso foi impresso utilizando alias'"
Enter fullscreen mode Exit fullscreen mode

Após editar e salvar o arquivo, no terminal digite o comando abaixo para que ele considere as ultimas alterações realizadas no arquivo.

source ~/.zshrc
Enter fullscreen mode Exit fullscreen mode

Depois disso podemos testar se o apelido vai funcionar, então digite apenas ola no terminal para ver o que acontece, no meu caso o resultado foi o mostrado abaixo.

mm@MacBook-Pro-de-Marcelo ~ % ola
Isso foi impresso utilizando alias
Enter fullscreen mode Exit fullscreen mode

Pronto, já vimos na prática como criar um apelido para um determinado comando, mas agora vamos utilizar esses atalhos para coisas mais interessantes e uteis.

Atalhos git

Os atalhos que mais utilizo no meu terminal são do git, vou deixar abaixo todos eles, sendo que cada pessoa pode modificar os atalhos conforme o seu gosto.

alias gits="git status"
alias gita="git add --all"
alias gitc="git commit -m"
alias gitac="gita && gitc"
alias gitamend="gita && git commit --amend && git push -f"
alias gitp="git push"
alias gitacp="gitac \"push\" && gitp"
alias gitf="git fetch --all"
alias gitfp="gitf && git pull"
alias gitl="git log --pretty=format:'%C(yellow)%cr %C(cyan)%H %C(green)%an %C(blue)%d %C(white)%s'"
alias gitche="git checkout"
alias gitchemaster="git checkout master"
alias gitchedevelop="git checkout develop"
alias gitchenew="git checkout -b"
alias gitm="git merge"
alias gitdelbranchlocal="git branch -d"
alias gitdelbranchremote="git push origin --delete"
alias gitb="git branch -a"
alias gittag="git tag"
alias gittagpush="git push origin --tags"
Enter fullscreen mode Exit fullscreen mode

Isso também ajuda para quando esquecemos de algum comando não precisar pesquisar por ele em outros lugares.

Atalhos npm

Outra ferramenta que utilizo bastante é o npm, desta forma também tenho uma série de atalhos para ele.

alias nr="npm run"
alias nrd="npm run dev"
alias nrt="nr test"
alias nrcopen="brave-browser coverage/lcov-report/index.html"
alias nrc="npm run test:coverage"
alias nrco="nrc && nrcopen"
alias covo="nrco"
alias nrb="nr build"
alias ns="npm start"
alias ni="npm install"
alias nu="npm uninstall"
alias npmrmi="rm -rf node_modules && rm -f package-lock.json && npm i"
Enter fullscreen mode Exit fullscreen mode

Atalhos ssh

Sempre que preciso conectar em uma maquina ou servidor por ssh, preciso lembrar ou buscar qual o IP da maquina em algum outro lugar. Então também resolvi esse problema utilizando uma outra sessão de atalhos.

alias sshProjetoHomolog="ssh homologUser@192.168.1.100"
alias sshProjetoProd="ssh prodUser@192.168.1.101"
alias sshGitlab="ssh gitlabUser@192.168.1.102"
Enter fullscreen mode Exit fullscreen mode

Atalhos VS Code e Docker

alias cdProjeto="cd ~/developer/projeto"
alias cdProjetoDocker="cdProjeto && cd scripts/docker"
alias cdProjetoFront="cdProjeto && cd projeto-frontend"
alias cdProjetoServer="cdProjeto && cd projeto-server"
alias cdProjetoWorker="cdProjeto && cd projeto-worker"

# Abre no vscode o projeto
alias projetoOpen="cdProjeto && code projeto.code-workspace"

# Build total ou parcial 
alias projetoBuild="cdProjetoDocker && docker-compose -f docker-compose.local.yml build --no-cache"
alias projetoBuildServer="projetoBuild projeto-server"
alias projetoBuildWorker="projetoBuild projeto-worker"

# Execução total ou parcial
alias projetoRun="cdProjetoDocker && docker-compose -f docker-compose.local.yml up"
alias projetoRunServer="projetoRun projeto-server"
alias projetoRunWorker="projetoRun projeto-worker"
alias projetoRunFront="cdProjetoFront && ns"

# Build and Run
alias projetoBuildAndRun="cdProjetoDocker && projetoBuild && projetoRun"

# stop
alias projetoStop="cdProjetoDocker && docker-compose -f docker-compose.local.yml down"

Enter fullscreen mode Exit fullscreen mode

compare a enorme diferença entre digitar todos os comandos na mão

cd ~/developer/projeto/scripts/docker
docker-compose -f docker-compose.local.yml build --no-cache
# Esperar a build terminar
docker-compose -f docker-compose.local.yml up

Enter fullscreen mode Exit fullscreen mode

Substiindo todos os comandos acima por um atalho:

projetoBuildAndRun
Enter fullscreen mode Exit fullscreen mode

As vezes o tempo de espera é o maior vilão, pois enquando gera a build vc vai pro navegador ou pra caixa de e-mails e quando volta terminal esta ocioso esperando pelo próximo comando.

Pode bater o enter e ir fazer um café e quando voltar tudo vai estar OK, sem perca de tempo com terminal ocioso na espera pelo próximo comando.

Dica extra

Eu mantenho um repositório privado no meu github com alguns comandos de setup e instação, para quando eu formatar minha maquina possa buscar esses comandos e scripts de uma forma bem rápida. Também passei a adicionar dentro desse repositório um arquivo que contem todos os meus alias, desta forma eu apenas importo o arquivo .myCustomAlias de dentro do meu repositório lá no arquivo .zshrc, para fazer essa importação basta adicionar a linha abaixo no arquivo .profile ou .zshrc.

source ~/path-to-my-repo/.myCustomAlias
Enter fullscreen mode Exit fullscreen mode

Espero que tenha ajudado e inspirado vocês a criarem seus próprios atalhos, apelidos, aliases (como preferirem chamar).

Discussion (0)