
Todos do mundo UNIX/GNU usam constantemente o comando cd para entrar em pastas pelo terminal.
O comando cd, também conhecido por chdir, é um comando implementado em interfaces de linha de comandos de diversos sistemas operacionais (Unix ou qualquer um do tipo Unix, DOS, Windows, OS/2 e AmigaOS).
Nos sistemas GNU(usado pela maioria das distros Linux) ele é um shell builtin, ou seja, é um pouco mais complicado de fazer um patch.
O comando cd é muito útil, no entanto, uma das coisas mais chatas é quando você entra em muitas pastas e deseja voltar somente um quantidade exata e precisa rodar comando exemplo isso:
cd ../../../../../../
# Ou
cd ..
cd ..
cd ..
cd ..
cd ..
cd ..Em ambos os casos acima, é necessário voltar 6 vezes.
Mas, podemos criar um função Bash que diminue essa quantidade de escrita para facilitar ir de forma mais rápida e like a boss para a 6º pasta atrás sem muita dificuldade, assim: cd -6, basta adicionar essa função abaixo ao final do seu ~/.bashrc:
cd() {
if [[ "$1" =~ ^-[0-9]+$ ]]; then
local n=${1#-}
local path=""
for ((i=0; i<n; i++)); do
path+="../"
done
builtin cd "$path"
else
builtin cd "$@"
fi
}Depois releia o seu ~/.bashrc com o comando: exec $BASH ou source ~/.bashrc e depois é só testar:
cd -6Ou seja, use -(traço/menos) o número de pastas atrás que deseja, exemplos: cd -8, cd- 7, cd -11,…
Lembrando que para ir para a pasta pessoal basta rodar:
cd(sem argumentos) e para retornar onde estava, use:cd -sem definir nenhum número!
Simples e prático, né?!
gnu bash shell terminal comandos