Меню Рубрики

Создание алиаса в linux

Создание синонимов команд в 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 для создания синонимов.

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

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

Источник

Полезные alias Linux

Alias Linux — это, по сути, ярлыки команд Linux. Команда alias позволяет пользователю запускать любую команду или даже группу команд, в том числе с опциями, параметрами и файлами, вводом одного слова или даже символа. Это очень удобно во многих ситуациях, например чтобы не вводить полностью команду при обновлении или же очень быстро перемещаться по каталогам.

В этой инструкции будет рассмотрена команда alias linux, а также полезные алиасы, которые без сомнения must have в каждой системе.

Команда alias

Чтобы посмотреть какие псевдонимы linux команд уже заданны в вашей системе просто выполните:

В выводе вы увидите что-то подобное:

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 команд linux определенные для текущего пользователя. Вывод очень сильно зависит от вашего дистрибутива. Общий синтаксис команды выглядит следующим образом:

$ alias имя = «значение»

$ alias имя = «команда аргумент1 аргумент2»

$ alias имя = «/путь/к/исполняемому/файлу»

Вы можете создавать новые псевдонимы, просто выполняя эту команду в терминале. Но созданные таким образом алиасы linux будут работать только в этом терминале и только до его закрытия.

Давайте для примера создадим alias linux для такой часто используемой команды, как clear (очистить вывод терминала):

Теперь, чтобы очистить терминал достаточно выполнить:

Удалить созданный alias можно с помощью команды unalias:

Но как я уже сказал, такие alias команд linux сохраняются только до закрытия терминала. Поэтому их необходимо создавать в начале каждой терминальной сессии. Для этого можно записать все нужные команды в

/.bashrc. При запуске терминала, каждый раз выполняется этот скрипт, чтобы установить переменные окружения и подготовить оболочку. Таким образом добавив нужные строки в конец файла мы получим работающие alias linux в каждом терминале.

Продолжим создание alias для команды clear:

Добавьте эту строку в конец файла:

Затем сохраните и закройте редактор (:wq). Чтобы проверить работоспособность запустите новый терминал. Если вы хотите чтобы ваши алиасы linux были доступны для всех пользователей, необходимо использовать файл /etc/bashrc.

Поскольку .bashrc, это обычный bash скрипт, перед нами открываются большие возможности. Например мы можем добавить alias команд с использованием sudo, если текущий пользователь не root:

if [ $UID -ne 0 ]; then
alias reboot=’sudo reboot’
alias update=’sudo apt-get upgrade’
fi

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

case $_myos in
Linux) alias foo=’/path/to/linux/bin/foo’;;
FreeBSD|OpenBSD) alias foo=’/path/to/bsd/bin/foo’ ;;
SunOS) alias foo=’/path/to/sunos/bin/foo’ ;;
*) ;;
esac

Чтобы удалить alias достаточно просто удалить запись о нем, из того файла в который вы ее добавили. Мы рассмотрели основы добавления alias linux, теперь давайте перейдем к списку полезных алиасов linux.

Полезные alias Linux

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

1. Вывод ls

alias ls=’ls —color=auto’

Показывать скрытые файлы и представлять вывод в виде списка:

Показать только скрытые файлы:

alias l.=’ls -d .* —color=auto’

2. Перемещение по каталогам

Быстрое перемещение от текущей директории:

3. Вывод grep

Делаем вывод цветным:

alias grep=’grep —color=auto’
alias egrep=’egrep —color=auto’
alias fgrep=’fgrep —color=auto’

4. Калькулятор

Запускать калькулятор с поддержкой стандартной библиотеки mathlib:

5. Создание хеша

alias sha1=’openssl sha1′

6. Создание каталогов

Создавать дерево каталогов, если оно не существует:

alias mkdir=’mkdir -pv’

6. Вывод diff

Делаем вывод diff цветным:

7. Вывод mount

Сделаем вывод mount читаемым:

alias mount=’mount |column -t’

8. Ярлыки

Сократим команды для экономии времени:

alias h=’history’
alias j=’jobs -l’

9. Информация и дата

alias path=’echo -e $
alias now=’date +»%T»‘
alias nowtime=now
alias nowdate=’date +»%d-%m-%Y»‘

10. Редактор Vim

alias команд linux для использования редактора vim по умолчанию:

alias vi=vim
alias svi=’sudo vi’
alias vis=’vim «+set si»‘
alias edit=’vim’

11. Ping

Посылать только пять запросов:

alias ping=’ping -c 5′

Интервал между запросами одна секунда:

alias fastping=’ping -c 100 -s.2′

12. Открытые порты

alias ports=’netstat -tulanp’

13. Wakeup

Будим серверы в режиме сна по mac адресу с помощью утилиты wakeonlan:

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’

14. Управление iptables

alias iptlist=’sudo /sbin/iptables -L -n -v —line-numbers’
alias iptlistin=’sudo /sbin/iptables -L INPUT -n -v —line-numbers’
alias iptlistout=’sudo /sbin/iptables -L OUTPUT -n -v —line-numbers’
alias iptlistfw=’sudo /sbin/iptables -L FORWARD -n -v —line-numbers’
alias firewall=iptlist

15. Curl

Получить заголовки сервера:

alias header=’curl -I»

Проверять поддержку сжатия на сервере:

alias headerc=’curl -I —compress’

16. Работа с файлами

Не удалять корень и предупреждать об удалении файлов:

alias rm=’rm -I —preserve-root’

alias mv=’mv -i’
alias cp=’cp -i’
alias ln=’ln -i’

Защита от изменения прав для /:

alias chown=’chown —preserve-root’
alias chmod=’chmod —preserve-root’
alias chgrp=’chgrp —preserve-root’

17. Обновление Debian

alias apt-get=»sudo apt-get»
alias updatey=»sudo apt-get —yes»

Обновление одной командой:

alias update=’sudo apt-get update && sudo apt-get upgrade’

18. Обновление RedHat

В семействе дистрибутивов Red Hat используется пакетный менеджер yum:

alias update=’yum update’
alias updatey=’yum -y update’

19. Стать суперпользователем

alias root=’sudo -i’
alias su=’sudo -i’

20. Выключение

Выполнять команды выключения через sudo:

alias reboot=’sudo /sbin/reboot’
alias poweroff=’sudo /sbin/poweroff’
alias halt=’sudo /sbin/halt’
alias shutdown=’sudo /sbin/shutdown’

21. Управление серверами

alias nginxreload=’sudo /usr/local/nginx/sbin/nginx -s reload’
alias nginxtest=’sudo /usr/local/nginx/sbin/nginx -t’
alias lightyload=’sudo /etc/init.d/lighttpd reload’
alias lightytest=’sudo /usr/sbin/lighttpd -f /etc/lighttpd/lighttpd.conf -t’
alias httpdreload=’sudo /usr/sbin/apachectl -k graceful’
alias httpdtest=’sudo /usr/sbin/apachectl -t && /usr/sbin/apachectl -t -D DUMP_VHOSTS’

22. Резервное копирование

alias backup=’sudo /home/scripts/admin/scripts/backup/wrapper.backup.sh —type local —taget /raid1/backups’

23. Мультимедиа

Открыть видео в текущей директории:

alias playavi=’mplayer *.avi’
alias vlc=’vlc *.avi’

Добавить в плейлист музыку из текущей директории:

alias playwave=’for i in *.wav; do mplayer «$i»; done’
alias playogg=’for i in *.ogg; do mplayer «$i»; done’
alias playmp3=’for i in *.mp3; do mplayer «$i»; done’

Открыть музыку из устройства nas:

alias nplaywave=’for i in /nas/multimedia/wave/*.wav; do mplayer «$i»; done’
alias nplayogg=’for i in /nas/multimedia/ogg/*.ogg; do mplayer «$i»; done’
alias nplaymp3=’for i in /nas/multimedia/mp3/*.mp3; do mplayer «$i»; done’

23. Системное администрирование

Работать с интерфейсом eth1:

alias dnstop=’dnstop -l 5 eth1′
alias vnstat=’vnstat -i eth1′
alias iftop=’iftop -i eth1′
alias tcpdump=’tcpdump -i eth1′
alias ethtool=’ethtool eth1′

Работать с интерфейсом wlan0 по умолчанию:

alias iwconfig=’iwconfig wlan0′

24. Информация о системе

alias meminfo=’free -m -l -t’

Показать процессы потребляющие больше всего памяти:

alias psmem=’ps auxf | sort -nr -k 4′
alias psmem10=’ps auxf | sort -nr -k 4 | head -10′

Показать процессы использующие процессор:

alias pscpu=’ps auxf | sort -nr -k 3′
alias pscpu10=’ps auxf | sort -nr -k 3 | head -10′

Информация о процессоре:

Посмотреть память видеокарты:

alias gpumeminfo=’grep -i —color memory /var/log/Xorg.0.log’

25. Управление роутером

alias rebootlinksys=»curl -u ‘admin:my-super-password’ ‘http://192.168.1.2/setup.cgi?todo=reboot'»

alias reboottomato=»ssh admin@192.168.1.1 /sbin/reboot»

27. Wget

Продолжать незавершенную загрузку по умолчанию:

28. Браузеры

alias ff4=’/opt/firefox4/firefox’
alias ff13=’/opt/firefox13/firefox’
alias chrome=’/opt/google/chrome/chrome’
alias opera=’/opt/opera/opera’

Браузер по умолчанию:

29. Алиасы для ssh

Вы можете создавать псевдонимы Linux команд для подключений по ssh с помощью конфигурационного файла OpenSSL —

/.ssh/config. Не нужно этого делать с помощью обычных алиасов, здесь функционал шире. Например:

Host server10
Hostname 1.2.3.4
IdentityFile

/backups/.ssh/id_dsa
user foobar
Port 30000
ForwardX11Trusted yes
TCPKeepAlive yes

30. Другие

Правильное отображение для df и du:

alias df=’df -H’
alias du=’du -ch’

alias nfsrestart=’sync && sleep 2 && /etc/init.d/httpd stop && umount netapp2:/exports/http && sleep 2 && mount -o rw,sync,rsize=32768,wsize=32768,intr,hard,proto=tcp,fsc natapp2:/exports /http/var/www/html && /etc/init.d/httpd start’

Состояние кеширующего сервера:

alias mcdstats=’/usr/bin/memcached-tool 10.10.27.11:11211 stats’
alias mcdshow=’/usr/bin/memcached-tool 10.10.27.11:11211 display’

Выводы

Если вы знаете другие полезные alias команд linux, то поделитесь ими с нами в комментариях!

Оцените статью:

Об авторе

Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux интересуюсь всем, что связано с информационными технологиями и современной наукой.

9 комментариев

Кхе, кхе. Что будет — ежели сотворить текстовый файл с набором alias, который будучи вставленным в

/.bashrc после первой установки системы, выполнял бы обновление, удаление гостевого сеанса, открывал бы скрытые пункты автозагрузки? Список можно продолжить. Черновой работы подобного рода море, особенно в классической Ubuntu.
P.S. Не судите строго. 😉

Интересно, но это уже не alias, а просто скрипт.

это и есть алиася. Или сделать /etc/profile.d/aliases.sh — рекомеднуют туда. Это для всех пользователей будет действовать.
Еще бы статью про функции, я их тоже в /etc/profile.d/файл помещаю. Но надо обязательно все проверить перед перезагрузкой.
И к функциям сделать bash-completion

Хмм. Можно попробовать
alias sizes=»du —summarize —human-readable *»
df -h и free -h по умолчанию
Обновление, наверное, лучше всё же скриптами. Тот же «

root/update » лично у меня запускает что-то вида emerge -DuNv$1 $2 —keep-going @world && emerge -vD$1 $2 —depclean && emerge @preserved-rebuild && revdep-rebuild && beep -f 2000 -l 50 || beep -f 100 -l 150″ плюс записывает время начала выполнения, time разных процессов обновления, запускает пакетный менеджер с нужными nice и ionice, и так далее. В перспективе можно прикрутить к этому cgroups, чтоб уж точно не поджимал по быстродействию, и цветное перенаправление во временные файлы для дальнейшего курения в случае ошибок. А запускаться всё равно будет так же. И не надо писать лютый однострочник с сомнительной поддержкой переменных и прочего.

Введенные на не_той раскладе команды, алиас запуска не умеющего в rc-файлы эмулятора терминала, sublime-text=»/opt/. «, и так далее. Простор огромен.

//а, и ещё манпейджи говорят про интересные применения в плане чтения истории команд плюс команду «type», показывающую текущие алиасы для команды, и «command», пропускающую алиасы при выполнении.

Ну и удобные алиасы для каждого всё равно будут своими.

Что бы не корёжить файл .bashrc, можно создать рядом файл .bash_aliases и добавлять алиасы в него.

Хорошая статья. Я делаю дополнительный файл алиасов — host-specific. Модифицирую .bashrc добавив пару строчек.

[[ -f $HOME/.bashrc.$HOSTNAME ]] && . «$HOME/.bashrc.$HOSTNAME»

Хорошо бы еще написать статью про внедрение функций для расширения функционала. (PS прошу прощения если таковая уже иммется. )

Допустим, я сделал алиас apt=’aptitude’.
Как мне вызвать прежний apt (unalias не предлагать)?

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Создание wallet oracle 12 на linux
  • Создание uefi загрузочной флешки linux
  • Создание tar архива linux
  • Создание ssl сертификата linux
  • Создание rar архива linux