Закладки каталогов в консоли с Apparix
При первоначальной настройке любого *nix сервера приходится часто перемещаться по каталогам, для правки конфигурационных файлов, проверки результата и так далее. За локальной консолью это не проблема, можно открыть несколько окон терминала и переключаться по мере необходимости, при удаленной настройке так уже не получится. Приходится довольствоваться одной консолью. BASH предоставляет лишь одну помощь — команда cd без аргументов вернет в домашний каталог. Некоторые выкручиваются при помощи псевдонимов (aliases) прописываемых в ~/.bashrc. Например,
Теперь в консоли достаточно набрать cdetc, чтобы перейти в нужный каталог. Конечно это самый простой пример, но принцип понятен. Но у него есть недостаток. Тяжело держать актуальным такой список, ведь сегодня настраиваешь одно, завтра другое. И главное использование псевдонимов на лету не возможно. Ведь его нужно вручную прописать его в ~/.bashrc, затем снова зарегистрироваться в системе. Вот здесь на помощь приходит Apparix, который поможет на лету создавать закладки каталогов и быстро переходить и управлять ими.
Нужный пакет доступен в репозитарии Debian/Ubuntu/Linux Mint поэтому выполняем:
но этого мало Apparix реализован в виде расширения (функций) к оболочке CSH или BASH и чтобы все работало необходимо самому все настроить. Все необходимые данные можно получить введя в консоли:
Вывод будет содержать немного лишнего, поэтому открываем и чистим.
Для BASH оставляем из добавленного только:
Сохраняем результат и повторно регистрируемся в системе.
После этого нам становится доступным несколько новых команд, разберем их на примерах.
Переходим в каталог:
Чтобы создать закладку используем команду bm (от bookmark):
Закладка создана. Для перехода к закладке используем команду to с указанием названия. Проверяем:
Кроме этого поддерживается переход к вложенным подкаталогам. Например чтобы перейти в /var/www/site1 используем команду:
Причем работает автодополнение по клавише, поэтому название вложенных каталогов запоминать нет необходимости.
Если использовать команду bm без аргументов будет автоматически создана закладка foo, вызвать которую также можно без аргументов (для быстрого перехода). Получить список закладок:
Изменить текущее значение закладки очень просто, переходим в новое место и создаем закладку с таким же именем.
Все установки сохраняются в файле ~/.apparixrc, который при необходимости можно отредактировать вручную.
Кроме этого следует обратить внимание на команду portal которая автоматически генерирует список подкаталогов как закладки.
В примерах были использованы каталоги небольшой вложенности, но когда требуется перемещаться по каталогам запрятаным глубоко в недрах файловой системы Apparix сильно выручает.
Ссылки: Сайт проекта Apparix — www.micans.org/apparix/
alias cdetc=`cd /etc`
Теперь в консоли достаточно набрать cdetc, чтобы перейти в нужный каталог. Конечно это самый простой пример, но принцип понятен. Но у него есть недостаток. Тяжело держать актуальным такой список, ведь сегодня настраиваешь одно, завтра другое. И главное использование псевдонимов на лету не возможно. Ведь его нужно вручную прописать его в ~/.bashrc, затем снова зарегистрироваться в системе. Вот здесь на помощь приходит Apparix, который поможет на лету создавать закладки каталогов и быстро переходить и управлять ими.
Нужный пакет доступен в репозитарии Debian/Ubuntu/Linux Mint поэтому выполняем:
$ sudo apt-get install apparix
но этого мало Apparix реализован в виде расширения (функций) к оболочке CSH или BASH и чтобы все работало необходимо самому все настроить. Все необходимые данные можно получить введя в консоли:
$ aparix --shell-examples >> ~/.profile
Вывод будет содержать немного лишнего, поэтому открываем и чистим.
Для BASH оставляем из добавленного только:
$ nano ~/.profile
function to () {
if test "$2"; then
cd "$(apparix "$1" "$2" || echo .)";
else
cd "$(apparix "$1" || echo .)";
fi
pwd
}
function bm () {
if test "$2"; then
apparix --add-mark "$1" "$2";
elif test "$1"; then
apparix --add-mark "$1";
else
apparix --add-mark;
fi
}
function portal () {
if test "$1"; then
apparix --add-portal "$1";
else
apparix --add-portal;
fi
}
# function to generate list of completions from .apparixrc
function _apparix_aliases ()
{ cur=$2
dir=$3
COMPREPLY=()
if [ "$1" == "$3" ]
then
COMPREPLY=( $( cat $HOME/.apparix{rc,expand} | \
grep "j,.*$cur.*," | cut -f2 -d, ) )
else
dir=`apparix -favour rOl $dir 2>/dev/null` || return 0
eval_compreply="COMPREPLY=( $(
cd "$dir"
\ls -d *$cur* | while read r
do
[[ -d "$r" ]] &&
[[ $r == *$cur* ]] &&
echo \"${r// /\\ }\"
done
) )"
eval $eval_compreply
fi
return 0
}
complete -F _apparix_aliases to
Сохраняем результат и повторно регистрируемся в системе.
После этого нам становится доступным несколько новых команд, разберем их на примерах.
Переходим в каталог:
$ cd /srv/www
$ pwd
/srv/www
Чтобы создать закладку используем команду bm (от bookmark):
$ pwd
$ bm www
added: www -> /srv/www
Закладка создана. Для перехода к закладке используем команду to с указанием названия. Проверяем:
$ cd; pwd
/home/user
$ to www
$ pwd
/srv/www
Кроме этого поддерживается переход к вложенным подкаталогам. Например чтобы перейти в /var/www/site1 используем команду:
$ to www site1
Причем работает автодополнение по клавише, поэтому название вложенных каталогов запоминать нет необходимости.
Если использовать команду bm без аргументов будет автоматически создана закладка foo, вызвать которую также можно без аргументов (для быстрого перехода). Получить список закладок:
$ apparix
--- portals
e /usr
--- expansions
j bin /usr/bin
j games /usr/games
j include /usr/include
j lib /usr/lib
j lib32 /usr/lib32
j local /usr/local
j sbin /usr/sbin
j share /usr/share
j src /usr/src
--- bookmarks
j usr /usr
j log /var/log
Изменить текущее значение закладки очень просто, переходим в новое место и создаем закладку с таким же именем.
Все установки сохраняются в файле ~/.apparixrc, который при необходимости можно отредактировать вручную.
Кроме этого следует обратить внимание на команду portal которая автоматически генерирует список подкаталогов как закладки.
В примерах были использованы каталоги небольшой вложенности, но когда требуется перемещаться по каталогам запрятаным глубоко в недрах файловой системы Apparix сильно выручает.
Ссылки: Сайт проекта Apparix — www.micans.org/apparix/
0 комментариев