Я заметил, что часто должен сделать что-то вроде этого:
Я нахожусь в пути: /very/long/path/1
и я должен перейти в /another/long/path/
сделать некоторые вещи там. Чем я должен возвратиться к моему /very/long/path/1
. Ко всем неприятностям иногда другой третий путь там, и я постоянно переключаюсь от одного до другого.
Это не проблема с cd
, но есть ли способ так или иначе хранилища, которое это соединяет каналом, и используйте их?
Я работаю из командной строки над некоторым удаленным хостом.
программа cdargs разработана явно в целях руководящих закладок часто посещаемых каталогов для простой навигации в оболочке точно как Вы, хотят. Это идет bash
интеграция оболочки и заполнение клавишей Tab на каталогах, которые Вы сохранили.
sudo apt-get install cdargs
. /usr/share/doc/cdargs/examples/cdargs-bash.sh
cd /very/long/path/1
mark path1
cd /another/long/path/
mark path2
cd /yet/another/third/long/path
mark foo
cv path1
cv foo
cv p<TAB> ## tab-completes to "path1/" or "path2/"
закладки, которые Вы создаете, сохраняются cdargs
в его собственном конфигурационном файле, таким образом, они автоматически перенесены от одной сессии оболочки до следующего и доступного в следующий раз, когда Вы входите в систему или открываете терминал.
Это даже идет с интерактивным режимом проклятий для просмотра полного списка отмеченных каталогов. Просто выполненный cv
или cdargs
без аргументов и это покажет список отмеченных путей к каталогам, что можно выбрать использование клавиш со стрелками или vi
- стиль hjkl
.
, Чтобы активироваться cdargs
для Вашей среды оболочки автоматически, просто источник /usr/share/doc/cdargs/examples/cdargs-bash.sh
от Вашего ~/.bashrc
или иначе принять меры, чтобы он был загружен в каждом bash
интерактивная оболочка. Например,
cp /usr/share/doc/cdargs/examples/cdargs-bash.sh ~/.bashrc-cdargs
echo '. ~/.bashrc-cdargs' >> ~/.bashrc
Посмотрите на pushd и команды popd. Можно найти информацию о Google, но в основном они похожи на CD со стеком как память.
Можно использовать cd -
для swith для длительности посещаемого каталога. Это сохранит Вас много времени.
Вы могли всегда добавлять псевдоним.
alias big='cd /very/long/directory/goes/here'
Тогда просто тип big
Для более постоянного псевдонима:
, Как я создаю постоянный псевдоним Bash?
<час>, Так как pushd и popd пример получили больше upvotes, но парень не объяснил его:)
В основном, когда Вы делаете pushd, он входит в список каталогов, которые можно поместить в него. (Если у Вас есть какой-либо фон программирования, это очень похоже при совании объекта из списка если не я объясню)
Поэтому, если Вы сделаете pushd ~/Music
, Вы просто добавили каталог к списку, из которого можно получить доступ. Можно также сделать pushd dir
для добавления текущего (рабочего) каталога к этому списку. Когда Вы будете использовать pushd
одна только команда, она циклически повторится через список (это - на самом деле технически стек).
Поэтому, если Вы хотите добавить 3 каталога. Это было бы похоже на это
user@user: pushd /really/long/dir/1/
< - Ввод данных пользователем
/really/long/dir/1/
< Вывод---
user@user: pushd /really/long/dir/2/
/really/long/dir/1/ /really/long/dir/2/
user@user: pushd /really/long/dir/3/
/really/long/dir/1/ /really/long/dir/2/ /really/long/dir/3/
Они будут все добавлены как так. Когда Вы будете использовать pushd
, это перейдет к следующему каталогу в списке и продвинет первое до конца. Таким образом, список запустился бы 1,2,3 и пошел бы 2,3,1-> 3,1,2-> 1,2,3.
popd
удаляет каталог впереди списка и перемещает Вас в первый каталог нового списка. Так позволяет, делают это с 4 каталогами. (принимающий popd команда используется каждый раз)
(запускаются с 1,2,3,4, в любом каталоге)
2,3,4 (Вы находитесь в каталоге 2)
3,4 (Вы находитесь в каталоге 3
4 (Вы находитесь в каталоге 4)
Пустой список (Никакое изменение каталога)