Intereting Posts
Как смонтировать съемный носитель в / media / <LABEL> автоматически при вставке без какой-либо среды рабочего стола? Как выйти из пейджера GRUB2 раньше? С чем связаны термины CC, LD и SHIPPED во время процесса компиляции ядра ядра? Что Linux Distro поддерживает поддержку Ethernet-чипа Killer E2200? Как удалить Linux.MulDrop.14? mdadm, неверный уровень RAID? Как получить IP-адрес устройства, открытый в сети простым способом? fedora – снимок недействителен Каков самый быстрый способ установки GCC на Wind River 3.02? эхо-тест | stty -echo -> stty: стандартный ввод: несоответствующий ioctl для устройства ksh: для печати четвертой строки над согласованной линией и второй строкой после согласованной строки Почему «{}» и «%» обычно используются как переменные в xargs? sed, чтобы удалить все строки с рисунком и добавить строки в конце Debian: порядок DNS-серверов при использовании VPN Как установить тег по умолчанию для окон jEdit в Awesome WM?

команда, которая работает как символ ~ (тильда) для представления некоторого каталога

cd ~/scripts . Это войдет в каталог скриптов в моем доме. Подобно этому, мне нужен какой-то параметр «псевдонима», который позволит мне войти в другой каталог, чтобы cd xxx/mywork > перешел в каталог «mywork» / home / work / software. Я хочу, чтобы команда установила xxx в /home/work/software .

Я не знаю, какую оболочку вы используете, но zsh имеет встроенную поддержку для этого. Он называется именованными каталогами .

Чтобы настроить это, добавьте следующий код в .zshrc:

 mywork=/home/work/software #set variable : ~mywork #Reference variable with a tilde in a no-op statement 

Затем вы можете использовать его в командной строке следующим образом:

 $ cd ~mywork 

Или это:

 $ cd ~mywork/sub/directories 

Полное объяснение того, как / почему синтаксис настройки этих работ можно найти здесь: названные каталоги .

Похоже, установка CDPATH может приблизить вас к тому, что вы спрашиваете:

 cd cd [-L|[-P [-e]] [-@] [directory] Change the current working directory to directory. [...] If the shell variable CDPATH exists, it is used as a search path: each directory name in CDPATH is searched for directory, with alternative directory names in CDPATH separated by a colon (':'). If directory begins with a slash, CDPATH is not used. 

Таким образом, если у вас есть /home/work на вашем CDPATH , тогда cd software поможет вам войти в /home/work/software .

Если вам требуется что-то поближе к конкретному вопросу, возможно, установка каталога с символическими ссылками и установка этого каталога будет еще лучше. Например, mkdir ~/.links , затем CDPATH=~/.links , а затем внутри ~/.links создайте символическую ссылку mywork в /home/work/software . Тогда cd mywork должен доставить вас туда.

Это не совсем то, о чем вы просите, но вы можете взглянуть на Z (работает в bash и zsh ), который отслеживает ваши наиболее используемые каталоги на основе «frecency» и позволяет вам прыгать.

В вашем примере это будет что-то вроде:

 z software 

и это, вероятно, изменит каталог на:

  /home/work/software 

Я последовал предложению здесь: http://jeroenjanssens.com/2013/08/16/quickly-navigate-your-filesystem-from-the-command-line.html и никогда не оглядывался назад. Ключом к этой утилите является то, что «cd» будет следовать символическим ссылкам на каталоги и функции оболочки, которая выглядит примерно так:

 export JJPATH=$HOME/.jjlinks function jj { cd -P "$JJPATH/$1" 2>/dev/null || echo "No such link: $1" } 

В каталоге $ HOME / .jjlinks вы ставите все символические ссылки, которые вам нравятся. Существуют и другие простые функции оболочки, чтобы сделать такую ​​ссылку на глубоко вложенный каталог, который вы сейчас находите.

Я использовал «jj», в честь автора этого предложения (плюс, где мой правый указательный палец в большинстве случаев), и так:

  jj pj7 

немедленно меняет мою директорию на "~ / projects / sequence / hepatocyte / seq_783 / bin /"

Я думаю, что эта утилита может быть тем, что вы ищете: http://micans.org/apparix/