Перейти к содержанию

2.5 Работа с псевдонимами команд (Working with Command Aliases)

Псевдонимы (aliases) — весьма удобный инструмент. По существу, псевдоним — это ярлык, указывающий на другой файл или команду в системе Linux. При каждой загрузке системы автоматически создаётся ряд псевдонимов. Просмотреть их можно, введя команду alias в приглашении командной строки. Пример вывода приведён ниже:

rtracy@openSUSE:~> alias
alias +='pushd .'
alias -='popd'
alias ..='cd ..'
alias ...='cd ../..'
alias beep='echo -en "\007"'
alias cd..='cd ..'
alias dir='ls -l'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l='ls -alF'
alias la='ls -la'
alias ll='ls -l'
alias ls='_ls'
alias ls-l='ls -l'
alias md='mkdir -p'
alias o='less'
alias rd='rmdir'
alias rehash='hash -r'
alias unmount='echo "Error: Try the command: umount" 1>&2; false'
alias you='if test "$EUID" = 0 ; then /sbin/yast2 online_update ;
 else su - -c "/sbin/yast2 online_update" ; fi'

Обратите внимание: перечисленные команды не являются командами в обычном смысле. На самом деле это псевдонимы, ссылающиеся на реальные команды оболочки. Например, если ввести dir в приглашении командной строки, вывод команды alias указывает, что на самом деле выполняется команда оболочки ls -l. Аналогично, ввод .. на самом деле выполняет команду cd ...

Можно также создавать собственные псевдонимы. Для этого введите alias имя="команда" в приглашении командной строки. Например, предположим, что вы хотите иметь возможность вводить ldir в приглашении командной строки для вывода подробного содержимого каталога. Для этого введите alias ldir="ls -l" в приглашении командной строки, как показано ниже:

rtracy@openSUSE:~> alias ldir="ls -l"
rtracy@openSUSE:~> alias
alias dir='ls -l'
alias l='ls -alF'
alias la='ls -la'
alias ldir='ls -l'

Теперь, если ввести ldir в приглашении командной строки, выполняется команда ls -l и её вывод отображается на экране, как показано ниже:

rtracy@openSUSE:~> ldir
total 40
drwxr-xr-x 2 rtracy users 4096 2011-01-19 10:41 bin
drwxr-xr-x 2 rtracy users 4096 2011-01-19 10:42 Desktop
drwxr-xr-x 2 rtracy users 4096 2011-01-19 10:42 Documents
drwxr-xr-x 2 rtracy users 4096 2011-01-19 10:42 Downloads
drwxr-xr-x 2 rtracy users 4096 2011-01-19 10:42 Music
drwxr-xr-x 2 rtracy users 4096 2011-01-19 10:42 Pictures
drwxr-xr-x 2 rtracy users 4096 2011-01-19 10:42 Public
drwxr-xr-x 2 rtracy users 4096 2011-01-19 10:41 public_html
drwxr-xr-x 2 rtracy users 4096 2011-01-19 10:42 Templates
drwxr-xr-x 2 rtracy users 4096 2011-01-19 10:42 Videos

В один псевдоним можно включить несколько команд. Для этого команды в строке псевдонима разделяются точкой с запятой (;). Например, если нужно создать псевдоним, который монтирует DVD, вставленный в оптический привод, и затем выводит подробный список файлов на нём, введите следующее в приглашении командной строки:

alias mntdvd="mount -t iso9660 /dev/sr0 /media/dvd;ls -l /media/dvd"

После этого, введя mntdvd в приглашении командной строки, можно смонтировать DVD и получить список его файлов.

Как и переменные, псевдонимы, определённые командой alias, не являются постоянными. После перезагрузки системы они исчезнут. Как и в случае с переменными, псевдонимы можно сделать постоянными, добавив их в один из файлов конфигурации bash (либо общесистемный, либо пользовательский).

Попрактикуемся в работе с псевдонимами в следующем упражнении.

Упражнение 2-8. Работа с псевдонимами команд

В этом упражнении вы потренируетесь создавать псевдонимы в оболочке bash. Упражнение можно выполнить на виртуальной машине, прилагаемой к книге. Для получения настроенной среды загрузите снимок состояния (snapshot) 2-1.

VIDEO Посмотрите видео к упражнению 2-8 с демонстрацией выполнения этого задания.

Выполните следующие действия:

  1. Если вы ещё не сделали этого, загрузите систему Linux и войдите в неё под стандартной учётной записью пользователя.
  2. Откройте сеанс терминала и переключитесь на учётную запись суперпользователя root, введя su -. Затем введите пароль root, когда потребуется.
  3. Создайте псевдоним с именем log, который будет отображать последние строки файла /var/log/messages, введя alias log="tail /var/log/messages" в приглашении командной строки.
  4. В приглашении командной строки введите alias и убедитесь, что псевдоним был создан.
  5. Проверьте псевдоним, введя log в приглашении командной строки.
  6. Убедитесь, что на экране отображаются последние строки файла /var/log/messages.
  7. В приглашении командной строки введите ls ~ -a. Какой файл вашего дистрибутива нужно отредактировать, чтобы псевдоним стал постоянным?

Теперь, когда вы знаете, как управлять переменными, самое время обсудить перенаправление вывода команд оболочки. Этому посвящён следующий раздел.