Основы Linux и командной строки

Linux и командная строка — рабочие инструменты почти любого специалиста по безопасности. Освоить базовые команды стоит как можно раньше.

Большинство серверов в интернете работают на Linux. Инструменты безопасности часто создаются под Linux. Поэтому уверенная работа в терминале — один из базовых навыков. Хорошая новость: начать просто, и тренироваться можно полностью легально на своём компьютере или виртуальной машине.

Почему Linux

  • Открытость. Можно изучить, как всё устроено внутри.
  • Сила командной строки. Многие задачи решаются быстрее и точнее, чем мышкой.
  • Инструменты. Дистрибутивы вроде Kali Linux собирают учебные инструменты в одном месте (использовать — только на своих и разрешённых целях).
  • Распространённость. Понимая Linux, вы понимаете большую часть интернета.

Файловая система и навигация

В Linux всё организовано в виде дерева каталогов, начинающегося с корня /. Несколько базовых команд:

# показать текущий каталог
pwd

# список файлов
ls -la

# перейти в каталог
cd /home/user

# вернуться на уровень выше
cd ..

Работа с файлами

# создать пустой файл
touch notes.txt

# показать содержимое файла
cat notes.txt

# скопировать файл
cp notes.txt backup.txt

# удалить файл (осторожно!)
rm backup.txt

Полезные команды для понимания системы

КомандаЧто делает
whoamiПоказывает текущего пользователя
man командаОткрывает справку по команде
grepИщет текст в файлах
chmodМеняет права доступа к файлу

Права доступа — важная тема для безопасности

В Linux у каждого файла есть права: кто может читать, писать и выполнять. Команда ls -l показывает их в виде строки вроде -rwxr-xr--. Понимание прав доступа критично для безопасности: неправильно выставленные права — частая причина уязвимостей. Например, если важный конфиг доступен на чтение всем — это проблема.

Маленький Python-пример

Чтобы привыкать думать «по-командному», вот безопасный Python, который имитирует разбор простой команды. Он не запускает ничего в системе — просто демонстрирует логику.

command = "ls -la /home"
parts = command.split()

print("Программа:", parts[0])
print("Флаги:", [p for p in parts[1:] if p.startswith("-")])
print("Аргументы:", [p for p in parts[1:] if not p.startswith("-")])

Вывод:

Программа: ls
Флаги: ['-la']
Аргументы: ['/home']

Совет: установите Linux в виртуальную машину (об этом будет отдельный урок) и тренируйте команды каждый день по чуть-чуть. Через пару недель терминал станет родным.

Проверьте себя
1. Почему специалисты по безопасности часто работают в Linux?
AОн самый красивый
BБольшинство серверов работают на Linux, и под него собрано много инструментов
CВ нём нельзя совершить ошибку
DОн работает только онлайн
2. Что показывает команда ls -l применительно к безопасности?
AСкорость интернета
BПрава доступа к файлам, что важно для поиска уязвимостей
CСписок пользователей сайта
DИсторию команд
Поддержать проект