Полезные alias для linux

alias – встроенная команда Bash и других оболочек для сокращения команд и их последовательностей. Также возможно переопределение команд и подстановка в них параметров. Обычно назначенные имена сохраняются только в течение сессии.

Особенности

В UNIX-системах в домашнем каталоге и в каталоге /etc имеется скрипт инициализации командного интерпретатора. Конкретное имя зависит от используемого интерпретатора — для bash это /etc/bashrc и $HOME/.bashrc соответственно. Можно установить постоянные имена командам на уровне целой системы или отдельного пользователя, добавляя их в соответствующий скрипт.

Чтобы посмотреть какие псевдонимы linux команд уже заданны в вашей системе просто выполните (в некоторых системах используется опция -p):

[cc lang=”bash”]alias[/cc]

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

[cc lang=”bash”]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'[/cc]

Команда покажет все alias команд linux определенные для текущего пользователя. Вывод очень сильно зависит от вашего дистрибутива. Общий синтаксис команды выглядит следующим образом:

[cc lang=”bash”]$ alias имя=”значение”

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

$ alias имя=”/путь/к/исполняемому/файлу”[/cc]

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

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

[cc lang=”bash”]alias c=’clear'[/cc]

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

[cc lang=”bash”]с
.[/cc]

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

[cc lang=”bash”]unalias c[/cc]

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

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

[cc lang=”bash”]vi ~/.bashrc[/cc]

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

[cc lang=”bash”]alias c=’clear'[/cc]

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

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

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

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

[cc lang=”bash”]_myos=”$(uname)”

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[/cc]

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

ПОЛЕЗНЫЕ ALIAS LINUX

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

ВЫВОД LS

Цветной вывод:

[cc lang=”bash”]alias ls=’ls –color=auto'[/cc]

P.S. также вы можете установить colorls

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

[cc lang=”bash”]alias ll=’ls -la'[/cc]

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

[cc lang=”bash”]alias l.=’ls -d .* –color=auto'[/cc]

ПЕРЕМЕЩЕНИЕ ПО КАТАЛОГАМ

Исправляем опечатку:

[cc lang=”bash”]alias cd..=’cd ..'[/cc]

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

[cc lang=”bash”]alias ..=’cd ..’
alias …=’cd ../../../’
alias ….=’cd ../../../../’
alias …..=’cd ../../../../’
alias .4=’cd ../../../../’
alias .5=’cd ../../../../..'[/cc]

ВЫВОД GREP

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

[cc lang=”bash”]alias grep=’grep –color=auto’
alias egrep=’egrep –color=auto’
alias fgrep=’fgrep –color=auto'[/cc]

Поиск по истории команд (запускается, например, так hs ssh):

[cc lang=”bash”]alias hs=”history | grep”[/cc]

КАЛЬКУЛЯТОР

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

[cc lang=”bash”]alias bc=’bc -l'[/cc]

СОЗДАНИЕ ХЕША

Создать хеш sha1:

[cc lang=”bash”]alias sha1=’openssl sha1′[/cc]

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

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

[cc lang=”bash”]alias mkdir=’mkdir -pv'[/cc]

ВЫВОД DIFF

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

[cc lang=”bash”]alias diff=’colordiff'[/cc]

ВЫВОД MOUNT

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

[cc lang=”bash”]alias mount=’mount |column -t'[/cc]

ЯРЛЫКИ

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

[cc lang=”bash”]alias h=’history’
alias j=’jobs -l'[/cc]

ИНФОРМАЦИЯ И ДАТА

[cc lang=”bash”]alias path=’echo -e ${PATH//:/\\n}’
alias now=’date +”%T”‘
alias nowtime=now
alias nowdate=’date +”%d-%m-%Y”‘[/cc]

РЕДАКТОР VIM

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

[cc lang=”bash”]alias vi=vim
alias svi=’sudo vi’
alias vis=’vim “+set si”‘
alias edit=’vim'[/cc]

PING

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

[cc lang=”bash”]alias ping=’ping -c 5′[/cc]

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

[cc lang=”bash”]alias fastping=’ping -c 100 -s.2′[/cc]

ОТКРЫТЫЕ ПОРТЫ

[cc lang=”bash”]alias ports=’netstat -tulanp'[/cc]

WAKEUP

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

[cc lang=”bash”]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'[/cc]

УПРАВЛЕНИЕ IPTABLES

[cc lang=”bash”]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[/cc]

CURL

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

[cc lang=”bash”]alias header=’curl -I”[/cc]

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

[cc lang=”bash”]alias headerc=’curl -I –compress'[/cc]

РАБОТА С ФАЙЛАМИ

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

[cc lang=”bash”]alias rm=’rm -I –preserve-root'[/cc]

Предупреждения:

[cc lang=”bash”]alias mv=’mv -i’
alias cp=’cp -i’
alias ln=’ln -i'[/cc]

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

[cc lang=”bash”]alias chown=’chown –preserve-root’
alias chmod=’chmod –preserve-root’
alias chgrp=’chgrp –preserve-root'[/cc]

ОБНОВЛЕНИЕ DEBIAN

Установка пакета:

[cc lang=”bash”]alias apt-get=”sudo apt-get”
alias updatey=”sudo apt-get –yes”[/cc]

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

[cc lang=”bash”]alias update=’sudo apt-get update && sudo apt-get upgrade'[/cc]

ОБНОВЛЕНИЕ REDHAT

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

[cc lang=”bash”]alias update=’yum update’
alias updatey=’yum -y update'[/cc]

СТАТЬ СУПЕРПОЛЬЗОВАТЕЛЕМ

[cc lang=”bash”]alias root=’sudo -i’
alias su=’sudo -i'[/cc]

ВЫКЛЮЧЕНИЕ

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

[cc lang=”bash”]alias reboot=’sudo /sbin/reboot’
alias poweroff=’sudo /sbin/poweroff’
alias halt=’sudo /sbin/halt’
alias shutdown=’sudo /sbin/shutdown'[/cc]

УПРАВЛЕНИЕ СЕРВЕРАМИ

[cc lang=”bash”]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'[/cc]

РЕЗЕРВНОЕ КОПИРОВАНИЕ

[cc lang=”bash”]alias backup=’sudo /home/scripts/admin/scripts/backup/wrapper.backup.sh –type local –taget /raid1/backups'[/cc]

МУЛЬТИМЕДИА

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

[cc lang=”bash”]alias playavi=’mplayer *.avi’
alias vlc=’vlc *.avi'[/cc]

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

[cc lang=”bash”]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'[/cc]

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

[cc lang=”bash”]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'[/cc]

СИСТЕМНОЕ АДМИНИСТРИРОВАНИЕ

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

[cc lang=”bash”]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′[/cc]

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

[cc lang=”bash”]alias iwconfig=’iwconfig wlan0′[/cc]

Узнать свой внешний IP-адрес:

[cc lang=”bash”]alias ipe=”curl ipinfo.io/ip”[/cc]

ИНФОРМАЦИЯ О СИСТЕМЕ

Использование памяти:

[cc lang=”bash”]alias meminfo=’free -m -l -t'[/cc]

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

[cc lang=”bash”]alias psmem=’ps auxf | sort -nr -k 4′
alias psmem10=’ps auxf | sort -nr -k 4 | head -10′[/cc]

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

[cc lang=”bash”]alias pscpu=’ps auxf | sort -nr -k 3′
alias pscpu10=’ps auxf | sort -nr -k 3 | head -10′[/cc]

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

[cc lang=”bash”]alias cpuinfo=’lscpu'[/cc]

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

[cc lang=”bash”]alias gpumeminfo=’grep -i –color memory /var/log/Xorg.0.log'[/cc]

УПРАВЛЕНИЕ РОУТЕРОМ

Перезагрузить роутер:

[cc lang=”bash”]alias rebootlinksys=”curl -u ‘admin:my-super-password’ ‘http://192.168.1.2/setup.cgi?todo=reboot'”[/cc]

Или так:

[cc lang=”bash”]alias reboottomato=”ssh admin@192.168.1.1 /sbin/reboot”[/cc]

WGET

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

[cc lang=”bash”]alias wget=’wget -c'[/cc]

БРАУЗЕРЫ

Сокращения

[cc lang=”bash”]alias ff4=’/opt/firefox4/firefox’
alias ff13=’/opt/firefox13/firefox’
alias chrome=’/opt/google/chrome/chrome’
alias opera=’/opt/opera/opera'[/cc]

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

[cc lang=”bash”]alias browser=chrome[/cc]

АЛИАСЫ ДЛЯ SSH

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

[cc lang=”bash”]Host server10
Hostname 1.2.3.4
IdentityFile ~/backups/.ssh/id_dsa
user foobar
Port 30000
ForwardX11Trusted yes
TCPKeepAlive yes[/cc]

Теперь подключаемся:

[cc lang=”bash”]ssh server10[/cc]

ДРУГИЕ

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

[cc lang=”bash”]alias df=’df -H’
alias du=’du -ch'[/cc]

atop по умолчанию:

[cc lang=”bash”]alias top=’atop'[/cc]

Запуск nfs:

[cc lang=”bash”]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'[/cc]

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

[cc lang=”bash”]alias mcdstats=’/usr/bin/memcached-tool 10.10.27.11:11211 stats’
alias mcdshow=’/usr/bin/memcached-tool 10.10.27.11:11211 display'[/cc]