Использование alias в bash






В какой-то момент в жизни почти каждого пользователя Linux наступает момент, когда терминал используется в работе всё чаще и чаще. Пользователь начинает понимать, что многие действия в режиме командной строки делать удобнее и быстрее, нежели при помощи GUI. Чем больше вы будете осваивать работу в командной оболочке, тем больше вам она будет по душе. Работа с командной оболочкой целиком состоит из ввода команд — длинных и коротких. Думаю, вы так же как и автор, не очень любите вводить длинные команды и не отказались бы от способа сократить количество вводимых символов при наборе команды. В сегодняшней заметке речь пойдёт об alias — своего рода «сокращателе» команд.


alias создана для того, чтобы делать сложные вещи простыми (или простые — ещё проще). Вместо того, чтобы использовать длинную и/или сложную команду вы можете создать простой псевдоним для неё и затем использовать его в своё удовольствие. Общий формат определения псевдонима при помощи alias таков:

alias псевдоним="команда"

Этой командой вы «связываете» команду с назначаемым ей псевдонимом. Далее, если вы введёте в командной строке имя псевдонима, он автоматически будет заменён оболочкой на соответствующую ему команду. В качестве псевдонима можно использовать набор алфавитно-цифровые символы, дефис, точку, запятую и символ подчёркивания.

Делаем простые команды ещё проще

Возьмём, например, часто многими используемую команду 'ls -l', отображающую список файлов в каталоге в т. н. «длинном» формате. Можно упростить ввод этой чатсо используемой команды. Например, так:

alias ll="ls -l"

Теперь вместо 'ls -l' вы можете вводить 'll' и получать список файлов в «длинном» формате.

Ещё пример. Иногда впопыхах или после пары банок пива усталые пользователи начинают вводить 'sl'  вместо 'ls' и очень нервничают по этому поводу. Исправим эту неприятность:

alias sl="ls"

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

alias x="exit"

Следующие три примера делают популярные команды более интерактивными по умолчанию:

alias cp="cp -iv"
alias mv="mv -iv"
alias rm="rm -iv"

Упрощаем управление пакетами

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

Для того, чтобы установить какой-то пакет в Debian/Ubuntu, обычно используется команда:

sudo apt-get install имя_пакета

Эта длинная команда отбирает много времени, сил и энергии. Давайте упростим её при помощи alias;

alias Install="sudo apt-get install"

Теперь устанавливать пакеты стало проще:

Install имя_пакета

Таким же образом можно упростить остальные часто используемые моменты при управлении пакетами:

alias Update=”sudo apt-get update”
alias Upgrade=”sudo apt-get upgrade”
alias Search=”apt-cache search”
alias Autoremove=”sudo apt-get autoremove”
alias Autoclean=”sudo apt-get autoclean”
alias Purge=”sudo apt-get remove –purge”

Псевдонимы для «неудобных» клавиш

На некоторых клавиатурах символ точки расположен крайне неудобно и если вы частенько им пользуетесь, начинают возникать различного рода неудобства. По этой причине автор иногда не может с первого раза корректно ввести команду 'cd ...' и предлагает таким же как он исправить ситуацию при помощи псевдонимов (вместо точки, само-собой, можно использовать что-нибудь другое, если вам так удобнее):

alias .=”cd ..”
alias ..=”cd ../..”
alias ...=”cd ../../..”
alias ....=”cd ../../../..”

Сёрфинг в терминале

Если вы часто пользуетесь lynx, то и дело вводя URL часто посещаемых сайтов из командной строки, попробуйте облегчить себе жизнь за счёт использования псевдонимов:

alias Google=”lynx http://www.google.com/”
alias Yahoo=”lynx http://www.yahoo.com/”
alias asheporg=”lynx http://www.ashep.org/”

Упрощаем сложные команды

Сложные команды не только трудны для запоминания, но ещё и требуют много времени на их ввод. Если вы пользуетесь сложными командами каждый день, это рано или поздно начнёт вас утомлять и раздражать. Не лучше ли сделать псевдонимы для таких команд и перестать морочить себе голову?

Например, чтобы отыскивать десятку самых больших файлов в вашей системе одной командой, можно создать следующий псевдоним:

alias top10files=”find . -type f -exec ls -sh {} \; | sort -n -r | head -10”

Если вы частенько подключаетесь к серверу с IP-адресом 1.2.3.4 по SSH, висящем на порту 22, от имени пользователя vasya, вам может оказаться полезным подобный псевдоним:

alias my_server="ssh vasya@1.2.3.4 -p 22"

Также вы можете создавать псевдонимы для ваших bash-сценариев, например:

alias clc="bash /home/vasya/bin/calc.sh"

Заключение

Посмотреть список созданных псевдонимов можно при помощи команды alias, введённой без параметров. Если какой-то из псевдонимов вам уже не нужен, вы всегда можете удалить его при помощи команды unalias. Например:

unalias Google

или же удалить вообще все псевдонимы, если нужно:

unalias -a

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

Оригинал статьи на linux-blog.org




Использование alias в bash: 1 комментарий

  1. Алиасы лучше поместить в файл ~/.bash_aliases, а в .bashrc прописать

    if [ -f ~/.bash_aliases ]; then

    . ~/.bash_aliases

    fi

    Так удобнее, имхо.

Комментарии запрещены.