Прискорення 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: встановлення, створення сесій, робота з вікнами та панелями, гарячі клавіші та захист тривалих процесів...
Як визначити, хто видалив файл на сервері під управлінням Linux. Перевірка історії команд Bash, системних журналів, auditd, Docker, Git та інших джерел, які доп...
Як перенести Docker Compose на новий VPS без простою: підготовка сервера, перенесення Docker Volumes, баз даних і файлів, перевірка проєкту та безпечне перемика...