Создание синонимов команд в Linux. Команда alias
В Linux можно создавать синонимы для других команд. Рассмотрим, как это сделать.
Синонимы для команд (или псевдонимы, или алиасы) — это команда, состоящая из одного слова, но выполняющая другую заданную команду. Это удобно, например, когда нужно часто выполнять длинную команду или команду с различными ключами. Вместо ввода длинной команды достаточно выполнить одну команду-синоним.
Создание синонимов (команда alias)
В командной оболочке Bash для создания синонимов используется команда alias .
Синтаксис команды alias
Чтобы создать синоним нужно указать команду-синоним и в кавычках указать команду , которая должна выполняться:
синоним — короткая команда (алиас), которая будет использоваться для запуска команды .
команда — команда, которая будет запускаться при вызове синонима . Записывается в двойных или одинарных кавычках.
Примеры создания синонимов
Вывод списка файлов:
То есть, вместо выполнения ls -la теперь достаточно выполнить команду ll :
Создадим команду для быстрого перехода в заданную директорию:
Подключение по ssh к определенному серверу:
Сохранение синонимов
Когда вы создаете синоним с помощью команды alias, то он функционирует только в текущей сессии, пока открыто окно терминала. Чтобы сохранить синонимы на постоянной основе, нужно прописать выполнение команд alias в файл .bashrc .
Запустите терминал и откройте файл .bashrc для редактирования, выполнив команду:
Перейдите в конец файла и введите команды для создания синонимов, по одному на каждой строчке, например:
Сохраните изменения и закройте файл. Для этого нажмите Ctrl+X , откроется запрос на сохранение изменений в файле — нажмите y и затем Enter .
Чтобы изменения вступили в силу, можно выйти и снова войти в систему или выполните команду:
Просмотр списка синонимов
Чтобы просмотреть список всех активных в данный момент синонимов используется команда:
Во многих дистрибутивах несколько синонимов уже может быть создано в системе. Например у меня результат следующий:
Удаление синонимов
Чтобы удалить синоним используется команда unalias . Удаление происходит только в текущей сессии терминала.
Удаление синонима по заданному имени:
Удаление всех синонимов:
Несколько примеров синонимов
Очистка окна терминала:
Вывод подробного списка файлов:
Вывод списка скрытых файлов:
Поиск по истории команд (запускается, например, так hs ssh ):
Показать список открытых портов:
Выполнять ping только 5 раз, а не бесконечно:
Узнать свой внешний IP-адрес:
Создание синонимов, используя Bash-функции (синонимы с аргументами)
Командная оболочка Bash позволяет создавать функции, которые могут выполнять одну или несколько команд. Они относятся к программированию в Bash, но их иногда можно использовать и для создания синонимов. Такие функции могут принимать аргументы в командой строке, в отличии от синонимов, создаваемых командой alias.
Синтаксис функций в Bash
Данный код создает функцию , которая выполняет команды . Команда может быть одна или несколько. Чтобы выполнить функцию достаточно ввести в командной строке ее название. Через пробел можно передавать аргументы.
Чтобы внутри функции обратиться к аргументам, используются сокращения $1 , $2 и т.д. $1 соответсвует первому аргументу, $2 второму и т.д. $0 соответсвует имени функции.
Примеры создания функций
Функции можно создавать прямо в текущей сессии терминала, но лучше прописать их в файле .bashrc .
Создадим функцию которая принимает имя директории, создает данную директорию и переходит в нее:
Теперь, вместо того, чтобы выполнять mkdir для создания директории, а затем cd , чтобы перейти в нее, достаточно выполнить:
У вас может возникнуть вопрос, что означают символы — и && внутри нашей функции?
- — — используется, чтобы указать, конец опций команды. То есть все, что будет записываться после — это уже аргументы и они не будут интерпретироваться, как опции для данной команды. В нашем примере мы можем попробовать создать директорию имя которой начинается с символа — , и если бы мы не использовали — , то команда mkdir подумала бы, что мы пытаемся передать ей не имя директории а опцию.
- && — логическое И — сначала выполняется команда, стоящая слева от && и только если она выполнена успешно, запускается команда, стоящая справа от && .
Заключение
Синонимы команд в Linux очень удобный инструмент, упрощающий работу с системой. В данной статье мы рассмотрели создание синонимов командой alias , а также использование функций Bash для создания синонимов.
Не смотря на удобство использования синонимов, сильно увлекаться ими не стоит. Не нужно создавать тонну алиасов на все случаи жизни. Это может привести к путанице и банальному незнанию полных команд, когда пересаживаешься за другой компьютер.
Также нужно быть крайне аккуратным при создании синонимов, которые имеют такое же имя, как и сама команда, которую они выполняют. Переписывая таким образом поведение команды, выполнение синонима, вместо команды, иногда может приводить к неочевидным результатам.
Linux alias для команды
Команда alias — это очень удобный инструмент для тех, кто часто работает в командной строке. В данной статье подробно и на примерах рассмотрим использование команды alias в операционной системе Linux.
Коротко об alias (псевдонимах) в Ubuntu.
Команда alias используется для создания псевдонима команды или списку команд, то есть присваиваем им новые названия. Это нужно для того, чтобы избежать необходимости запоминать длинные и сложные команды. Таким образом, мы можем повысить скорость работы в терминале.
Если ввести команду alias в терминале, то получим список всех определенных псевдонимов в системе:
Создание алиаса (alias, псевдонима).
В общем виде создание alias выглядит следующим образом:
То есть, пишем название псевдонима, ставим знак «=», затем указываем команду или список команд в кавычках с аргументами. Можем вместо консольных команд указать путь к скрипту с аргументами или без. Давайте рассмотрим на примерах.
Для того, чтобы полностью обновить систему, нам нужно ввести команды:
Каждый раз писать это долго, можем создать псевдоним:
У данных алиасов (alias) работает автодополнение по клавише TAB, как и у обычных команд.
Давайте переопределим команду ping, задав параметр, чтобы при её использовании была отправка только 4 пакетов:
Как вызвать команду, которая была переопределена алисом (alias).
А что, если мы хотим использовать старую команду ping? Это тоже можно сделать, нужно ввести обратный слеш «» перед командой:
Кроме того, помимо обратного слеша есть и другие способы вызвать исходную команду:
То есть, заключив в кавычки или указав перед командой ключевое слово «command».
Удаление алиаса (alias) из системы.
Для удаления используется команда unalias и имя алиаса. В общем виде это выглядит:
К примеру, я по ошибке добавил alias:
Кроме того, можно удалить все алиасы (aliases), для этого используется команда:
То есть, с параметром -a.
А теперь важно замечание.
После закрытия терминала, все наши алиасы (aliases, псевдонимы) удаляются, кроме системных. То есть, данные алиасы существуют только в рамках текущей терминальной сессии.
Если добавили alias в одной вкладке (окна) терминала:
На другой вкладке (в другой сессии терминала) система ничего не знает об этом алиасе:
Но это можно решить созданием постоянных алиасов.
Создание постоянных алиасов (aliases, псевдонимов) в Ubuntu.
Зайду издалека, в домашнем каталоге пользователя есть файл
/.bashrc. Этот файл применяется в системе, когда происходит авторизация данного пользователя. То есть, наш вход в систему. В данном файле есть строчки:
Это значит, что если файл
/.bash_aliases существует, то он применяется в системе. Мы создадим этот файл и будем записывать в него список наших алиасов, чтобы они были доступны постоянно. Но в отличии от Ubuntu, к примеру, в Linux Mint данная запись может отсутствовать, поэтому добавьте эти строчки в свой
/.bashrc в конце файла.
Для того, чтобы систему не перезапускать и изменения этого файла применились, то выполняем команду:
С этим разобрались. Давайте создадим файл
/bash_aliases . Его можно создать в файловом менеджере, права суперпользователя не требуются. Либо вводим в терминале:
В этот файл вставляем список алиасов, которые считаем нужными:
Чтобы этот файл со списком применился в систему, выполняем:
Если всё сделали правильно, то теперь данные алиасы будут доступны в любом окне терминала текущего пользователя. А также после перезагрузки будут доступны.
В данной статье было подробно создание alias в Ubuntu. Если пользуетесь этим удобным инструментом, можете поделиться в комментариях своим набором алиасов.