Diga se preciso fazer muito isso:
cd ../../../../foo/sub1/bar/dest/
cd ../../../../foo2/sub1/bar/dest/
cd ../../../../foo3/sub1/bar/dest/
cd ../../../../foo/sub1/bar/dest/
Existe alguma maneira mais rápida de não digitar sempre ../../../../
tantas vezes? Alguma ideia criativa?
Responder1
A maneira clássica de fazer isso é definindo a CDPATH
variável. No seu caso, pode ser definido para .:../../../../
ou .:/path/to/the/parent/of/foo
para obter o efeito desejado. Você pode então simplesmente fazer cd foo/sub1/bar/dest
e chegar onde quiser.
A vantagem disso é que o preenchimento de guias cd
também funciona $CDPATH
e funciona magicamente.
Responder2
Você pode usarsalto automáticoque aprende automaticamente com o comando cd anterior e você só precisa especificar uma string exclusiva do caminho completo na próxima vez. ex.
j foo
,
j foo1
,
j foo2
Responder3
Você pode criar atalhos para esses comandos adicionando aliases ao arquivo de configuração bash (~/.bashrc ou /etc/bash.bashrc)
alias cdd="cd ../../../../"
Então, quando você digitar, cdd
ele executará esse comando.
Responder4
Recentemente me depareihttps://github.com/rupa/z, que permite ir para um diretório usado recentemente por regex. Então você poderia fazer algo como:
z foo3.*dest
em vez de:
cd ../../../../foo3/sub1/bar/dest/
(desde que você tenha visitado esse diretório antes e nada mais recente/usado com frequência corresponda a esse regex)