Основы 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 в виртуальную машину (об этом будет отдельный урок) и тренируйте команды каждый день по чуть-чуть. Через пару недель терминал станет родным.