Инструкция по работе с Alias в Linux. Зачем они нужны и какие из них могут оказаться действительно полезны.
Что такое Alias в Linux?
Если выражаться простыми словами, то Alias — это механизм создания некоего ярлыка для команды. С помощью этих «ярлыков» можно довольно большую (в плане количества текста) команду сократить буквально до одного символа. Это может быть очень удобно в тех ситуациях, когда вы из раза в раз используете один и тот же набор приложений или перемещаетесь по большому количеству ветвистых директорий.
На реальном примере это может выглядеть так. Допустим, вы хотите зайти в папку, которая вложена в еще несколько директорий с помощью команды cd /folder–1/folder–2/folder–3/folder–4/folder–5. Вводить ее постоянно заново — пытка. Ползать по истории и каждый раз искать ее через реверсивный поиск тоже так себе удовольствие. С помощью Alias можно сократить эту длинную команду в одну-две буквы. Впрочем, можно любое действие, выполняемое в терминале, «упаковать» в что-то удобоваримое и компактное.
Как работает команда Alias
У команды Alias элементарный синтаксис.
Вводим слово alias, затем через пробел название сокращенной команды, потом символ равенства =, а потом основное действие в одинарных кавычках. Получается что-то такое: alias сокращение=’полноценная команда‘.
Разберем то, как работает команда Alias на самом простом примере. Из него вы окончательно поймете принцип ее работы и сможете начать экспериментировать, придумывая свои варианты сокращений и быстрых команд.
- Мне нужно время от времени заходить в папку командой cd ~/Downloads/folder–1/folder–2. Допустим, там лежат какие-то файлы, к которым хочется иметь постоянный доступ.
- Я создаю Alias с помощью команды alias f1=’cd ~/Downloads/folder–1/folder–2′. Там где f1 — название сокращенной команды.
- Теперь для наглядности выхожу из папки.
- А потом захожу в нее уже с помощью своего нового Alias’a, просто прописав в терминал f1.
Естественно, созданный Alias можно удалить и переназначить. Для этого используется команда unalias. И чтобы, к примеру, удалить Alias f1, который мы создали, надо ввести в терминал unalias f1. Все. Эта команда перестанет работать.
Важно отметить, что Alias создаются и хранятся в системе только в рамках одной сессии. Как только вы закроете терминал, все Alias’ы будут стерты. Поэтому их надо заводить заново каждый раз.
Добавляем Alias в автозапуск
Обойти описанное выше ограничение можно, добавив нужный Alias в скрипт bashrc. Тогда команда создания Alias’a будет автоматически срабатывать в фоне при каждом новом запуске терминала. Для этого:
- Открываем терминал. Это можно сделать, одновременно нажав на клавиши Ctrl + Alt + T.
- Открываем скрипт Bash с помощью любого текстового редактора. Например, командой sudo nano ~/.bashrc
- Листаем открывшийся документы вниз до конца.
- Добавляем в конце скрипта команду создания нового Alias’a. Например alias f1=’cd ~/Downloads/folder–1/folder–2′, как мы делали ранее.
- Затем сохраняем документ, нажав клавиши Ctrl + X.
- Жмем на кнопку Y, чтобы сохранить изменения, внесенные в скрипт.
Теперь вы знаете, как подготовить целый список Alias’ов и заставить их работать даже после перезапуска терминала. Чтобы удалить Alias, нужно проделать обратную процедуру, стерев команду из скрипта Bash.
Список полезных и распространенных Alias-команд
Вы уже знаете, как создавать собственные «сокращения» для выполнения команд и наверняка уже придумали, как использовать эту функцию. Но если с фантазией туго, то можете ниже ознакомиться со списком популярных «сокращений», которые используют другие люди. Все они в той или иной степени облегчают работу с Linux.
Разные варианты вывода команды LS
Команда ls отображает файлы и папки, находящиеся в той директории, в которой находится пользователь.
Этот список папок и файлов можно сделать цветным (для подсветки отдельных элементов).
alias ls=’ls –color=auto’
Также ls по умолчанию не показывает скрытые файлы, но это можно исправить, добавив новую команду или заменив ls на ее дополненный вариант.
alias ls=’ls -la’
Цветной вывод команды grep
Цветным можно сделать вывод grep. Это команда, которая фильтрует получаемую из терминала информацию и ищет только необходимые данные.
__ alias grep=’grep –color=auto’__
Цветной вывод diff
Еще одна цветастая команда. Вписываем: _
alias diff=’colordiff’
Теперь весь вывод diff будет цветным. Опять же удобнее ориентироваться.
Быстрый запуск калькулятора
Если вам нужен быстрый доступ к калькулятору с подгруженной библиотекой MathLib, то можно ввести следующий Alias:
alias bc=’bc -l’
Теперь не нужно прописывать дополнительные аргументы при запуске калькулятора.
Быстрый доступ к истории
Чтобы каждый раз не писать заново слово history и не прописывать в дополнение к нему какие-то аргументы, можно сократить команду до одной буквы. Например:
alias h=’history’
Этот вариант просто сделает сокращение. Но вы можете пойти дальше и заставить сокращенную команду отображать ограниченное количество элементов. Допустим, только 6 последних единиц:
alias h=’history 6′
Либо можно прописать в Alias цифру заранее, чтобы точно понимать, какое количество элементов высветится:
alias h6=’history 6′
Отображение даты и времени
Можно создать отдельные команды для отображения времени и даты. Можно сократить их до двух простых команд:
alias time=’date +“%T”’
Теперь time будет показывать только время. Никаких других данных. Отдельно можно сделать команду для отображения одной лишь даты:
alias nowdate=’date +“%d-%m-%Y”’
Теперь можно быстро получить переменную с текущей датой или текущем временем.
Переключаемся с vi на vim в качестве редактора по умолчанию
Есть ряд Alias’ов, которые трансформируют все команды, связанные, с запуском текстового редактора vi. Они заменяют его vim. Более продвинутый вариант программы. Это делается так:
alias vi=’vim’
Теперь при попытке запустить vi будет включаться vim. Но на этом все не заканчивается.
Можно сделать отдельную команду для запуска редактора с правами администратора. Это на тот случай, если вы планируете редактировать какие-то системные компоненты. Для этого вводим в терминал или прописываем в скрипт Bash:
alias svi=’sudo vi’
После этого можно запускать редактор в режиме sudo новой командой svi.
А еще можно запускать его командой edit.
alias edit=’vim’
Смена настроек команды ping по умолчанию
Если не менять системные параметры, то команда ping посылает запросы на ресурс без перерыва на протяжении бесконечного периода времени. Вы можете изменить это поведение. Например, выставить максимальное количество запросов в количестве четырех. Вот так:
alias ping=’ping -c 5′
Также можно изменить интервал между каждым запросом. Например, установить его в 3 секунды. Так:
alias ping=’ping -s 3′
Команда Wakeup
Это усовершенствованный вариант команды wakeonlan, с помощью которой можно «разбудить» серверы, которые находятся в режиме сна. Причем «будить» их можно по MAC-адресу. Alias будет выглядеть так:
alias wakeupnas01=’/usr/bin/wakeonlan 00:11:32:11:15:FC’ alias wakeupnas02=’/usr/bin/wakeonlan 00:11:32:11:15:FD’ alias wakeupnas03=’/usr/bin/wakeonlan 00:11:32:11:15:FE’
Как видно по названию команд, с помощью них можно вернуть в рабочее состояние три разных сервера.
Модифицированная версия curl
Curl-запросы часто используются в командной строке для получения дополнительной информации от сервера. С помощью Alias’ов можно превратить непонятные запросы во вполне логичные команды. Например, чтобы получить заголовки сервера, можно сделать такой Alias:
alias headers=’curl -l’
Похожим образом можно проверить, например, поддерживает ли сервер компрессию:
alias curlc=’curl -l —compress’
Команды для управления пакетами в Debian и его дериватах
Если вы часто работаете с пакетным менеджером в операционной системе Debian или в каком-то из дистрибутивов на его основе (Ubuntu или Linux Mint), то наверняка уже устали постоянно вводить sudo apt-get install или sudo apt-get update. Некоторые пользователи сокращают эти команды с помощью Alias’ов:
alias update=’sudo apt-get update’
Это на тот случай, если нужно обновить список доступных пакетов. А вот для обновления системы можно использовать:
alias update=’sudo apt-get update && sudo apt-get upgrade
Работа с менеджером пакетов в Fedora, openSUSE и CentOS
Естественно, схожие идеи можно использовать и при работе с другими дистрибутивами. Единственное, что придется изменить — название программы для управления пакетами. Alias может выглядеть так:
alias update=’sudo dnf update’
Это вариант для Fedora. В openSUSE, например, используется менеджер пакетов zypper. А в CentOS более классический вариант yum.
Выключение компьютера
С помощью Alias’ов можно превратить все стандартные команды выключения компьютера в команды с правами администратора. Иногда это может быть полезным. Alias’ы будут выглядеть следующим образом:
- alias reboot=’sudo /sbin/reboot’ — для перезагрузки
- alias poweroff=’sudo /sbin/poweroff’ — для выключения
- alias halt=’sudo /sbin/halt’
- alias shutdown=’sudo /sbin/shutdown’
Создание резервной копии данных
В Linux есть инструмент для создания резервной копии данных, но он довольно сложно устроен и требует кучу времени на расписывание команды. С помощью Alias’a, конечно, можно сократить огромную строчку в короткую команду, состоящую из одного слова. Например, так:
alias backup=’sudo /home/scripts/admin/scripts/backup/wrapper.backup.sh –type local –taget /raid1/backups’
Естественно, пути к файлам у вас должны быть свои.
Получение доступа к информации о системе
С помощью Alias’ов можно сделать понятные и удобочитаемые команды для отображения системной информации. Речь идет о характеристиках компьютера и других полезных данных.
Например, упростить вывод информации о количестве используемой памяти:
alias meminfo=’free -m -l -t’
Также можно заставить систему вывести в терминал список программ, потребляющих наибольшее количество памяти:
alias psmem10=’ps auxf | sort -nr -k 4 | head –10′
Также можно получить информацию о процессоре:
alias cpu=’lscpu’
Ну и для данных о видеокарте есть свой Alias:
alias gpumeminfo=’grep -i –color memory /var/log/Xorg.0.log’
Управление роутером
В Alias’ы можно спрятать и команды для дистанционного управления роутером. Можно посылать запросы через SSH или с помощью Curl. Таким запросами можно перезагрузить роутер, не прибегая к вводу сложных команд.
Самый простой вариант:
alias reboot=“ssh admin@192.168.1.1 /sbin/reboot”
Это на тот случай, если у вас есть доступ к управлению роутером по протоколу SSH.
Автор материала: Владимир Ковылов
Подписывайтесь на наш канал и ставьте лайки! А еще можете посетить наш официальный сайт.