Команда alias

Команда alias позволяет всего лишь связать псевдоним с произвольной командой. Механизм псевдонимов позволяет устанавливать более короткие или привычные имена для часто используемых команд. Еще одним преимуществом данного механизма является возможность использования в составе псевдонимов аргументов команд. Впервые данный механизм был реализован в рамках командной оболочки csh, после чего он был перенесен в такие командные оболочки, как bash и другие.

Синтаксис команды для установки псевдонима зависит от используемой командной оболочки. В случае командных оболочек, основанных на Bourne shell (ksh, bash, и других, но не sh), синтаксис является следующим:

$ alias <псевдоним>=<команда>

В том случае, если при вызове команды должна осуществляться передача аргументов, следует использовать одинарные или двойные кавычки:

$ alias <псевдоним>="<команда> <аргумент> ..."

В случае же командных оболочек, основанных на csh (csh, tcsh и других), кавычки не требуются:

$ alias <псевдоним> <команда> [аргументы …]

Несложно заметить, что главное отличие в данном случае заключается в использовании знака равенства и необходимости использования кавычек. При вызове команды alias без аргументов будет выведен список объявленных в текущее время псевдонимов.

После установки псевдоним будет работать лишь в рамках текущей сессии командной оболочки. Для того, чтобы активировать этот псевдоним на постоянной основе, вам придется добавить его в один из файлов конфигурации используемой в текущее время командной оболочки. В случае командной оболочки bash псевдонимы для отдельных пользователей чаще всего размещаются в файле конфигурации ~/.bashrc, а общесистемные псевдонимы — в файле конфигурации /etc/profile. В случае командной оболочки tcsh аналогичными файлами конфигурации являются файлы ~/.tcshrc и /etc/login соответственно.

Примеры

Простой псевдоним для пользователей операционной системы DOS:

$ alias dir="ls -l"

А это пример более сложного псевдонима:

$ alias topcom='sort ~/.bash_history | uniq -ci | sort -r | less'

Данный псевдоним упрощает обращение к списку наиболее часто используемых команд и может стать шаблоном для новых псевдонимов.

А это еще один пример псевдонима для ознакомления со списком смонтированных дисковых разделов:

$ alias mnt='mount | grep -i /dev/[h]d[a..g] | sort'

Механизм функций командной оболочки может выполнять ту же работу, что и механизм псевдонимов, но он гораздо сложнее в использовании. В отличие от функций, псевдонимы не позволяют осуществлять подстановку значений переменных.

Например, даже такая простая функция, как

$ bak () { cp -a $1 $1.bak }

не может быть преобразована в псевдоним из-за использования переменной "$1".

Установка псевдонима на постоянной основе

Для установки псевдонима на постоянной основе для всех пользователей, всех командных оболочек (ksh, bash, …) и всех типов командных оболочек (использующихся и не использующихся для входа в систему) вам придется:

  • модифицировать файл конфигурации /etc/profile для командных оболочек, использующихся для входа в систему
  • модифицировать файл конфигурации /etc/bash_bashrc для командных оболочек, не использующихся для входа в систему

Деактивация псевдонима

Используйте команду unalias.