четверг, июня 26, 2008

Сокращаем длинну командной строки

Автозавершение сберегает время набора команд и имени файлов. Это возможно при использовании псевдонимов (alias, алиасов).
Что бы увидеть какие псевдонимы уже доступны наберите alias без аргументов.
Для создания псевдонима наберите: alias la="ls -lhA --color=auto"
Теперь набрав la в текущей оболочке вы увидите список с цветовыделением, подробной информацией и отображением скрытых файлов.
Общие для всей системы настройки содержатся в /etc/profile, там дистрибутив хранит псевдонимы. Вносить изменения сюда можно только зная пароль суперпльзователя.
Зато каждый пользователь может настраивать свои собственные псевдонимы в конфигурации своей оболочки. В случае с Bash они хранятся в ~/.bashrc или ~/.bash_profile. Обычно псевдонимы добавляются в ~/.bashrc
Псевдоним может выполнять более чем одну команду за раз, например: alias foobar="foo --foo-opts ; bar --bar-opts"
Есть ещё один нюанс. Случается так что частоиспальзуемые файлы располагаются по весьма утомительному для набирания пути. Например, очень долгое время у меня дополнительный диск с фильмами монтировался в системе как /media/hdb3/AdditionalStore/solnce/eiga/. Автозавершение в командной строке имени файлов в какой-то мере облегчало работу, но если AdditionalStore был один и достаточно было указать только первую букву, а затем нажать Tab, то hdb3 приходилось вводить полностью, лишние два-три нажатия, но всё-таки непорядочек.
Всё что потребовалось сделать это создать в домашней дериктории символическую ссылку: ~/eiga/ на /media/hdb3/AdditionalStore/solnce/eiga/: ln -sv /media/hdb3/AdditionalStore/solnce/eiga/ ~/eiga/
Теперь запуская видеопроигрыватель можно было идти через папку eiga, лажащую в моём домашнем каталоге, она содержала ровно то что было по тому адресу, на который она ссылалась.
Получается на сегодняшний момент мне известно два способа сокращения текста, набираемого в коммандной строке:

  1. Использовать алиасы для частонабираемых команд или команд с длинным набором опций.

  2. Использовать сиволические ссылки для длинных путей.