15%

Сэкономьте 15% на всех хостинговых услугах

Проверьте свои навыки и получите скидку на любой тарифный план

Используйте код:

Skills
Начать
15.04.2026

Ваша первая неделя на сервере Linux — 35+ основных команд

Ключевые термины: Быстрая справка перед началом

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

ТерминЧто это значит
Терминал 💻Текстовый интерфейс, где вы вводите команды
Оболочка 🐚Программа (обычно Bash), которая интерпретирует ваши команды
Bash ⚙️Самая распространенная оболочка; “язык”, на котором говорит ваш терминал
Sudo 🔑Команда, которая позволяет выполнять другие команды с правами администратора
Менеджер пакетов 📦Инструмент (например, apt), который устанавливает и обновляет программное обеспечение для вас
Демон / Сервис 👻Фоновая программа, которая работает непрерывно (например, веб-сервер)
Разрешения 🔒Правила, которые контролируют, кто может читать, записывать или выполнять файл
Root 👑Всесильная учетная запись системного администратора

С этими терминами в вашем распоряжении, вы готовы. Давайте начнем.


Введение: Начало пути к серверу

Вы только что подключились к своему новому серверу. Возможно, вы настроили его у провайдера, такого как AlexHost, который предлагает мгновенное развертывание Ubuntu одним нажатием. Вы открываете терминал, вводите: ssh root@your-server-ip и нажимаете Enter. Экран очищается. Мигание курсора смотрит на вас с линии, которая выглядит как root@vps:~#

Что теперь?

Этот момент — разрыв между “У меня есть сервер” и “Я знаю, что с ним делать” — это то место, где большинство людей останавливаются. Они закрывают терминал, говорят себе, что разберутся позже, и возвращаются к кликам по графическим интерфейсам. Но вот в чем дело: Linux управляет более 90% облачных серверов в мире. Он питает Android-телефоны, встроенные устройства, суперкомпьютеры и инфраструктуру почти всех сервисов, которые вы используете ежедневно. Люди, которые действительно управляют этими системами, не используют мышиные клики. Они используют командную строку.

Терминал — это не реликт. Это самый прямой, составной и надежный способ сказать компьютеру, что делать. Нет графической нагрузки, нет меню для навигации, нет ожидания загрузки интерфейса. Вы вводите команду, что-то происходит, и вы связываете следующую команду с ней. Через SSH это работает одинаково, будь ваш сервер в соседней комнате или через океан.

Эта статья не даст вам список для запоминания. Вместо этого вы пройдете через реалистичное 7-дневное путешествие на свежем Linux VPS — тот же прогресс, который вы бы следовали, если бы действительно сели за новый сервер сегодня. К концу вы не просто будете знать команды. Вы будете знать, когда использовать каждую из них.


День 1: Подключение и исследование

Вы только что подключились к своему серверу. Терминал показывает что-то вроде root@vps:~#. Вы вошли в систему — но где вы? Что здесь? Давайте узнаем.

Шаг 1: Подключение с помощью “ssh”

Все начинается с ssh — Secure Shell. Это командный шлюз, который переносит вас с вашего локального компьютера на удаленный сервер.

ssh username@server-ip

На большинстве провайдеров VPS вы будете использовать IP-адрес из панели управления хостингом и имя пользователя, которое они вам назначат (часто root или ubuntu). Если это ваш первый раз подключения, вас попросят подтвердить отпечаток сервера — введите yes и нажмите Enter.

Вы теперь подключены к вашему серверу.

Шаг 2: Подтвердите свою личность с помощью “whoami”

Прежде чем что-либо делать, проверьте, под каким пользователем вы вошли в систему.

whoami

Если вы видите root, вы работаете как всесильный администратор. Это обычно на свежем VPS, но это также означает, что каждая команда, которую вы вводите, имеет полный доступ к системе — так что будьте внимательны.

Вы знаете, кто вы в этой системе.

Шаг 3: Найдите свое местоположение с помощью: “pwd”

Команда pwd — Print Working Directory — точно говорит вам, где вы находитесь в файловой системе.

pwd
На свежем VPS, вошедшем как root, вы обычно окажетесь в /root. Если вы используете обычную учетную запись пользователя, вы увидите /home/username. Думайте об этом как о своей “домашней базе” — отправной точке для всего, что вы будете делать.

Вы знаете, где вы находитесь.

Шаг 4: Посмотрите, что присутствует с помощью “ls”

Теперь давайте посмотрим вокруг сервера. Команда ls перечисляет файлы и каталоги в вашем текущем местоположении.

ls
Пустой вывод означает, что здесь пока ничего нет — что нормально для свежего сервера. Но настоящая сила приходит с флагами. Попробуйте:

ls -la
Это позволяет вам видеть все, включая скрытые файлы (те, что начинаются с точки) и подробную информацию:

Флаг -l дает вам длинный формат (разрешения, владелец, размер, дата), а -a показывает все файлы, включая скрытые. Вы будете постоянно использовать ls -la.

Вы можете видеть все в вашем текущем каталоге.

Шаг 5: Перемещайтесь с помощью “cd”

Команда cd — Change Directory — это то, как вы перемещаетесь по файловой системе.

cd /var/log
#Check new dir location
pwd
/var/log

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

cd ..      # Go up one directory level
cd ~       # Go back to your home directory
cd -       # Go back to the previous directory you were in

Трюк “cd -“ особенно полезен — это как “отмена” вашего последнего изменения каталога.

Вы можете перемещаться по файловой системе.

Шаг 6: Очистите экран с помощью “clear”

После выполнения нескольких команд ваш терминал становится загроможденным. Команда clear очищает экран и дает вам чистый старт.

clear
Совет: вы также можете нажать Ctrl+L для того же эффекта — это быстрее, когда это становится мышечной памятью.

Ваш терминал чист и готов к следующей команде.

Шаг 7: Ищите информацию с помощью “man”

Вам не нужно запоминать каждый флаг для каждой команды. Команда man — Manual — открывает встроенную документацию для любой команды.

man ls
Это открывает полную страницу руководства для ls, показывая каждый доступный флаг, что он делает и примеры. Навигация с помощью стрелок или пробела, и нажмите q для выхода.
Думайте о man как о вашей страховочной сетке. Когда вы не уверены, что делает команда или какие опции она поддерживает, man имеет ответ.

У вас есть доступ к встроенной документации для каждой команды.

Шаг 8: Просмотрите свое прошлое с помощью “history”

Команда history показывает каждую команду, которую вы ввели в этой сессии.

history

    1  whoami
    2  pwd
    3  ls -la
    4  cd /var/log
    5  clear
    6  history

Вот полезная часть: вы можете повторно выполнить любую команду, введя “!” и ее номер.

!3
Это повторно выполняет команду номер 3 (ls -la). Это спасает вас от повторного ввода длинных команд — и от опечаток, когда вы спешите.

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


День 2: Создание и управление рабочим пространством

Вы знаете, где вы находитесь и как перемещаться. Теперь пришло время что-то построить — структуру каталогов для вашего проекта.

Шаг 1: Создайте каталоги с помощью “mkdir”

Команда mkdir — Make Directory — создает новые папки.

mkdir projects
# Check dir
ls
projects

Но настоящая звезда — это mkdir -p, которая создает вложенные каталоги за один раз — включая любые родительские каталоги, которые еще не существуют.

mkdir -p projects/myapp/logs

Без -p вам нужно было бы создать projects, затем projects/myapp, затем projects/myapp/logs отдельно. С ним одна команда делает все.

Вы создали структуру каталогов для вашего проекта.

Шаг 2: Создайте пустые файлы с помощью “touch”

Команда touch мгновенно создает пустой файл.

touch projects/myapp/notes.txt
Проверьте новый файл:


ls projects/myapp/
# logs notes.txt

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

Вы создали свой первый файл на сервере.

Шаг 3: Копируйте файлы с помощью “cp”

Команда cp — Copy — дублирует файлы и каталоги.

cp projects/myapp/notes.txt projects/myapp/notes-backup.txt

Для каталогов вам нужен флаг -r (рекурсивный), который копирует все внутри каталога тоже:

cp -r projects/myapp projects/myapp-backup

Вы можете дублировать файлы и целые деревья каталогов.

Шаг 4: Перемещайте или переименовывайте файлы с помощью “mv”

Команда mv выполняет две задачи: она перемещает файлы и переименовывает их. Одна и та же команда, разный контекст.

mv projects/myapp/notes.txt projects/myapp/readme.txt

Это переименовывает notes.txt в readme.txt в том же каталоге. Чтобы действительно переместить файл в другое место:

mv projects/myapp/readme.txt projects/

Вы можете перемещать и переименовывать файлы с одной командой.

Шаг 5: Удаляйте файлы с помощью “rm”

Команда rm — Remove — удаляет файлы навсегда.

rm projects/myapp-backup/readme.txt

Для каталогов используйте -r (рекурсивный):

rm -r projects/myapp-backup

⚠️ ПРЕДУПРЕЖДЕНИЕ: rm -rf — это ядерный вариант. Флаг -f принудительно удаляет без запроса подтверждения, и в сочетании с -r он удалит целые деревья каталогов без предупреждения. Отмены нет. Дважды проверьте путь перед нажатием Enter. Никогда не запускайте rm -rf / — это попытается удалить всю вашу файловую систему.

Вы можете удалить файлы и каталоги, которые вам больше не нужны.

Шаг 6: Печатайте и записывайте текст с помощью “echo”

Команда echo выводит текст в терминал — но ее настоящая сила проявляется при использовании с операторами перенаправления.

echo "Hello, server"

Hello, server

Теперь перенаправьте этот вывод в файл, используя “>” (перезапись) или “>>” (добавление):

echo "Server setup started" > projects/myapp/notes.txt

echo "Added a log entry" >> projects/myapp/notes.txt

Оператор > создает файл или перезаписывает его, если он существует. Оператор >> добавляет в конец без изменения существующего содержимого. Это ваш первый вкус перенаправления — одной из основных суперспособностей Linux.

Вы можете записывать текст в файлы прямо из командной строки.

Шаг 7: Читайте файлы с помощью “cat”

Команда cat — Concatenate — отображает содержимое файлов в терминале.

cat projects/myapp/notes.txt

Для небольших файлов cat — это самый быстрый способ проверить содержимое. Для больших файлов вам понадобится less (который позволяет прокручивать), но cat — это ваш выбор для быстрых проверок.

Вы можете читать содержимое файлов без открытия редактора.

Шаг 8: Редактируйте файлы с помощью “nano”

Когда вам нужно действительно изменить файл, nano — это самый дружелюбный к новичкам текстовый редактор в терминале.

nano projects/myapp/notes.txt

Nano открывает файл в вашем терминале с простым интерфейсом. Горячие клавиши отображаются внизу экрана.

💡 СОВЕТ: Основные горячие клавиши Nano: Ctrl+O для сохранения (затем Enter для подтверждения), Ctrl+X для выхода, Ctrl+W для поиска текста. Это все, что вам нужно, чтобы начать редактирование.

Вы также услышите о vim — он более мощный, но имеет печально известную крутую кривую обучения. Пока оставайтесь с nano. Вы можете изучить vim позже, когда будете комфортно работать с терминалом.

Вы можете редактировать файлы прямо на сервере.


День 3: Поиск нужного

Вы создали дюжину файлов в нескольких каталогах. Теперь вам нужно найти тот, который вы редактировали вчера. Вот как.

Шаг 1: Поиск файлов с помощью “find”

Команда find ищет файлы по имени, типу, размеру и другим параметрам.

find ./projects -name "*.txt"

Это ищет все под /home для файлов, заканчивающихся на .txt. Вы можете искать и по типу — find / -type f -name “config” находит все файлы с именем “config” по всей системе.

find тщателен, но может быть медленным на больших файловых системах. Для повседневных поисков это ваш самый надежный инструмент.

Вы можете найти любой файл в системе по имени или типу.

Шаг 2: Поиск внутри файлов с помощью “grep”

Если find находит файлы, grep находит содержимое внутри них. Это детектив командной строки.

grep "error" /var/log/syslog
Apr 10 12:15:03 server kernel: [error] disk I/O timeout
Apr 10 12:18:22 server nginx: [error] connection refused
Вот где grep становится еще более мощным — объедините его с другими командами, используя оператор pipe “|”. Pipe берет вывод одной команды и подает его как ввод для следующей.

cat /var/log/syslog | grep "error"

Это делает то же самое, что и предыдущий пример, но шаблон pipe позволяет вам связывать команды вместе. Вы будете постоянно использовать pipe, как только они станут понятными. Например, чтобы искать ошибки в сегодняшних записях журнала:

cat /var/log/syslog | grep "Apr 15" | grep "error"

Каждый pipe еще больше сужает результаты. Эта составляемость — то, что делает командную строку Linux такой мощной.

Вы можете искать любой текстовый шаблон в любом файле.

Шаг 3: Найдите расположение исполняемых файлов с помощью “which”

Команда which говорит вам, где находится исполняемый файл команды в системе.

which python3
/usr/bin/python3
Это полезно, когда вам нужно знать, какую версию программы вы запускаете, или когда скрипту нужен полный путь к исполняемому файлу.

Вы точно знаете, где хранится исполняемый файл любой команды.

Шаг 4: Найдите больше с помощью “whereis”

Команда whereis идет дальше, чем which — она находит бинарный файл, исходный код (если установлен) и страницу руководства.

whereis python3
python3: /usr/bin/python3 /usr/lib/python3 /etc/python3 /usr/share/man/man1/python3.1.gz
Где which дает вам один путь, whereis дает вам полную картину. Используйте which, когда вам нужен только исполняемый файл. Используйте whereis, когда хотите увидеть все, что связано с командой.

Вы можете найти каждый компонент команды в системе.

Шаг 5: Получите быстрое описание с помощью “whatis”

Команда whatis дает вам однострочное описание любой команды.

whatis grep
grep (1) - print lines that match patterns
Это самый быстрый способ напомнить себе, что делает команда, без открытия полной страницы man. Думайте об этом как о быстром поиске глоссария.

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


День 4: Понимание вашей машины

Прежде чем что-либо устанавливать, вы должны знать, с чем имеете дело. Сколько у вас свободного места на диске? Сколько оперативной памяти? Что уже работает?

Шаг 1: Проверьте информацию о системе с помощью “uname”

Команда uname — Unix Name — отображает информацию о системе.

uname -a
Linux alexserver 6.8.0-110-generic #110-Ubuntu SMP PREEMPT_DYNAMIC Thu Mar 19 15:09:20 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux
Флаг -a показывает все: имя ядра, имя хоста, версию ядра, архитектуру и операционную систему. На VPS это говорит вам, какое именно ядро вы используете и работаете ли вы на 64-битной системе (вы почти наверняка работаете).

Вы знаете версию ядра и архитектуру системы.

Шаг 2: Проверьте место на диске с помощью “df”

Команда df — Disk Free — показывает, сколько у вас места на диске и сколько занято.

df -h

Флаг -h означает “читаемый человеком” — он отображает размеры в ГБ и МБ вместо сырых байтов. Обратите внимание на строку “/” корневого раздела. При 7% использования у этого сервера достаточно места. Если вы когда-либо увидите, что это число поднимается выше 80%, пора очищать.

Вы точно знаете, сколько места на диске доступно.

Шаг 3: Проверьте память с помощью “free”

Команда free показывает использование оперативной памяти.

free -h

Опять же, -h дает вам читаемый человеком вывод. Ключевой столбец здесь — “available” — это память, действительно свободная для новых приложений. “Used” включает память, которую ядро использует для кэширования, которая может быть освобождена при необходимости. На свежем VPS с 4 ГБ оперативной памяти, видеть 3.3 ГБ доступных — это именно то, что вы хотите.

Вы знаете, сколько памяти у вашего сервера и сколько доступно.

Шаг 4: Мониторинг процессов с помощью “top”

Команда top показывает мониторинг процессов в реальном времени — живой вид того, что работает и какие ресурсы потребляет каждый процесс.

top

top обновляется каждые несколько секунд. Самые важные столбцы — PID (идентификатор процесса), %CPU, %MEM и COMMAND. Если ваш сервер когда-либо кажется медленным, top — это первое место, куда стоит заглянуть.

💡 СОВЕТ: Нажмите q, чтобы выйти из top. Если top работает, и вы не знаете, как остановить, это ответ.

Вы можете мониторить работающие процессы в реальном времени.

Шаг 5: Снимите снимок процессов с помощью “ps”

Команда ps — Process Status — дает вам статический снимок работающих процессов.

ps aux

Флаги aux показывают все процессы от всех пользователей с подробной информацией. Ключевые столбцы: USER (кто владеет процессом), PID (идентификатор процесса, который вы бы использовали с kill), %CPU и %MEM (использование ресурсов) и COMMAND (что выполняется). Используйте ps, когда вам нужен быстрый снимок, а не живой вид.

Вы можете сделать снимок каждого работающего процесса.

Шаг 6: Проверьте календарь с помощью “cal”

Команда cal отображает простой календарь.

cal

     April 2026
Su Mo Tu We Th Fr Sa
           1  2  3  4
  5  6  7  8  9 10 11
 12 13 14 15 16 17 18
 19 20 21 22 23 24 25
 26 27 28 29 30

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

Вы можете отобразить календарь прямо в вашем терминале.

Шаг 7: Проверьте дату с помощью “date”

Команда date показывает текущую системную дату и время.

date
Wed Apr 15 14:32:01 UTC 2026
Это важнее, чем вы думаете. Многие сервисы — особенно SSL-сертификаты, ротация журналов и запланированные задачи — зависят от точного системного времени. Если дата выглядит неправильно, вы захотите исправить это перед установкой чего-либо.

Вы знаете текущую дату и время вашего сервера.


День 5: Установка и запуск сервисов

Ваш сервер работает, вы знаете его характеристики, и теперь пришло время сделать его полезным. Давайте установим программное обеспечение и запустим сервисы.

Шаг 1: Обновите списки пакетов с помощью “apt update”

Перед установкой чего-либо обновите списки репозиториев пакетов.

sudo apt update
Результат:
Hit:1 http://archive.ubuntu.com/ubuntu jammy InRelease
Get:2 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [128 kB]
Get:3 http://security.ubuntu.com/ubuntu jammy-security InRelease [129 kB]
Fetched 257 kB in 2s (134 kB/s)
Reading package lists... Done
Building dependency tree... Done
Важное различие: apt update обновляет список доступных пакетов — он ничего не устанавливает. apt upgrade фактически загружает и устанавливает новые версии пакетов, которые у вас уже есть. Они почти всегда идут вместе:

sudo apt update && sudo apt upgrade -y

На системах на базе Red Hat, таких как CentOS или Fedora, эквивалентные команды — yum update или dnf update.

Ваш список пакетов обновлен и готов к установкам.

Шаг 2: Установите программное обеспечение с помощью “apt install”

Теперь давайте что-нибудь установим. Nginx — популярный веб-сервер — хороший первый сервис для настройки.

sudo apt install nginx -y
Результат:
Reading package lists... Done
Building dependency tree... Done
The following NEW packages will be installed:
nginx nginx-common nginx-core
0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Need to get 582 kB of archives.
Setting up nginx (1.18.0-6ubuntu14.4) ...
Здесь ваш сервер начинает делать что-то реальное. Флаг -y автоматически подтверждает установку, чтобы вам не пришлось вводить yes. Nginx будет установлен и обычно начнет работать сразу.

Вы установили свой первый сервис на сервере.

Шаг 3: Управляйте сервисами с помощью “systemctl”

Команда systemctl — System Control — это то, как вы запускаете, останавливаете и управляете сервисами.

systemctl status nginx
Результат:
● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2026-04-15 14:35:00 UTC; 2min ago
Main PID: 1234 (nginx)
Tasks: 2 (limit: 4915)
Memory: 3.2M
CGroup: /system.slice/nginx.service
Ключевая строка — Active: active (running) — это значит, что Nginx работает. Три команды systemctl, которые вы будете постоянно использовать:

sudo systemctl start nginx    # Start the service now
sudo systemctl stop nginx     # Stop the service
sudo systemctl enable nginx   # Start automatically on every boot

Команда enable — это то, что новички упускают. start запускает сервис прямо сейчас. enable гарантирует, что он запустится каждый раз при перезагрузке сервера. Для веб-сервера вы почти всегда хотите и то, и другое.

Вы можете управлять любым сервисом на вашем сервере.

Шаг 4: Остановите процессы с помощью “kill”

Иногда вам нужно вручную завершить процесс. Команда kill делает это по PID.

kill 1234

Это отправляет сигнал завершения процессу 1234, прося его аккуратно завершиться. Если он не отвечает, вы можете принудительно его завершить:

kill -9 1234

⚠️ ПРЕДУПРЕЖДЕНИЕ: kill -9 — это принудительное завершение. Оно не позволяет процессу очиститься — нет сохранения состояния, нет правильного закрытия соединений. Используйте это только тогда, когда обычное kill не работает.

Найдите PID, используя ps aux или top, затем завершите его.

Вы можете завершить любой процесс по его идентификатору.

Шаг 5: Завершите по имени с помощью “pkill”

Иногда искать PID сначала не нужно. Команда pkill завершает процессы по имени.

pkill nginx

Это находит все процессы, соответствующие “nginx”, и завершает их. Это быстрее, чем искать PID с помощью ps, а затем запускать kill. Используйте pkill, когда вы знаете имя процесса и хотите быстро его завершить.

Вы можете завершать процессы, не зная их PID.

Шаг 6: Загрузите файлы с помощью “wget”

Команда wget — Web Get — загружает файлы из интернета.

wget https://example.com/file.zip
Пример результата:
--2026-04-15 14:40:00-- https://example.com/file.zip
Resolving example.com (example.com)... 93.184.216.34
Connecting to example.com (example.com)|93.184.216.34|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1048576 (1.0M) [application/zip]
Saving to: 'file.zip'
file.zip 100%[===================>] 1.00M 2.34MB/s in 0.4s
2026-04-15 14:40:01 (2.34 MB/s) - 'file.zip' saved [1048576/1048576]
wget прост: дайте ему URL, он загружает файл в ваш текущий каталог. Он также поддерживает возобновление прерванных загрузок с помощью wget -c.

Вы можете загружать файлы прямо на ваш сервер.

Шаг 7: Передача данных с помощью “curl”

Команда curl — Client URL — более универсальна, чем wget. Она обрабатывает загрузки, запросы API и передачи данных с пользовательскими заголовками.

curl -O https://example.com/file.zip

Флаг -O сохраняет файл с его оригинальным именем (как wget). Но curl может делать гораздо больше:

curl -s https://api.example.com/data

Флаг -s запускает без вывода, делая curl идеальным для скриптов и вызовов API. Пока wget отлично подходит для простых загрузок, curl — это инструмент, к которому вы обратитесь, когда вам нужно взаимодействовать с веб-сервисами, тестировать API или отправлять пользовательские HTTP-заголовки.

Вы можете передавать данные с любого URL — файлы, API и многое другое.


День 6: Защита сервера

Ваш сервер работает, сервис работает. Но сейчас он полностью открыт. Давайте его защитим.

📝 ПРИМЕЧАНИЕ: Вашему пользователю нужны права sudo для выполнения этих команд. На большинстве провайдеров VPS пользователь по умолчанию уже настроен с доступом sudo. Если вы создали нового пользователя, вам нужно будет сначала добавить его в группу sudo.

Шаг 1: Выполняйте команды безопасно с помощью “sudo”

Команда sudo — Superuser Do — позволяет вам выполнять команды с повышенными привилегиями.

sudo apt update

Вас попросят ввести пароль при первом использовании sudo в сессии. После этого он запоминает на несколько минут. Причина существования sudo проста: постоянно работать как root опасно. Одна опечатка с привилегиями root может уничтожить вашу систему. sudo заставляет вас сознательно повышать привилегии для каждой команды — это механизм безопасности, а не просто эскалатор привилегий.

Вы можете выполнять админские команды без входа как root.

Шаг 2: Измените разрешения файлов с помощью “chmod”

Команда chmod — Change Mode — контролирует, кто может читать, записывать или выполнять файл.

chmod 755 script.sh

Числа представляют разрешения для трех групп: владелец, группа и все остальные. Каждая цифра — это сумма чтения (4), записи (2) и выполнения (1):

  • 755 означает: владелец может делать все (4+2+1=7), группа может читать и выполнять (4+1=5), все остальные могут читать и выполнять (4+1=5). Это стандарт для скриптов и каталогов.
  • 644 означает: владелец может читать и записывать (4+2=6), группа может читать (4), все остальные могут читать (4). Это стандарт для конфигурационных файлов и документов.

chmod 644 config.txt

Если скрипт не выполняется, это почти всегда проблема с разрешениями. chmod +x script.sh — это быстрый способ сделать любой файл исполняемым без запоминания чисел.

Вы контролируете, кто может получить доступ к каждому файлу.

Шаг 3: Измените владельца файлов с помощью “chown”

Команда chown — Change Owner — устанавливает, кто владеет файлом.

sudo chown www-data:www-data /var/www/html/index.html

Это изменяет владельца на www-data и группу на www-data. Это часто используется при настройке веб-серверов — процесс веб-сервера должен владеть файлами, которые он обслуживает. Формат — user:group, и вам почти всегда понадобится sudo для изменения владельца.

Вы можете назначить владельца файла любому пользователю или группе.

Шаг 4: Измените пароли с помощью “passwd”

Команда passwd обновляет пароли пользователей.

passwd username
На свежем VPS изменение пароля по умолчанию должно быть одним из ваших первых действий. Если вы вошли как пользователь, чей пароль хотите изменить, просто запустите passwd без имени пользователя.

Вы можете обновлять пароли для любого пользователя в системе.

Шаг 5: Создайте новых пользователей с помощью “useradd”

Команда useradd создает новую учетную запись пользователя.

sudo useradd -m newuser

Флаг -m критически важен — он создает домашний каталог в /home/newuser. Без него пользователь существует, но у него нет домашнего каталога, что вызывает проблемы с SSH и различными приложениями. После создания пользователя установите его пароль:

sudo passwd newuser

Вы можете создавать новые учетные записи пользователей с домашними каталогами.

Шаг 6: Переключайтесь между пользователями с помощью “su”

Команда su — Switch User — позволяет вам войти как другой пользователь.

su - newuser
whoami
newuser
Флаг “-“ (или –login) важен — он загружает окружение нового пользователя, включая его путь и конфигурацию оболочки. Без него вы бы переключились на другого пользователя, но сохранили окружение старого пользователя, что приводит к запутанному поведению.

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

Шаг 7: Настройте брандмауэр с помощью “ufw”

Команда ufw — Uncomplicated Firewall — это самый простой способ управлять брандмауэром вашего сервера на Ubuntu.

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

sudo ufw default deny incoming
Затем явно разрешите трафик SSH. Этот шаг критически важен.

sudo ufw allow 22/tcp

⚠️ КРИТИЧЕСКОЕ ПРЕДУПРЕЖДЕНИЕ: Всегда запускайте sudo ufw allow 22/tcp перед sudo ufw enable. Если вы включите брандмауэр без разрешения SSH, вы заблокируете себя от сервера. Вашим единственным вариантом будет доступ к серверу через консоль вашего хостинг-провайдера — что может быть недоступно на всех планах.

Теперь безопасно включить брандмауэр:

sudo ufw enable
Command may disrupt existing SSH connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
Вы можете проверить статус в любое время:

sudo ufw status
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
Ваш сервер теперь принимает только входящие соединения SSH на порту 22. Все остальное заблокировано. Когда вы установите Nginx позже, вы добавите еще одно правило: sudo ufw allow 80/tcp для HTTP и sudo ufw allow 443/tcp для HTTPS.

Ваш сервер защищен брандмауэром.


День 7: Проверка сети и завершение

Ваш сервер настроен, защищен и работает. Прежде чем считать это завершенным, давайте проверим, все ли работает снаружи, и узнаем, как правильно завершить работу.

Шаг 1: Проверьте подключение с помощью “ping”

Команда ping проверяет, может ли ваш сервер достичь других машин в сети.

ping -c 4 8.8.8.8
Флаг -c 4 ограничивает ping до 4 пакетов. Без него ping работает вечно, пока вы не нажмете Ctrl+C. Статистика в конце говорит вам все: 4 пакета отправлено, 4 получено, 0% потерь. Сеть вашего сервера работает.

Вы подтвердили, что у вашего сервера есть рабочая сеть.

Шаг 2: Проверьте сетевые интерфейсы с помощью “ip”

Команда ip показывает сетевую конфигурацию вашего сервера.

ip addr
Команда ip заменяет устаревшую ifconfig. Вывод показывает ваш интерфейс loopback (lo, всегда 127.0.0.1) и ваш основной сетевой интерфейс (eth0 в данном случае). Строка inet показывает IP-адрес вашего сервера — это адрес, который вы бы использовали для SSH или доступа к вашему веб-серверу.

Вы можете видеть IP-адреса и сетевые интерфейсы вашего сервера.

Шаг 3: Создайте ссылки на файлы с помощью “ln”

Команда ln создает ссылки между файлами — по сути, ярлыки.

ln -s /var/www/html /home/user/webroot

Это создает символическую ссылку в /home/user/webroot, которая указывает на /var/www/html. Когда вы получаете доступ к ссылке, вы фактически получаете доступ к целевому каталогу. Символические ссылки полезны для создания удобных путей доступа без дублирования файлов.

Вы можете создавать ярлыки для файлов и каталогов в любом месте системы.

Шаг 4: Завершите работу безопасно с помощью “shutdown”

Команда shutdown выключает ваш сервер контролируемым образом.

sudo shutdown -h now

Флаг -h означает “halt” — остановить все и выключить. now означает немедленно. Но вы также можете запланировать завершение работы:

sudo shutdown -h +5

Это дает вам 5 минут до завершения работы — достаточно времени, чтобы сохранить работу, уведомить пользователей или передумать. Чтобы отменить запланированное завершение работы:

sudo shutdown -c

Флаг -c отменяет любое ожидающее завершение работы. Это небольшая страховочная сетка, которая может спасти вас от случайного выключения.

Вы можете безопасно выключить сервер, немедленно или по расписанию.

Шаг 5: Перезагрузите с помощью “reboot”

Команда reboot перезагружает ваш сервер.

sudo reboot

Это эквивалентно shutdown -r now — флаг -r означает “перезагрузка” вместо “halt”. Вы будете использовать это после обновлений ядра или изменений конфигурации, требующих нового запуска.

Вы можете перезагрузить сервер одной командой.


Что дальше

Семь дней назад вы смотрели на пустой терминал после подключения по SSH к серверу, который не знали, как использовать. Теперь вы можете навигировать по файловой системе, создавать и управлять файлами, искать что-либо в системе, проверять состояние вашего сервера, устанавливать программное обеспечение, запускать сервисы, защищать безопасность и управлять жизненным циклом сервера от запуска до завершения работы.

Настоящий навык — это не запоминание этих команд. Это знание, какую из них использовать, когда появляется проблема. Это приходит от их использования — не от чтения о них.

Откройте терминал сегодня. Запустите ls, cd и pwd, пока они не станут естественными. Добавляйте по одной новой команде в день. В течение недели терминал перестанет казаться чужим интерфейсом. Он станет прямой линией к вашему серверу, которой он и является.

Если вы готовы применить эти команды на своем сервере, AlexHost предлагает доступные планы Linux VPS с мгновенной настройкой и круглосуточной поддержкой — отличное место для практики без риска.


Шпаргалка: Все команды на одном взгляде

Вот все команды из этого руководства в одном месте. Добавьте эту страницу в закладки.

 

КомандаРасшифровкаЧто она делает
ssh
Secure ShellПодключение к удаленному серверу безопасно
whoami
Who Am IПоказать текущее имя пользователя
pwd
Print Working DirectoryПоказать путь текущего каталога
ls
ListПеречислить файлы и каталоги
cd
Change DirectoryНавигация между каталогами
clear
ClearОчистить экран терминала
man
ManualОткрыть страницу руководства для любой команды
history
HistoryПоказать ранее выполненные команды
mkdir
Make DirectoryСоздать новые каталоги
touch
TouchСоздать пустые файлы или обновить временные метки
cp
CopyКопировать файлы и каталоги
mv
MoveПеремещать или переименовывать файлы и каталоги
rm
RemoveУдалить файлы и каталоги
echo
EchoВыводить текст или записывать в файлы
cat
ConcatenateОтображать содержимое файлов
nano
NanoТекстовый редактор в терминале
find
FindИскать файлы по имени, типу или атрибутам
grep
Global Regular Expression PrintИскать текстовые шаблоны в файлах
which
WhichНайти путь к исполняемому файлу команды
whereis
Where IsНайти бинарный файл, исходник и руководство для команды
whatis
What IsПолучить однострочное описание команды
uname
Unix NameОтобразить информацию о системе
df
Disk FreeПоказать использование дискового пространства
free
FreeПоказать использование памяти/ОЗУ
top
TopМониторинг процессов в реальном времени
ps
Process StatusСнимок работающих процессов
cal
CalendarОтобразить календарь
date
DateПоказать или установить системную дату и время
apt update
APT UpdateОбновить списки репозиториев пакетов
apt install
APT InstallУстановить пакеты программного обеспечения
systemctl
System ControlЗапуск, остановка и управление сервисами
kill
KillЗавершить процесс по PID
pkill
Process KillЗавершить процессы по имени
wget
Web GetЗагрузить файлы из интернета
curl
Client URLПередача данных с URL
sudo
Superuser DoВыполнять команды с повышенными привилегиями
chmod
Change ModeИзменить разрешения файлов
chown
Change OwnerИзменить владельца файла
passwd
PasswordИзменить пароли пользователей
useradd
User AddСоздать новую учетную запись пользователя
su
Switch UserПереключиться на другого пользователя
ufw
Uncomplicated FirewallУправление брандмауэром сервера
ping
PingПроверить сетевое подключение
ip
IPПоказать сетевые интерфейсы и адреса
ln
LinkСоздать ссылки на файлы (символические или жесткие)
shutdown
ShutdownБезопасно выключить сервер
reboot
RebootПерезагрузить сервер

 


15%

Сэкономьте 15% на всех хостинговых услугах

Проверьте свои навыки и получите скидку на любой тарифный план

Используйте код:

Skills
Начать