Я знаю, что это может быть дубликат, и если это так, я удалю его.
Какой самый простой способ перейти в глубокий каталог без необходимости вводить каталог каждый раз. Я делаю много вещей в тех же папках, но каждый раз, когда я открываю новый терминал, мне нужно снова перейти к каталогу.
До сих пор я использовал переменные в .bashrc, но есть проще, чем
cd $data
, чтобы добраться куда-нибудь? Например, если я хочу просто ввести «данные» и перейти к одной из моих папок данных, как мне это сделать?
Используйте cdable_vars:
$ data=/tmp
$ shopt -s cdable_vars
$ cd data
/tmp
Или autocd
$ shopt -s autocd
$ $data
cd -- /tmp
Из руководства:
autocd Если установлено, a имя команды, которое является именем каталога, выполняется, как если бы это был аргумент команды cd. Этот параметр используется только для интерактивных оболочек. cdable_vars Если это установлено, считается, что аргументом для встроенной команды cd, которая не является каталогом, является имя переменной, значение которой является каталогом, для которого требуется изменить.Было бы блестящим, если бы мы могли объединить эти два, но оба они кажутся взаимоисключающими по объему.
Моя первая мысль была в том, что сказал Сергий, но альтернативой является создание символической ссылки в вашем домашнем каталоге:
ln -s data /long/path/to/deep/directory/data
Теперь вы можете просто cd data (из вашего домашнего каталога, иначе это cd ~/data), когда вы хотите туда добраться. Это имеет дополнительное преимущество: если вы открываете nautilus и хотите туда попасть графически, вы также можете просто щелкнуть ссылку на данные в своем домашнем каталоге.
Просто сделайте псевдоним для соответствующей команды в ~/.bashrc.
alias data='cd /home/User/some_folder/another_folder/data/'
И запустите source ~/.bashrc. После этого вы можете просто ввести data в терминал, и он приведет вас туда
Используйте cdable_vars:
$ data=/tmp
$ shopt -s cdable_vars
$ cd data
/tmp
Или autocd
$ shopt -s autocd
$ $data
cd -- /tmp
Из руководства:
autocd Если установлено, a имя команды, которое является именем каталога, выполняется, как если бы это был аргумент команды cd. Этот параметр используется только для интерактивных оболочек. cdable_vars Если это установлено, считается, что аргументом для встроенной команды cd, которая не является каталогом, является имя переменной, значение которой является каталогом, для которого требуется изменить.Было бы блестящим, если бы мы могли объединить эти два, но оба они кажутся взаимоисключающими по объему.
Моя первая мысль была в том, что сказал Сергий, но альтернативой является создание символической ссылки в вашем домашнем каталоге:
ln -s data /long/path/to/deep/directory/data
Теперь вы можете просто cd data (из вашего домашнего каталога, иначе это cd ~/data), когда вы хотите туда добраться. Это имеет дополнительное преимущество: если вы открываете nautilus и хотите туда попасть графически, вы также можете просто щелкнуть ссылку на данные в своем домашнем каталоге.
Просто сделайте псевдоним для соответствующей команды в ~/.bashrc.
alias data='cd /home/User/some_folder/another_folder/data/'
И запустите source ~/.bashrc. После этого вы можете просто ввести data в терминал, и он приведет вас туда