Показаны сообщения с ярлыком команды. Показать все сообщения
Показаны сообщения с ярлыком команды. Показать все сообщения

суббота, 30 декабря 2017 г.

20 удобных псевдонимов(aliases) для Bash Shell.

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

Как вывести список используемых профилем псевдонимов?

Наберите в командной строке команду alias:

$ alias

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

alias ..='cd ..'
alias amazonbackup='s3backup'
alias apt-get='sudo apt-get'
...

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

Как создать псевдоним команд (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 при вводе которого будет выполнятся команда очистки экрана терминала - clear:

$ alias c=clear

теперь если в терминале написать c и нажать ENTER, выполнится команда clear:

$ c

Если вы создали более сложный псевдоним например с дополнительными параметрами:

$ alias ls='ls -l'

но в какой-то момент времени вам необходимо выполнить команду указанную в alias без параметров, поставьте обратный слеш перед командой:

$ \ls

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

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

Для удаления следует использовать следующий синтаксис:

$ unalias aliasname

например удалим созданный раннее алиас:

$ unalias c

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

Как создать постоянный псевдоним?

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

$ nano ~/.bashrc

введите на новой строке в файле псевдоним в таком же формате как мы его задавали в командной строке:

alias c=clear

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

Заметка о привилегированном режиме. 

Если пользователь не root, и необходимо выполнять все перечисленные команды с помощью sudo, то добавьте в ~/.bashrc такую конструкцию:


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


20 лучших примеров для псевдонимов команд в bash которые помогу вам эффективней работать с командной строкой.

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

## Колоризация вывода ##
alias ls='ls --color=auto'
## Вывод в формате листинга##
alias ll='ls -la'
## Показать вместо с скрытыми файлами ##
alias l.='ls -d .* --color=auto' 


#2: Управление перемещениями cd

## для тех кто забывает ставить пробел ##
alias cd..='cd ..'
## быстрый способ покинуть текущую директорию ##
alias ..='cd ..'
alias ...='cd ../../../'
alias ....='cd ../../../../'
alias .....='cd ../../../../'
alias .4='cd ../../../../'
alias .5='cd ../../../../..'


#3: Управление сортировщиком grep

## Колоризация ##
alias grep='grep --color=auto'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'


#4: Создание каталогов mkdir

## Создать родительские каталоги, т.е. будет создан весь путь до конечной директории ##
alias mkdir='mkdir -pv'


#5: Управление diff

иногда для работы псевдонимом необходимы дополнительные пакеты в системе, например для колоризации вывода diff предварительно установите colordiff:

alias diff='colordiff'


#6: Сделать вывод команды mount более читабельным

alias mount='mount |column -t'

#7: Команды просто сокращающие время

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

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

alias path='echo -e ${PATH//:/\\n}'
alias now='date +"%T"'
alias nowtime=now
alias nowdate='date +"%d-%m-%Y"'

#9: Сделать vim редактором по умолчанию

alias vi=vim
alias svi='sudo vi'
alias vis='vim "+set si"'
alias edit='vim'

#10: Контроль командой ping

# Останвовить программу после 5 реквестов узла #
alias ping='ping -c 5'
# Не ждать интервала в 1 секунду #
alias fastping='ping -c 100 -s.2'


#11: Показать все открытые порты:

alias ports='ss -lutn'


#12: Разбудить удаленные сервера

## измените 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'


#13: Упростить работу с 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


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

# Не удалять и запрашивать при удалении более 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'


#15: Обновление deb системы

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

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


#16: Обновление RHEL/Fedora/CentOS

alias update='yum update'
alias updatey='yum -y update'


#17: Контроль веб серверов

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'

#18: Системный мониторинг

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 cpuinfo='lscpu'

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


#19: Возобновляемая загрузка

alias wget='wget -c'

#20: Запуск различный версий браузеров

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

#default ff
alias ff=ff13

#my default browser
alias browser=chrome

понедельник, 6 марта 2017 г.

JunOS — полезные команды

Если статья оказалась полезной для вас, пожалуйста подпишитесь на мой телеграм канал:

root@juniper% — это сам shell OS FreeBSD
после ввода команды cli мы попадаем в
root@juniper> — операционный режим, после ввода команды edit попадаем в
root@juniper# — конфигурационный режим

Команды мониторинга и устранения неисправностей:
root@juniper> clear — очистка чего-либо
root@juniper> monitor — просмотр чего либо в реальном времени
root@juniper> ping — проверка доступности узлов ICMP-пакетами
root@juniper> show — просмотр конфигурации
root@juniper> test — тестирование сохраненных конфигураций и интерфейсов
root@juniper> traceroute — трассировка маршрута

Отображение состояния интерфейсов
root@juniper> show interface description
root@juniper> show interface terse {кратко о состоянии интерфейсов}
root@juniper> show interface detail {полная информация о интерфейсах}

Сохранение резервной конфигурации
root@juniper> request system configuration rescue save

Чтобы возвратиться к спасательной конфигурации, загрузите её следующей командой:
root@juniper# rollback rescue

Удаляет не примененные команды
root@juniper> clear system commit

Показывает CPU, Mem and Temperature
root@juniper> show chassis routing-engine

Показывает статистику на интерфейсе в реальном времени
root@juniper> monitor traffic interface ge-0/0/1 {какие пакеты и куда идут на интерфейсе}
root@juniper> monitor interface traffic {трафик на всех интерфейсах}

Рестарт процесса
root@juniper> restart {process} gracefully

Перегрузка оборудования
root@juniper> request system reboot

Удаление ненужных файлов
root@juniper> request system storage cleanup

Отключение ветки конфигурации
root@juniper# deactivate {interfaces ge-0/0/10}

Загрузка заводской конфигурации
root@juniper# load factory-default

Установка пароля на root-пользователя
root@juniper# set system root-authentication plain-text-password

Установка нового пользователя
root@juniper# set system login user {имя пользователя} class {тип пользователя: operator, read-only, super-user} authentication plain-text-password

Настройка WEB-интерфейса
root@srx# set system services web-management http interface {vlan.0} {включение интерфейсов}

Включение ssh-доступ к роутеру
root@srx# set system services ssh

Переключение с одного порта на другой
(порт на который переключаешься не должен быть активен)
root@juniper# rename interfaces ge-0/0/0 to ge-0/0/1

Возвращение портов — обратная операция
root@juniper# rename interfaces ge-0/0/1 to ge-0/0/0

Что бы не удалять IP-адрес с интерфейса и присваивать другой используй команду rename
[edit interfaces]
root@juniper# rename ge-0/0/1 unit 0 family inet address 192.168.0.1/28 to address 192.168.0.2/28

Копирование части конфигурации на другую ветку
(ветка на которую копируется не должна быть создана)
root@juniper# copy interfaces ge-0/0/0 to ge-0/0/1

Возвращение на верхний уровень иерархии конфигурационного режима [edit]
[edit interfaces ge-0/0/1]
root@juniper# top

Ввод операционных команд из конфигурационного режима
root@juniper# run {show route} {любая операционная команда}

Проверка конфигурации на ошибки до коммита
root@juniper# commit check

Применение конфигурации по времени
root@juniper# commit at 12:00 {по системному времени}

Чтобы отменить операцию по времени
root@juniper> clear system commit

Применение конфигурации с откатом по времени
root@juniper# commit confitmed 100 {время в минутах}

Откат конфигураций
root@juniper# rollback {откат на последнюю конфигурацию}
root@juniper# rollback? {просмотр откатов конфигурации}

Просмотр изменений в конфигурации до ее применения
root@juniper# show | compare

Сделать нужные порты членами одной виртуальной локальной сети (VLAN).
root@juniper# set interfaces interface-range interfaces-trust member-range ge-0/0/1 to ge-0/0/7

Этой командой мы сказали, что интерфейсы являются портами коммутатора и принадлежат к одному VLAN под названием vlan-trust.
root@juniper# set interfaces interface-range interfaces-trust unit 0 family ethernet-switching vlan members vlan-trust

Далее создаем собственно сам vlan-trust и говорим, что данный VLAN терминируется и имеет IP-адрес
root@juniper# set vlans vlan-trust vlan-id 3
root@juniper# set vlans vlan-trust l3-interface vlan.0
root@juniper# set interfaces vlan unit 0 family inet address 192.168.0.1/24

Разрешаем все сервисы в зоне trust
root@juniper# set security zones security-zone trust host-inbound-traffic system-services all

Разрешаем все протоколы в зоне trust
root@juniper# set security zones security-zone trust host-inbound-traffic protocols all

Добавляем интерфейсы в зону trust
root@juniper# set security zones security-zone trust interfaces vlan.0
root@juniper# set security zones security-zone trust interfaces lo0.0
root@juniper# set security zones security-zone trust interfaces ge-0/0/1.0

Создаем переход от зоны trust к зоне trust {в этих политиках мы разрешаем всё}
root@juniper# set security policies from-zone trust to-zone trust policy trust-to-trust match source-address any
root@juniper# set security policies from-zone trust to-zone trust policy trust-to-trust match destination-address any
root@juniper# set security policies from-zone trust to-zone trust policy trust-to-trust match application any
root@juniper# set security policies from-zone trust to-zone trust policy trust-to-trust then permit