Linux cd .. команда

Linux cd .. команда

Скажите, если мне нужно будет делать это часто:

cd ../../../../foo/sub1/bar/dest/
cd ../../../../foo2/sub1/bar/dest/
cd ../../../../foo3/sub1/bar/dest/
cd ../../../../foo/sub1/bar/dest/

Есть ли более быстрый способ не печатать ../../../../так много раз? Есть креативные идеи?

решение1

Классический способ сделать это — установить CDPATHпеременную. В вашем случае она может быть установлена ​​на .:../../../../или .:/path/to/the/parent/of/fooдля достижения желаемого эффекта. Затем вы можете просто сделать cd foo/sub1/bar/destи попасть туда, куда хотите.

Преимущество этого в том, что автодополнение клавишей Tab cdтакже учитывает $CDPATHи будет волшебным образом работать.

решение2

Вы можете использоватьавтопрыжоккоторый автоматически учится на предыдущей команде cd, и в следующий раз вам нужно будет только указать уникальную строку из полного пути. например, j foo, j foo1, j foo2

решение3

Вы можете создать ярлыки для этих команд, добавив псевдонимы в файл конфигурации bash (~/.bashrc или /etc/bash.bashrc)

alias cdd="cd ../../../../"

Затем, когда вы введете cddкоманду, она будет выполнена.

решение4

Недавно я наткнулся наhttps://github.com/rupa/z, который позволяет вам перейти к недавно использованному каталогу с помощью регулярного выражения. Так что вы можете сделать что-то вроде:

z foo3.*dest

вместо:

cd ../../../../foo3/sub1/bar/dest/

(при условии, что вы уже посещали этот каталог и ничто более недавнее / часто используемое не соответствует этому регулярному выражению)

Связанный контент