Visitors have accessed this post 423 times.

30 псевдонимов оболочки Bash в ОС Linux / Unix / Mac OS X

6
0
423
9 октября 2020 11:18
Автор: Rebrain Me
Linux

Visitors have accessed this post 423 times.

Оригинал статьи — https://www.cyberciti.biz/tips/bash-aliases-mac-centos-linux-unix.html

Псевдоним (он же алиас) bash — это ярлык для команд. Команда alias позволяет пользователю запускать любую команду или группу команд (включая параметры и имена файлов), вводя одно слово. Используйте команду alias, чтобы отобразить список всех определенных псевдонимов. Вы можете добавлять пользовательские псевдонимы в файл ~/.bashrc. С помощью этих псевдонимов вы можете сократить время ввода и повысить производительность командной строки.Сегодня мы поговорим о том, как создавать и использовать псевдонимы, включая 30 практических примеров псевдонимов оболочки bash.

Подробно о псевдонимах оболочки bash

Общий синтаксис команды alias для оболочки bash выглядит следующим образом:

Как вывести список псевдонимов bash

Введите команду alias:

alias

Пример вывода:

alias ..='cd ..'

alias amazonbackup='s3backup'

alias apt-get='sudo apt-get'

...

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

Как определить или создать псевдоним оболочки bash

Чтобы создать псевдоним (alias) используйте следующий синтаксис:

alias name=value

alias name='command'

alias name='command arg1 arg2'

alias name='/path/to/script'

alias name='/path/to/script.pl arg1'

В этом примере создайте псевдоним c для часто используемой команды очистки, которая очищает экран, введя следующую команду и нажав клавишу [ENTER]:

alias c='clear'

Затем, чтобы очистить экран, вместо того, чтобы вводить слово clear, вам достаточно будет кликнуть на букву «c» и нажать клавишу [ENTER]:

Как временно отключить псевдоним bash

Псевдоним можно временно отключить, используя следующий синтаксис:

## path/to/full/command

/usr/bin/clear

## вызвать псевдоним с помощью бекслеша ##

\c

## используйте команду /bin/ls и избегайте псевдонима ls ##

command ls

Как удалить/убрать псевдоним bash

Для удаления псевдонимов необходимо использовать команду unalias . Вот так выглядит синтаксис команды:

unalias aliasname

unalias foo

В этом примере удалите alias c, который был создан в предыдущем примере:

unalias c

Вам также необходимо удалить псевдоним из файла ~/.bashrc с помощью текстового редактора (см. следующий раздел).

Как сделать псевдонимы bash shell постоянными

Псевдоним c действителен только во время текущей сессии входа. После выхода из системы или перезагрузки системы псевдоним c исчезнет. Чтобы избежать этой проблемы, добавьте псевдоним в ваш файл ~/.bashrc, введите:

vi ~/.bashrc

Псевдоним c для текущего пользователя можно сделать постоянным, введя следующую строку:

alias c='clear'

Сохраните и закройте файл. Общесистемные псевдонимы (то есть, псевдонимы для всех пользователей) можно поместить в файл /etc/bashrc. Обратите внимание, что команда alias встроена в различные оболочки, включая ksh, tcsh/csh, ash, bash и другие.

Примечание о привилегированном доступе

Вы можете добавить код следующим образом в ~/.bashrc:

# если пользователь не root, нужно передать все команды через sudo #

if [ $UID -ne 0 ]; then

alias reboot='sudo reboot'

alias update='sudo apt-get upgrade'

fi

Примечание о конкретных псевдонимах ОС

Можно добавить код следующим образом в ~/.bashrc, используя оператор case:

### Получить имя ОС через uname ###

_myos="$(uname)"




### добавьте псевдоним, как есть, используя $ _myos ###

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

30 примеров псевдонимов оболочки bash

Чтобы сэкономить время и повысить производительность, псевдонимы различных типов можно определить следующим образом.

#1: Управление выводом команды ls

Команда ls выводит содержимое каталога, и вы можете выделить вывод цветом:

##Выделить вывод ls цветом ##

alias ls='ls --color=auto'




## Используйте длинный формат списка ##

alias ll='ls -la'




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

alias l.='ls -d .* --color=auto'

#2: Управление поведением команды cd

## команда get rid of не найдена ##

alias cd..='cd ..'




## быстрый способ выйти из текущего каталога ##

alias ..='cd ..'

alias ...='cd ../../../'

alias ....='cd ../../../../'

alias .....='cd ../../../../'

alias .4='cd ../../../../'

alias .5='cd ../../../../..'

#3: Управление выводом команды grep

grep command — утилита командной строки для поиска в текстовых файлах строк, соответствующих регулярному выражению:

## Выделите вывод команды grep цветом для простоты использования (желательно для файлов журнала)##

alias grep='grep --color=auto'

alias egrep='egrep --color=auto'

alias fgrep='fgrep --color=auto'

#4: Запуск калькулятора

alias bc='bc -l'

# Создание дайджеста sha1

alias sha1='openssl sha1'

#5: Создание родительских каталогов по запросу

Команда mkdir используется для создания каталога:

alias mkdir='mkdir -pv'

#6: Выделение цветом вывода diff

Вы можете сравнивать файлы построчно, используя diff, и использовать инструмент colordiff для того, чтобы выделять цветом вывод diff:

# установить пакет colordiff :)

alias diff='colordiff'

#7: Сделать вывод команды mount в удобочитаемом формате

alias mount='mount |column -t'

#8: Ярлыки команд для экономии времени

# удобные ярлыки #

alias h='history'

alias j='jobs -l'

#9: Создать новый набор команд

alias path='echo -e ${PATH//:/\\n}'

alias now='date +"%T"'

alias nowtime=now

alias nowdate='date +"%d-%m-%Y"'

#10: Установить vim по умолчанию

alias vi=vim

alias svi='sudo vi'

alias vis='vim "+set si"'

alias edit='vim'

#11: Управление выводом ping

# Остановить после отправки подсчета пакетов ECHO_REQUEST #

alias ping='ping -c 5'

# Не ждите  1 секунду, сразу же приступайте #

alias fastping='ping -c 100 -s.2'

#12: Показать открытые порты

Используйте команду netstat для быстрого вывода списка всех портов TCP/UDP на сервере:

alias ports='netstat -tulanp'

#13: Активация серверов из спящего режима

Wake-on-LAN (WOL) — это сетевой стандарт Ethernet, который позволяет серверу включать сетевое сообщение. Вы можете быстро активировать устройства и сервер nas, используя следующие псевдонимы:

## заменить mac вашим реальным MAC-адресом #

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)

Netfilter — это файрвол на базе хоста для операционных систем Linux. Он включен в дистрибутив Linux и активирован по умолчанию. В этой статье перечислены наиболее распространенные решения iptables, необходимые новому пользователю Linux для защиты своей операционной системы от злоумышленников.

## ярлык для iptables, передать его через sudo#

alias ipt='sudo /sbin/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: Отладка веб-сервера / проблемы cdn с curl

# получить заголовки веб-сервера #

alias header='curl -I'




# узнать, поддерживает ли удаленный сервер gzip/mod_deflate или нет #

alias headerc='curl -I --compress'

#16: Добавить безопасность сети

# не удаляйте и/или не запрашивайте, если удаляете более 3 файлов одновременно #

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 Linux

Команда apt-get используется для установки пакетов через Интернет (ftp или http). Вы также можете обновить все пакеты за одну операцию:

# определенный дистрибутив - Debian / Ubuntu и друзья #

# установить с помощью apt-get

alias apt-get="sudo apt-get"

alias updatey="sudo apt-get --yes"




# обновить по одной команде

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

#18: Обновить сервер Linux RHEL / CentOS / Fedora

Команда yum — это инструмент управления пакетами для RHEL / CentOS / Fedora Linux:

## RHEL / CentOS дистрибутива ##

alias update='yum update'

alias updatey='yum -y update'

#19: Настройка sudo и su

# стать root #

alias root='sudo -i'

alias su='sudo -i'

#20: Выполнить остановку/перезагрузку через sudo

Команда shutdown выключает систему Linux / Unix:

# перезагрузка / остановка / отключение питания

alias reboot='sudo /sbin/reboot'

alias poweroff='sudo /sbin/poweroff'

alias halt='sudo /sbin/halt'

alias shutdown='sudo /sbin/shutdown'

#21: Управление веб-серверами

# также передайте его через sudo, чтобы администратор мог перезагрузить его самостоятельно #

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: Псевдоним в резервной копии

# если cron фейлится или если вы хотите создать резервную копию по требованию, просто запустите их #

# снова передайте его через sudo, чтобы любой, кто находится в группе администраторов, мог начать работу #

# Скрипты резервного копирования #

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

alias nasbackup='sudo /home/scripts/admin/scripts/backup/wrapper.backup.sh --type nas --target nas01'

alias s3backup='sudo /home/scripts/admin/scripts/backup/wrapper.backup.sh --type nas --target nas01 --auth /home/scripts/admin/.authdata/amazon.keys'

alias rsnapshothourly='sudo /home/scripts/admin/scripts/backup/wrapper.rsnapshot.sh --type remote --target nas03 --auth /home/scripts/admin/.authdata/ssh.keys --config /home/scripts/admin/scripts/backup/config/adsl.conf'

alias rsnapshotdaily='sudo  /home/scripts/admin/scripts/backup/wrapper.rsnapshot.sh --type remote --target nas03 --auth /home/scripts/admin/.authdata/ssh.keys  --config /home/scripts/admin/scripts/backup/config/adsl.conf'

alias rsnapshotweekly='sudo /home/scripts/admin/scripts/backup/wrapper.rsnapshot.sh --type remote --target nas03 --auth /home/scripts/admin/.authdata/ssh.keys  --config /home/scripts/admin/scripts/backup/config/adsl.conf'

alias rsnapshotmonthly='sudo /home/scripts/admin/scripts/backup/wrapper.rsnapshot.sh --type remote --target nas03 --auth /home/scripts/admin/.authdata/ssh.keys  --config /home/scripts/admin/scripts/backup/config/adsl.conf'

alias amazonbackup=s3backup

#23: Специально для рабочего стола — проигрывайте avi/mp3 файлы по запросу

## воспроизводите видео файлы в текущем каталоге ##

# cd ~/Download/movie-name

# воспроизвести avi или vlc

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'




# перетасовать mp3/ogg etc по умолчанию #

alias music='mplayer --shuffle *'

#24: Настройка интерфейсов по умолчанию для команд, связанных с сисадмином

vnstat — консольный монитор сетевого трафика. dnstop — консольный инструмент для анализа трафика DNS. Команды tcptrack и iftop отображают информацию о TCP/UDP-соединениях с сетевого интерфейса и показывают, как их пропускает хост.

## Все наши серверы eth1 подключены к интернету через vlan/router и т. д.  ##

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'

#25: Быстро получить сведения о системной памяти,  памяти процессора и ее использовании

## передать варианты ##

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




## посмотреть процессы, которые едят больше всего памяти

alias psmem='ps auxf | sort -nr -k 4'

alias psmem10='ps auxf | sort -nr -k 4 | head -10'




## посмотреть процессы, которые едят больше всего cpu ##

alias pscpu='ps auxf | sort -nr -k 3'

alias pscpu10='ps auxf | sort -nr -k 3 | head -10'




## Получить информацию о сервере ##

alias cpuinfo='lscpu'




## older system use /proc/cpuinfo ##

##alias cpuinfo='less /proc/cpuinfo' ##




## узнать оперативную память GPU на настольном компьютере/ноутбуке##

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

#26: Управление домашним роутером

Команду curl можно использовать для перезагрузки маршрутизаторов Linksys.

# Перезагрузите домашний маршрутизатор / шлюз Linksys WAG160N / WAG54 / WAG320 / WAG120N из * nix.

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




# Перезагрузка беспроводного моста Asus NT16

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

#27 Возобновление wget по умолчанию

GNU Wget — бесплатная утилита для неинтерактивной загрузки файлов из интернета. Она поддерживает протоколы HTTP, HTTPS и FTP и может также возобновить загрузку:

alias wget='wget -c'

#28 Попробуйте протестить сайт в другом браузере

alias ff4='/opt/firefox4/firefox'

alias ff13='/opt/firefox13/firefox'

alias chrome='/opt/google/chrome/chrome'

alias opera='/opt/opera/opera'




#ff по умолчанию

alias ff=ff13




#мой браузер по умолчанию

alias browser=chrome

#29: Примечание о псевдониме ssh

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

Host server10

Hostname 1.2.3.4

IdentityFile ~/backups/.ssh/id_dsa

user foobar

Port 30000

ForwardX11Trusted yes

TCPKeepAlive yes

Теперь вы можете подключиться к peer1, используя следующий синтаксис:

$ ssh server10

#30: Еще кое-что…

## установить некоторые другие значения по умолчанию ##

alias df='df -H'

alias du='du -ch'




# top это atop, как vi - vim

alias top='atop'




## nfsrestart  должен был под root  ##

## обновить nfs mount/cache и т.д. для Apache ##

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'




## статус сервера Memcached  ##

alias mcdstats='/usr/bin/memcached-tool 10.10.27.11:11211 stats'

alias mcdshow='/usr/bin/memcached-tool 10.10.27.11:11211 display'




## быстро очистить сервер memcached ##

alias flushmcd='echo "flush_all" | nc 10.10.27.11 11211'




## Быстрое удаление активов из Akamai/Amazon cdn ##

alias cdndel='/home/scripts/admin/cdn/purge_cdn_cache --profile akamai'

alias amzcdndel='/home/scripts/admin/cdn/purge_cdn_cache --profile amazon'




## представьте список URL через файл или стандартный ввод

alias cdnmdel='/home/scripts/admin/cdn/purge_cdn_cache --profile akamai --stdin'

alias amzcdnmdel='/home/scripts/admin/cdn/purge_cdn_cache --profile amazon --stdin'

Выводы

В статье собрано несколько типов использования псевдонимов *nix bash:

  1. Установка параметров по умолчанию для команды (например, установить eth0 как параметр по умолчанию для команды ethtool через псевдоним ethtool = ‘ethtool eth0’).
  2. Исправление опечаток (cd .. будет действовать как cd .. через псевдоним cd .. = ‘cd ..’).
  3. Минимизация объема скрипта.
  4. Установка пути по умолчанию для команды, которая существует в нескольких версиях системы (например, GNU/grep находится в /usr/local/bin/grep, а Unix grep находится в /bin/grep. Чтобы использовать GNU grep, применяйте команду alias grep = ‘/usr/local/bin/grep’).
  5. Добавление сетей безопасности в Unix, делая команды интерактивными и устанавливая параметры по умолчанию (например, rm, mv и другие команды).
  6. Совместимость путем создания команд для более старых операционных систем, таких как MS-DOS или других Unix-подобных операционных систем (например, alias del = rm).

От редакции

Если вам интересно посещать открытые онлайн-мероприятия по DevOps, Kubernetes, Docker, GitlabCI и др. и задавать вопросы в режиме реального времени, подключайтесь к каналу DevOps by REBRAIN.

*Анонсы мероприятий каждую неделю

Практикумы для специалистов по инфраструктуре и разработчиков — https://rebrainme.com.

Наш Youtube-канал —
https://www.youtube.com/channel/UC6uIx64IFKMVmj12gKtSgBQ.

Агентство Fevlake, проектируем и поддерживаем IT-инфраструктуры с 2012 года — https://fevlake.com.

Комментарии (3)
Введено символов из возможных
Не отвечать

Вам также может понравится

Как удалять файлы и директории в Linux

В некоторых случаях может потребоваться удалить ненужные директории и файлы, чтобы освободить место на жестком диске. Рассказываем, как это сделать.

Для удаления файлов используется команда rm. Предупреждение: удаление файлов и каталогов в Linux с помощью команды rm является необратимым. Поэтому следует проявлять особую осторожность при ее...

1
0
28 мая 2020
Как узнать, сколько места занимают файлы и директории в Linux

Для того, чтобы через интерфейс командной строки узнать, сколько места занимают файлы и директории, в Linux используется команда du. 

du расшифровывается как disk usage (использование диска).

Синтаксис команды du:

du ...

Если запустить du без указания параметров, то она выведет все директории и поддиректории текущей директории....

5
0
21 августа 2020
Терминология в Docker

Инструмент контейнеризации Docker входит в число наиболее востребованных технологий, без которых не обойтись в работе Devops-инженера. Предлагаем начать знакомство с Docker с основных терминов, которые могут вам встретиться при работе с ним.

Docker - это инструмент, упрощающий разработку, тестирование и выкладку приложений за счет использования...

0
0
8 июля 2020