Найти в Дзене
Tehnichka.pro

Полезные Alias Linux

Оглавление

Инструкция по работе с 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 на практике
Вот пример создания Alias’a на практике
  • Теперь для наглядности выхожу из папки.
Для чистоты эксперимента покидаем папку
Для чистоты эксперимента покидаем папку
  • А потом захожу в нее уже с помощью своего нового Alias’a, просто прописав в терминал f1.
Вот так быстро в нее возвращаемся. Никакой лишней писанины
Вот так быстро в нее возвращаемся. Никакой лишней писанины

Естественно, созданный Alias можно удалить и переназначить. Для этого используется команда unalias. И чтобы, к примеру, удалить Alias f1, который мы создали, надо ввести в терминал unalias f1. Все. Эта команда перестанет работать.

Важно отметить, что Alias создаются и хранятся в системе только в рамках одной сессии. Как только вы закроете терминал, все Alias’ы будут стерты. Поэтому их надо заводить заново каждый раз.

Добавляем Alias в автозапуск

Обойти описанное выше ограничение можно, добавив нужный Alias в скрипт bashrc. Тогда команда создания Alias’a будет автоматически срабатывать в фоне при каждом новом запуске терминала. Для этого:

  • Открываем терминал. Это можно сделать, одновременно нажав на клавиши Ctrl + Alt + T.
  • Открываем скрипт Bash с помощью любого текстового редактора. Например, командой sudo nano ~/.bashrc
Я использую редактор Nano. Вы можете открыть скрипт любым другим. Например, с помощью Vi.
Я использую редактор Nano. Вы можете открыть скрипт любым другим. Например, с помощью Vi.
  • Листаем открывшийся документы вниз до конца.
  • Добавляем в конце скрипта команду создания нового 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’

Вот, во что превращается ls с этим Alias
Вот, во что превращается ls с этим Alias

Цветной вывод команды 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”’

Теперь можно быстро получить переменную с текущей датой или текущем временем.

Вывод нового Alias
Вывод нового Alias

Переключаемся с 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′

После изменения настроек она передает только 4 пакета с определенным временным интервалом
После изменения настроек она передает только 4 пакета с определенным временным интервалом

Команда 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

Вот как работает наш Alias. Сильно сокращает время на ввод команды
Вот как работает наш Alias. Сильно сокращает время на ввод команды

Работа с менеджером пакетов в 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.

Автор материала: Владимир Ковылов

Подписывайтесь на наш канал и ставьте лайки! А еще можете посетить наш официальный сайт.