Ускорение WordPress на уровне Nginx: правильные настройки PHP-FPM, try_files, статика, кеширование, Brotli, защита wp-login и безопасные заголовки для стабильно...
Блог компании 3v-Hosting
9 мин.
Повседневная работа системного администратора редко состоит из сложных операций. Куда чаще приходится снова и снова выполнять одни и те же простые команды, например проверить свободное место на диске, посмотреть нагрузку на сервер, открыть журнал службы, перейти в нужный каталог, обновить пакеты или перезапустить сервис. За день такие действия могут повторяться десятки раз.
Конечно, можно каждый раз печатать длинные команды вручную и поначалу это является хорошей практикой для того, чтобы их запомнить. Потом можно искать их в истории терминала, когда уже выполнял то или иное задание. Но куда проще будет один раз настроить bash-алиасы - это короткие команды, которые заменяют длинные конструкции и экономят время при работе в консоли. Алиас - буквально означает "псевдоним".
Даже несколько удачных алиасов заметно сокращают объём ручного ввода, становится сильно меньше опечаток, а привычные действия теперь выполняются почти автоматически. Однажды попробовав так поработать - возвращаться к прежнему способу уже совершенно не хочется.
Алиас - это короткое имя, которое оболочка Bash подставляет вместо заранее заданной команды или целой последовательности команд.
Например, вместо длинной записи:
ls -lah --color=auto
можно просто написать:
ll
Для этого достаточно лишь создать соответствующий алиас:
alias ll='ls -lah --color=auto'
После этого при вводе команды ll оболочка сама заменит её на ls -lah --color=auto и сразу выполнит.
Но есть один нюанс. Алиасы работают только в интерактивной оболочке Bash. А так как это не отдельные программы и не вспомогательные скрипты, то и дополнительной нагрузки на систему они почти не создают, что очень эффективно.
Пользовательские алиасы зачастую располагаются в одном из трёх файлов:
~/.bash_aliases~/.bashrc~/.profileВ большинстве современных дистрибутивов рекомендуется использовать именно ~/.bash_aliases , а если такого файла нет, то его можно создать самостоятельно.
Создать собственный алиас очень просто. Для этого откройте или создайте файл:
nano ~/.bash_aliases
Добавьте в него строку:
alias ll='ls -lah --color=auto'
и сохраните файл.
После изменения конфигурации, добавления нового алиаса - необходимо перечитать настройки оболочки, чтобы изменения применились и можно было использовать новую короткую команду в рамках своей сессии. Это делается командой:
source ~/.bashrc
Ну или вы просто можете открыть новое окно терминала, где данные изменения уже будут применены.
Просмотреть все активные алиасы, существующие в системе, можно командой:
alias
Удалить алиас до закрытия терминала:
unalias имя_алиаса
Подчёркиваем: это не полное удаление алиаса, а как бы его выключение в рамках конкретной сессии. Но во всех других и новых сессиях алиас будет работать, пока вы не удалите его из файла и не сохраните изменения.
После того, как вы добавили в файл строку с алиасом, сохранили файл и применили изменения, достаточно ввести в консоли команду:
ll
после чего Bash выполнит полную команду ls -lah --color=auto.
Если новый алиас не срабатывает, то причина обычно довольно проста.
source ~/.bashrc;~/.bash_aliases не подключён в ~/.bashrc.Напомним, что проверить, какие алиасы правильно прописаны и загружены в текущем сеансе, можно командой:
alias
Если нужной записи в списке нет, значит Bash её не прочитал и значит стоит проверить конфигурационные файлы, при необходимости заново загрузив их.
У каждого администратора со временем появляется собственный набор алиасов. В первую очередь он, конечно, зависит от тех задач, что выполняет администратор, но если обобщить, то смысл сводится к тому, чтобы сократить количество повторяющихся действий.
Наиболее часто создают алиасы для работы с файлами и системой, так как именно эти действия являются основой работы в Unix системах. Ниже мы привели примеры наиболее популярных, базовых алиасов, которые сильно упрощают жизнь администратора:
| Алиас | Полная команда | Назначение |
|---|---|---|
ll |
ls -lah --color=auto |
Подробный список файлов |
la |
ls -A |
Показ скрытых файлов |
grep |
grep --color=auto |
Подсветка найденных совпадений |
df |
df -h |
Использование дисков |
du |
du -sh |
Размер каталога |
ports |
ss -tulnp |
Просмотр открытых портов |
cls |
clear |
Очистка терминала |
Но этим всё не ограничивается, ведь алиасы также отлично подходят для просмотра журналов, управления сервисами, работы с Docker и другими сторонними программами, а также для быстрого перехода по каталогам.
Например:
# Журналы alias nginxlog='tail -f /var/log/nginx/access.log' alias syslog='journalctl -f' # Управление сервисами alias nginxrestart='systemctl restart nginx' alias nginxstatus='systemctl status nginx' # Docker alias dps='docker ps -a' alias dlogs='docker logs -f' alias dc='docker compose' alias dcu='docker compose up -d' # Навигация alias www='cd /var/www' alias logs='cd /var/log' alias projects='cd ~/projects'
По сути, если какой-то сервис используется ежедневно, то уже имеет смысл добавить и для него отдельный алиас. Через некоторое время короткие команды становятся привычнее полных, а работа в терминале заметно ускоряется.
Хоть это и очевидно, но мы решили акцентировать внимание на том, что алиас может запускать сразу несколько команд подряд. Особенно это удобно, когда одна и та же последовательность действий повторяется каждый день. Например, обновление пакетов можно свести к одной короткой команде:
alias update='sudo apt update && sudo apt upgrade'
Как вы заметили, для этого используется встроенный логический оператор "И" (&&). Вы можете использовать весь спектр возможностей командной строки bash для написания последовательностей команд или целые скрипты. Например по такому же принципу легко собрать небольшую проверку состояния сервера:
alias health='uptime && free -h && df -h'
После запуска health в терминале сразу появится информация о времени работы системы, использовании оперативной памяти и свободном месте на дисках. Для быстрой проверки состояния вашего VPS-сервера этого обычно вполне хватает.
Алиасы хорошо подходят для коротких и часто используемых команд. Но существуют границы, после которых алиасы скорее начинают мешать, чем помогать в работе. Например, не стоит без необходимости менять поведение стандартных команд, таких как rm:
alias rm='rm -i'
На своём компьютере такой алиас может быть удобным, но при работе на другом сервере или в команде он легко становится причиной путаницы, а в худших случаях может и вовсе привести к фатальным последствиям для системы.
Также существует и техническое ограничение: алиасы не умеют нормально работать с аргументами. Поэтому если хочется выполнять что-то вроде:
logs nginx
, то лучше использовать Bash функцию:
logs() {
journalctl -u "$1" -f
}
Теперь одна и та же команда будет работать с любым сервисом, как например:
logs nginx logs ssh logs docker
Алиасы остаются хорошим выбором для простых сокращений, но так как функции поддерживают параметры, условия, циклы и переменные, то более сложную логику обычно выносят именно в функции Bash.
Если вы работаете сразу с несколькими серверами, то лучше использовать один и тот же набор алиасов. Проще всего будет просто скопировать файл ~/.bash_aliases на все свои серверы:
scp ~/.bash_aliases user@server:~/
Многие администраторы идут дальше и хранят свои конфигурационные файлы (dotfiles) в Git-репозитории. Тогда привычное окружение можно развернуть на новом VPS буквально за несколько минут.
Чтобы со временем список алиасов не превратился в хаотичный набор команд, мы рекомендуем вам придерживаться нескольких простых правил:
Уже через пару месяцев такой файл становится вашей персональной библиотекой. Его удобно переносить между серверами, дополнять новыми командами и использовать практически на любой Linux-системе.
В большинстве современных дистрибутивов Linux для этого используется файл ~/.bash_aliases, который подключается из ~/.bashrc.
Да. Если после входа запускается Bash и загружается пользовательская конфигурация, то все алиасы будут доступны так же, как и в локальном терминале.
Обычно нет. По умолчанию алиасы предназначены для интерактивной оболочки. В сценариях лучше использовать полноценные команды или функции.
Алиас просто заменяет одну строку текста на другую. Функция представляет собой небольшой сценарий, который может принимать параметры, использовать условия, циклы и переменные.
Если вы администрируете Linux серверы, то Bash и по сей день остаётся наиболее универсальным выбором, поскольку установлен практически везде. Zsh, конечно, предлагает больше возможностей для интерактивной работы, однако принципы создания алиасов в обеих оболочках практически одинаковы.
Bash-алиасы - это один из тех инструментов, к которым быстро привыкаешь. На их настройку достаточно потратить всего несколько минут, а экономить время они будут каждый день.
У каждого администратора постепенно появляется свой набор команд. Кто-то чаще работает с журналами, кто-то постоянно управляет сервисами, кто-то почти не выходит из Docker или SSH-сеансов. Поэтому искать какой-то идеальный список алиасов нет особого смысла - он всё равно будет разным для каждого администратора.
Поэтому начните с нескольких команд, которыми вы пользуетесь чаще всего и через некоторое время вы заметите, что список сам начинает расти. Именно так обычно и появляется удобная рабочая среда, в которой терминал делает то, что нужно вам, а не наоборот.
Подробное руководство по tmux для Linux и VPS: установка, создание сессий, работа с окнами и панелями, горячие клавиши и защита длительных процессов от обрыва S...
Как определить, кто удалил файл на Linux-сервере. Проверка Bash History, системных журналов, auditd, Docker, Git и других источников, которые помогают расследов...
Как перенести Docker Compose на новый VPS без даунтайма: подготовка сервера, перенос Docker Volumes, баз данных и файлов, проверка проекта и безопасное переключ...