Статья 🐧 Linux и сети — это не страшно: Основы для новичков

1759267047414.webp

Многие представляют себе Linux и сети как нечто сложное и недоступное, удел системных администраторов и хакеров. Но правда в том, что это просто инструменты — и освоить их на базовом уровне может каждый. Эта статья — ваш пропуск в мир, где вы понимаете, как на самом деле работают компьютеры и их взаимодействие. Мы разберем всё на простых примерах, без лишней теории и сложных терминов. Готовьтесь узнать, что командная строка — это не страшно, а сети — это действительно интересно!

🧩 Консоль и сети: главный секрет — в их простоте и логике​

Командная строка и сетевые протоколы часто пугают новичков своим аскетичным видом. Но главный секрет, который быстро открывают все профессионалы, заключается в том, что это невероятно логичные и простые системы.

Представьте, что графический интерфейс — это переводчик, а командная строка — прямой диалог с компьютером на его родном языке. Вам больше не нужно искать нужный пункт в многоуровневых меню. Хотите что-то сделать — вы просто говорите компьютеру, что именно, используя четкие команды. ls — показать файлы, cp — скопировать, grep — найти. Эти команды — своеобразный «язык», который короче и точнее любого графического интерфейса. Сначала это кажется непривычным, но уже через пару дней вы поймете, насколько это эффективно.
Сети устроены на удивление логично. Это как современная почтовая служба:
  • IP-адрес — это почтовый адрес здания
  • Порт — номер конкретной квартиры
  • Протокол (TCP/UDP) — способ доставки (заказное письмо с уведомлением или обычная открытка)
Изучая сети, вы просто узнаете правила этой «почтовой службы». Как только вы поймете эту базовую метафору, все остальное — маршрутизация, DNS, фаерволы — ляжет на простую и понятную картинку.

⚙️ 2. Практикум: 10 базовых команд Linux, без которых не обойтись​

Теория — это хорошо, но настоящее понимание приходит с практикой. Вот те самые 10 команд, которые станут твоим фундаментом. Представь, что ты вошёл в систему и видишь перед собой приглашение командной строки: username@computername:~$. Поехали!

Примечание: в примерах ниже $ в начале строки символизирует приглашение командной строки, его вводить не нужно.

💻 Работа с файлами и папками​

  • pwd (Print Working Directory)
    Что делает:
    Показывает, в какой папке ты сейчас находишься. Как посмотреть на путь в адресной строке проводника.
    Пример:
    Bash:
    $ pwd
    /home/your_username
  • ls (LiSt)
    Что делает:
    Показывает список файлов и папок в текущей директории.
    Магия начинается с флагов:
    Bash:
    $ ls          # Простой список
    $ ls -l       # Подробный список (права, владелец, размер, дата)
    $ ls -a       # Показать ВСЕ файлы, включая скрытые (они начинаются с точки .)
    Флаги можно комбинировать: ls -la — подробный список со скрытыми файлами.
  • cd (Change Directory)
    Что делает:
    Меняет текущую папку.
    Пример:
    Bash:
    $ cd /tmp # Перейти в папку /tmp
    $ cd Documents            # Перейти в папку Documents из текущей
    $ cd ..                   # Перейти на уровень ВЫШЕ (в родительскую папку)
    $ cd                      # Вернуться в домашнюю директорию
    $ cd ~                    # Аналогично, вернуться домой
  • cp (CoPy)
    Что делает:
    Копирует файлы и папки.
    Пример:
    Bash:
    $ cp file1.txt file1_backup.txt # Скопировать файл
    $ cp -r old_folder/ new_folder/       # Скопировать папку РЕКУРСИВНО (со всем содержимым)
  • mv (MoVe)
    Что делает:
    Перемещает файлы и папки. А еще — переименовывает их.
    Пример:
    Bash:
    $ mv old_name.txt new_name.txt # Переименовать файл
    $ mv file.txt ~/Documents/            # Переместить файл в другую папку
  • rm (ReMove)
    Что делает:
    Удаляет файлы и папки. Команда мощная, будь осторожен! Удалённое командой rm нельзя восстановить из Корзины.
    Пример:
    Bash:
    $ rm bad_file.txt                     # Удалить файл
    $ rm -r old_folder/                   # Удалить папку РЕКУРСИВНО
    Полезный флаг -i (interactive) заставит команду спрашивать подтверждение перед каждым удалением: rm -i file.txt.
  • mkdir (MaKe DIRectory)
    Что делает:
    Создает новую папку.
    Пример:
    Bash:
    $ mkdir my_new_project

🔧 Система и доступ​

  • sudo (SuperUser DO)
    Что делает:
    Выполняет команду с правами суперпользователя (администратора). Нужна для действий, влияющих на всю систему: установка программ, изменение системных файлов.
    Пример:
    Bash:
    $ sudo apt update        # Обновить список доступных пакетов (в Ubuntu/Debian)
    Система запросит твой пароль для подтверждения.
  • man (MANual)
    Что делает:
    Твой лучший друг. Показывает справочную страницу по любой команде.
    Пример:
    Bash:
    $ man ls                 # Показать всю документацию по команде `ls`
    Чтобы выйти из справочника, нажми клавишу Q.
  • cat (conCATenate)
    Что делает:
    Показывает содержимое файла прямо в терминале. Идеально для быстрого просмотра текстовых файлов и логов.
    Пример:
    Bash:
    $ cat hello_world.txt
⚡ Таблица-шпаргалка: 10 команд для старта
КомандаЧто делаетПример использования
pwdПоказывает текущую папкуpwd
lsСписок файлов и папокls -la
cdСменить папкуcd ~/Documents
cpКопироватьcp file1.txt file2.txt
mvПереместить/переименоватьmv old.txt new.txt
rmУдалитьrm -r folder/
mkdirСоздать папкуmkdir my_folder
sudoВыполнить с правами админаsudo apt update
manСправкаman cp
catПоказать содержимое файлаcat log.txt

🛡️ Бонус-трек: Первые шаги к безопасности в Linux​

После того как ты освоил базовые команды, важно сразу заложить привычки безопасной работы. Linux дает тебе большую силу, а с ней приходит и большая ответственность.
  • Сила sudo и опасность root: Прямой вход под пользователем root (суперпользователем) — это серьезный риск. Гораздо безопаснее использовать обычную учетную запись и команду sudo для выполнения административных задач. Это логирует все твои действия и предотвращает случайное выполнение опасных команд.
  • Важность регулярных обновлений: «Необновленные системы часто становятся первой целью злоумышленников». Регулярно обновляй систему с помощью менеджера пакетов. В Ubuntu/Debian это делается так:
    Bash:
    $ sudo apt update && sudo apt upgrade
    Это закрывает известные уязвимости и защищает твою систему.
  • Базовый фаервол: Многие дистрибутивы по умолчанию имеют инструмент для управления фаерволом. Например, UFW (Uncomplicated Firewall). Его можно легко включить одной командой:
    Bash:
    $ sudo ufw enable
    Это заблокирует все входящие соединения, кроме тех, что ты явно разрешишь.

🌐 3. Основы сетей: OSI, порты, IP-адреса и HTTP — просто о сложном​

Сети кажутся магией: «вот есть интернет, и он просто работает». Но за этой «магией» стоят вполне понятные правила — протоколы. Представь, что мы учим два компьютера говорить друг с другом.

Модель OSI: как упаковать посылку для интернета​

Чтобы упорядочить процесс, придумали модель OSI. Это как инструкция по сборке посылки для отправки. В ней 7 уровней, но мы, как и многие администраторы, слегка упростим и объединим некоторые из них.
  • Уровень 1. Физический (Витая пара, Wi-Fi, оптика): Это «дороги» и «трубы». Кабели, радиоволны, сигналы. Бит (0 или 1) бежит по проводу.
  • Уровень 2. Канальный (MAC-адреса, коммутаторы): Это «почтовые адреса в одном городе». У каждого сетевого устройства (сетевая карта, Wi-Fi-адаптер) есть уникальный «физический» адрес — MAC-адрес (например, 00:1B:44:11:3A:B7). В локальной сети (дома, в офисе) компьютеры находят друг друга по этим адресам.
  • Уровень 3. Сетевой (IP-адреса, маршрутизаторы): Это «адреса на конверте» для всего мира. Чтобы компьютеры из разных «городов» (локальных сетей) могли общаться, придумали IP-адреса. Твой компьютер имеет IP-адрес в локальной сети (чаще всего что-то вроде 192.168.1.5). А твой домашний роутер — это шлюз, который связывает твою локальную сеть с глобальной — интернетом.
  • Уровень 4. Транспортный (TCP, UDP, порты): Это «служба доставки». Допустим, пакет дошел до нужного компьютера по IP-адресу. Но на одном компьютере может работать много программ одновременно: браузер, мессенджер, игра. Как данные попадут в нужную программу? Для этого придумали порты.
    • Порт — это как номер квартиры в большом доме (IP-адресе). Это число от 1 до 65535.
    • TCP — надежная доставка. Курьер звонит в дверь, проверяет, получил ли ты посылку, и если нет — привезет еще раз. Используется для веб-страниц, почты.
    • UDP — быстрая доставка. Бросил письмо в почтовый ящик и побежал дальше. Быстрее, но без гарантий. Используется для видеостримов, онлайн-игр.
  • Уровни 5-7 (Прикладной):Это то, что ты видишь. Протоколы, которые понимают твои приложения.
    • HTTP/HTTPS — протокол для просмотра веб-страниц.
    • DNS — «адресная книга интернета». Превращает понятные имена вроде google.com в IP-адреса вроде 142.251.214.142.
    • SSH — протокол для безопасного удаленного управления сервером.
Простая аналогия:
Ты хочешь зайти на сайт example.com.
  1. DNS (Уровень 7): Твой компьютер спрашивает у DNS-сервера: «Какой IP-адрес у example.com?»
  2. IP (Уровень 3): Твой компьютер формирует пакет: «От: [твой IP], Кому: [IP example.com]».
  3. TCP (Уровень 4): «И отправь это на порт 443 (HTTPS) этого адреса».
  4. MAC (Уровень 2): В локальной сети пакету говорят: «Чтобы отправить это в интернет, отдай пакет нашему роутеру с MAC-адресом ...».
  5. Физический (Уровень 1): Пакет превращается в электрические сигналы и бежит по кабелю.
На стороне сервера происходит обратный процесс.

🔢 Немного о IP-адресах и масках подсети​

IP-адрес (версии IPv4) — это 4 числа от 0 до 255, разделенные точками. Например, 192.168.1.1.

Рядом с IP почти всегда указывается маска подсети (например, 255.255.255.0 или короче /24). Она помогает компьютеру понять, какие адреса находятся в его локальной сети («внутри дома»), а для каких нужен роутер («чтобы выйти на улицу»).

DHCP — волшебный помощник. Ты же не настраиваешь IP-адрес вручную на своем телефоне при подключении к Wi-Fi? Эту работу делает протокол DHCP. Он автоматически выдает устройству свободный IP-адрес, маску, адрес шлюза и DNS-сервера.

🎯 4. Практикум: базовые сетевые команды Linux​

Теперь применим теорию на практике. Вот команды, которые помогут тебе диагностировать подключение и понять, что происходит в сети.
  1. ping
    Что делает:
    Проверяет, есть ли связь с другим узлом в сети. Как крикнуть «Эй, ты там?» и услышать в ответ «Ау!».
    Пример:
    Bash:
    $ ping google.com
    PING google.com (142.251.214.142): 56 data bytes
    64 bytes from 142.251.214.142: icmp_seq=0 ttl=116 time=12.8 ms
    Чтобы остановить, нажми Ctrl+C.
  2. ip a (более современная) или ifconfig (устаревшая, но популярная)
    Что делает:
    Показывает информацию о сетевых интерфейсах (сетевых картах) твоего компьютера: их имена, MAC-адреса, IP-адреса.
    Пример:
    Bash:
    $ ip a
  3. nslookup / dig
    Что делает:
    Спрашивает у DNS-сервера IP-адрес по имени домена (и наоборот). dig дает более подробный ответ.
    Пример:
    Bash:
    $ nslookup google.com
    $ dig google.com
  4. ssh (Secure SHell)
    Что делает:
    Твой ключ к удаленному управлению. Позволяет безопасно подключиться к консоли другого компьютера через сеть.
    Пример:
    Bash:
    $ ssh username@192.168.1.100
  5. ss -tulpn (более современная) или netstat -tulpn
    Что делает:
    Показывает список сетевых подключений и открытых портов на твоей машине («Что у меня сейчас слушает сеть?»).
    Пример:
    Bash:
    $ ss -tulpn
⚡ Таблица-шпаргалка: Сетевые команды
КомандаЧто делаетПример
pingПроверить доступность узлаping ya.ru
ip aПоказать сетевые интерфейсы и IPip a
nslookup / digСпросить у DNS IP-адресdig github.com
sshПодключиться к удаленному серверуssh user@host
ss -tulpnПоказать сетевые соединения и портыss -tulpn

🎮 5. Игровые песочницы и симуляторы: лучший способ учиться без риска​

Теория и команды — это здорово, но настоящий навык рождается в практике. И для этого не нужно ставить Linux на свой основной компьютер. Есть специальные игровые площадки — песочницы.
OverTheWire: Bandit
Она создана специально для абсолютных новичков, которые только знакомятся с командной строкой Linux.
  • В чём суть? Ты подключаешься через ssh к игровому серверу. Там есть несколько «уровней» (level). Чтобы перейти с level0 на level1, тебе нужно найти пароль к следующему уровню, используя команды Linux, которые ты сегодня узнал.
  • Что это дает?Ты в безопасной среде, на специально подготовленной машине, учишься:
    • Работать с ssh.
    • Пользоваться ls, cd, cat, find, grep и другими командами.
    • Читать справку (man).
    • Решать реальные задачи, и это по-настоящему увлекательно!
Альтернативы:
  • Hack The Box: Предлагает практические задания с объяснениями, которые идеально подходят начинающим.
  • HackerLab: Задачи любого уровня по разным темам.
  • Виртуальная машина (VirtualBox/VMware): Можно установить полноценный Linux в виртуальный компьютер внутри твоей Windows или macOS. Это безопасно и удобно для более глубокого погружения.

🏁 Заключение: Твой путь только начинается​

Если ты дочитал до этого места — ты уже молодец. Ты сделал самый важный шаг: перестал бояться и начал разбираться.

Сегодня мы:
✅ Разобрали главные мифы о Linux и консоли.
✅ Выучили 10 основных команд для управления файлами и системой.
✅ Поняли базовые принципы сетей: IP-адреса, порты и модель OSI.
✅ Освоили 5 ключевых сетевых команд для диагностики.
✅ Узнали про первые шаги в безопасности Linux.

Этот фундамент — твой трамплин. Дальше будет интереснее: сценарии (bash-скрипты), управление процессами, настройка веб-серверов. Но теперь у тебя есть карта и компас. Ты знаешь, с чего начать и куда смотреть.

Главный секрет в том, что все профи когда-то начинали с ls и cd. Они не родились со знанием команд на клавиатуре. Они просто были такими же любопытными, как ты сейчас.

❓ Часто задаваемые вопросы (FAQ)​

Q1: С какого дистрибутива Linux лучше всего начать новичку?
A1:
Для самого первого знакомства отлично подходят Ubuntu или Linux Mint. Они дружелюбны к пользователю, имеют большое сообщество и подробную документацию, что означает быструю помощь в случае проблем.

Q2: Что важнее учить сначала: Linux или сети?
A2:
Эти темы идут рука об руку. Начни с базовых команд Linux (из этой статьи), чтобы научиться перемещаться по системе. Затем сразу подключай основы сетей и практикуйся, используя команды вроде ping и ip a. Так обучение будет комплексным и осмысленным.

Q3: Правда ли, что Linux безопаснее Windows?
A3:
Безопасность любой системы сильно зависит от действий пользователя. Архитектура Linux имеет свои преимущества (например, разграничение прав), но это не делает её «магическим щитом». Основная безопасность заключается в своевременном обновлении системы, грамотной настройке и здравом смысле при работе в сети.
 
Последнее редактирование:
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab