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, вставленный в оптический привод, и затем выводит подробный список файлов на нём, введите следующее в приглашении командной строки:
После этого, введя mntdvd в приглашении командной строки, можно смонтировать DVD и получить список его файлов.
Как и переменные, псевдонимы, определённые командой alias, не являются постоянными. После перезагрузки системы они исчезнут. Как и в случае с переменными, псевдонимы можно сделать постоянными, добавив их в один из файлов конфигурации bash (либо общесистемный, либо пользовательский).
Попрактикуемся в работе с псевдонимами в следующем упражнении.
Упражнение 2-8. Работа с псевдонимами команд
В этом упражнении вы потренируетесь создавать псевдонимы в оболочке bash. Упражнение можно выполнить на виртуальной машине, прилагаемой к книге. Для получения настроенной среды загрузите снимок состояния (snapshot) 2-1.
VIDEO Посмотрите видео к упражнению 2-8 с демонстрацией выполнения этого задания.
Выполните следующие действия:
- Если вы ещё не сделали этого, загрузите систему Linux и войдите в неё под стандартной учётной записью пользователя.
- Откройте сеанс терминала и переключитесь на учётную запись суперпользователя root, введя
su -. Затем введите пароль root, когда потребуется. - Создайте псевдоним с именем
log, который будет отображать последние строки файла/var/log/messages, введяalias log="tail /var/log/messages"в приглашении командной строки. - В приглашении командной строки введите
aliasи убедитесь, что псевдоним был создан. - Проверьте псевдоним, введя
logв приглашении командной строки. - Убедитесь, что на экране отображаются последние строки файла
/var/log/messages. - В приглашении командной строки введите
ls ~ -a. Какой файл вашего дистрибутива нужно отредактировать, чтобы псевдоним стал постоянным?
Теперь, когда вы знаете, как управлять переменными, самое время обсудить перенаправление вывода команд оболочки. Этому посвящён следующий раздел.