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

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

Используйте код: Skills Начать
Рубрики
Linux OS Администрация

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

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

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

ТерминЧто это означает
Terminal 💻Текстовый интерфейс, где вы вводите команды
Shell 🐚Программа (обычно Bash), которая интерпретирует ваши команды
Bash ⚙️Наиболее распространённая оболочка; «язык», на котором говорит ваш терминал
Sudo 🔑Команда, которая позволяет запускать другие команды с правами администратора
Package manager 📦Инструмент (например apt), который устанавливает и обновляет программное обеспечение
Daemon / Service 👻Фоновая программа, которая работает непрерывно (например веб-сервер)
Permissions 🔒Правила, которые контролируют, кто может читать, писать или выполнять файл
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"
Это ищет все файлы, заканчивающиеся на .txt, в директории /home и её подпапках. Вы также можете искать по типу — 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. Думайте об этом как о быстром поиске в словаре.
✅ Вы можете получить однострочное резюме назначения любой команды.

    
        
        
        
        
        
        
        
        
            
                Ready
                to make it happen?
            
            
                Pick what fits your project            
        
        
            VPS
            Dedicated
        
        
    
        
    
День 4: Понимание вашей машины
Перед установкой чего-либо вы должны знать, с чем вы работаете. Сколько у вас дискового пространства? Сколько RAM? Что уже запущено?
Шаг 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 означает “human-readable” — он отображает размеры в GB и MB вместо сырых байтов. Обратите внимание на строку раздела “/” root. При 7% использования этот сервер имеет достаточно места. Если вы когда-либо увидите, что это число превышает 80%, пора произвести очистку.
✅ Вы знаете точно, сколько дискового пространства доступно.
Шаг 3: Проверьте память с помощью “free”
Команда free показывает использование вашей RAM.
free -h
Снова -h дает вам читаемый вывод. Ключевой столбец здесь — “available” — это память, действительно свободная для новых приложений. “Used” включает память, которую ядро использует для кеширования, которая может быть освобождена при необходимости. На свежем VPS с 4GB RAM видеть 3.3GB доступной памяти — это именно то, что вам нужно.
✅ Вы знаете, сколько памяти у вашего сервера и сколько свободно.
Шаг 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, затем завершите его.

Вы можете завершить любой процесс по его ID.

Шаг 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) важен — он загружает окружение нового пользователя, включая его path и конфигурацию shell. Без него вы переключитесь на другого пользователя, но сохраните окружение старого пользователя, что приводит к запутанному поведению.
✅ Вы можете переключаться между учётными записями пользователей на сервере.
Шаг 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. Вывод показывает ваш интерфейс обратной связи (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 означает “restart” вместо “halt”. Вы будете использовать это после обновлений ядра или изменений конфигурации, которые требуют свежего запуска.

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


Что дальше

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

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

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

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


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

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

 

КомандаРасшифровкаЧто она делает
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Показать использование памяти/RAM
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Перезагрузить сервер