База знаний
Справочник с поиском по командам и темам из практических уроков.
Каждая статья объясняет одну вещь и показывает пример. Ищи по названию или смотри по группам ниже. Из урока статьи открываются подсказками, а внизу каждой есть ссылки обратно на уроки, где это применяется.
Команды и оболочка
9- Команда в Linux: имя, опции и аргументыКоманда в Linux - это имя, опции и аргументы. Опции меняют поведение, аргументы говорят, с чем работать.
- Команда echo в Linux: вывод текста и переменныхКоманда echo в Linux печатает свои аргументы и значения переменных в стандартный вывод.
- Команда date в Linux: текущая дата и форматыКоманда date в Linux показывает дату и время и форматирует их строкой вида +%Y-%m-%d.
- which, type, whereis в Linux: где живёт командаwhich, type, whereis в Linux: узнать путь к программе и понять, что это - файл, алиас или встроенная команда.
- Справка в Linux: --help и manСправка в Linux: --help даёт краткую подсказку по команде, man открывает полное руководство.
- Переменные окружения в Linux: env и exportПеременные окружения в Linux: env показывает их, export делает переменную видимой дочерним процессам.
- PATH в Linux: где ищутся командыPATH в Linux - это список каталогов через двоеточие, в которых оболочка ищет программу по имени.
- ~/.bashrc в Linux: настройка оболочки~/.bashrc в Linux - это скрипт, который bash читает при запуске интерактивной оболочки, если это не оболочка входа.
- Алиасы в Linux: команда aliasАлиас в Linux - это короткое имя для длинной команды; он становится постоянным, если прописать его в ~/.bashrc.
Файлы и каталоги
11- Команда ls в Linux: просмотр содержимого каталогаЧто лежит в каталоге: ls -l, ls -a, ls -lh и скрытые файлы.
- Команда find в Linux: поиск файловНайти файлы по имени, типу, размеру и времени, и сразу что-то с ними сделать.
- Пути в Linux: абсолютные и относительныеПути в Linux: абсолютный путь начинается с /, относительный отсчитывается от текущего каталога.
- Скрытые файлы в Linux: точка в начале имениСкрытые файлы в Linux - это файлы, чьё имя начинается с точки. Их показывает ls -a.
- Команды mkdir, cp, mv, rm в Linux: работа с файламиmkdir, cp, mv, rm в Linux: создать каталог, скопировать, переместить или переименовать и удалить файл.
- Шаблоны имён в Linux: globbing и символ *Globbing в Linux: оболочка раскрывает шаблоны *, ? и [...] в список подходящих имён файлов.
- Чтение файлов в Linux: cat, head, tailcat, head, tail в Linux: вывести файл целиком, показать первые или последние строки, следить за ростом.
- Команда less в Linux: постраничный просмотрКоманда less в Linux листает файл по страницам и ищет по тексту. Файл читается лениво, по мере листания.
- Команда file в Linux: определить тип файлаКоманда file в Linux определяет тип файла по содержимому, а не по расширению имени.
- Команда locate в Linux: быстрый поиск по указателюКоманда locate в Linux ищет файлы по заранее построенному указателю имён, поэтому отвечает мгновенно.
- Редакторы в Linux: nano и vimnano и vim в Linux - текстовые редакторы прямо в терминале; nano проще для новичка, vim есть почти везде.
Текст и потоки
8- Команда grep в Linux: поиск текста по шаблонуНайти строки по шаблону: grep -i, -r, -n, -v и grep в конвейере.
- Перенаправление вывода в Linux: > и >>Перенаправление вывода в Linux: > пишет в файл с нуля, >> дописывает в конец, 2> ловит ошибки.
- Конвейеры в Linux: | и фильтры sort, uniq, cutКонвейер в Linux соединяет команды символом |: вывод одной становится вводом следующей.
- Команда sed в Linux: потоковая замена текстаКоманда sed в Linux правит текст потоком: чаще всего заменяет по образцу командой s/что/чем/g.
- Команда awk в Linux: обработка по полямКоманда awk в Linux режет строки на поля по пробельным символам и работает по правилу «условие { действие }».
- Регулярные выражения в Linux: основы для grep и sedРегулярные выражения в Linux - это язык шаблонов для текста: ими ищет grep, правит sed, разбирает awk.
- Команда xargs в Linux: собрать команду из вводаxargs в Linux берёт строки со стандартного ввода и подставляет их как аргументы другой команде.
- Команда tee в Linux: и в файл, и на экранtee в Linux пишет поток сразу в файл и на экран; удобно сохранить вывод и видеть его одновременно.
Bash-скрипты
4- Файл скрипта и запускShebang, право на запуск и разница между ./script и bash script.
- Переменные и кавычкиПрисваивание без пробелов, $(...) и зачем брать значения в "кавычки".
- Циклы в bashfor и while read, и почему чтение файла построчно надёжнее.
- Строгий режим: set -euo pipefailПадать на первой ошибке вместо тихого продолжения.
Процессы
5- Просмотр процессов: ps, pgrep, topКто запущен, под каким PID и сколько ест.
- Фоновые задания: &, jobs, fg, bgЗапустить в фоне и вернуть на передний план.
- Приоритет процесса: nice и reniceКому процессор достаётся в первую очередь.
- Сигналы и killTERM, KILL, HUP и чем kill отличается от kill -9.
- Открытые файлы в Linux: команда lsoflsof в Linux показывает, какие файлы и сокеты открыты и каким процессом; помогает найти, кто держит порт.
Пользователи и права
5- Команда chmod в Linux: права доступа (755, 644, rwx)Кто может читать, писать и выполнять файл: режимы 755 и 644, rwx и восьмеричные числа.
- Пользователи и группы: useradd, usermodЗавести пользователя и менять его группы.
- Владелец и группа: chown, chgrpКому принадлежит файл и как это поменять.
- sudo: стать root на одну командуПоднять права для одной команды и записать это.
- SELinux и AppArmor в Linux: мандатный доступSELinux и AppArmor в Linux ограничивают, что процессу можно делать, даже если права rwx и root это разрешают.
Система и службы
5- Управление пакетами в Linux: apt и dpkgapt и dpkg в Linux: apt ставит и обновляет пакеты из репозиториев, dpkg работает с одним .deb-файлом.
- Службы systemd в Linux: команда systemctlsystemctl в Linux управляет службами: запустить, остановить, включить в автозагрузку и посмотреть статус.
- Логи в Linux: journalctl и /var/logjournalctl в Linux читает системные логи от systemd; старые службы пишут текстовые файлы в /var/log.
- Планировщик cron в Linux: crontab и расписаниеcron в Linux запускает команды по расписанию; своё расписание правят через crontab -e.
- Время в Linux: timedatectl и часовой поясtimedatectl в Linux показывает и настраивает системное время, часовой пояс и синхронизацию по сети.
Диски и файловые системы
7- Что такое inodeГде на самом деле живёт файл: ls -i, stat, df -i.
- Жёсткие и символические ссылкиln против ln -s, и когда какая нужна.
- Свободные inode: df -iКогда место есть, а файлы не создаются.
- Команды df и du в Linux: место на дискеdf и du в Linux: df показывает свободное место на файловых системах, du - размер каталогов.
- Монтирование в Linux: mount, fstab и lsblkmount в Linux подключает файловую систему диска к дереву каталогов; fstab монтирует её при загрузке.
- LVM в Linux: логические тома (pvcreate, vgcreate, lvcreate)LVM в Linux собирает диски в общий пул и нарезает гибкие тома, которые можно расширять на ходу.
- Целостность диска в Linux: fsck и smartctlfsck в Linux чинит ошибки файловой системы; smartctl читает здоровье диска по данным SMART.
Архивы
4- Архивы tarСоздать, посмотреть и распаковать: czf, tzf, xzf.
- Сжатие gzipgzip и gunzip, и зачем .tar.gz.
- Резервная копия и восстановлениеПочему копию надо проверять восстановлением.
- Синхронизация в Linux: команда rsyncrsync в Linux копирует и синхронизирует каталоги, передавая только изменения; работает и по сети через ssh.
Сеть
6- Команда ip в Linux: адреса и интерфейсы (ip addr)Команда ip в Linux показывает сеть: ip addr - адреса, ip link - интерфейсы, ip route - маршруты.
- Команда ss в Linux: сокеты и открытые портыКоманда ss в Linux показывает сетевые сокеты: какие порты слушают и какие соединения открыты.
- SSH в Linux: вход на удалённый сервер и ключиssh в Linux открывает защищённую сессию на удалённом сервере; scp копирует файлы, ssh-keygen делает ключи.
- Скачивание в Linux: curl и wgetcurl и wget в Linux качают файлы и шлют HTTP-запросы из терминала; curl гибче, wget проще для скачивания.
- Сеть и DNS в Linux: ping и digping в Linux проверяет, доступен ли хост; dig узнаёт IP по имени через DNS.
- Файрвол в Linux: ufw и nftablesФайрвол в Linux решает, какие соединения пускать; ufw - простой интерфейс, nftables - движок под ним.
Ядро и мониторинг
9- Файловая система /proc в Linux: окно в ядро/proc в Linux - это виртуальная файловая система: ядро показывает в ней процессы и состояние системы как файлы.
- sysctl в Linux: чтение и настройка параметров ядраsysctl в Linux читает и меняет параметры ядра из /proc/sys, например vm.swappiness.
- Команда free в Linux: использование памятиКоманда free в Linux показывает память: сколько занято, свободно и сколько отдано под кэш.
- Средняя нагрузка в Linux: loadavg и uptimeСредняя нагрузка в Linux - это среднее число процессов, работающих или ждущих процессор или диск, за 1, 5 и 15 минут.
- Команда vmstat в Linux: память, swap и процессорКоманда vmstat в Linux одной строкой сводит процессы, память, swap, диск и процессор.
- Мониторинг в реальном времени: top и htoptop и htop в Linux показывают живой список процессов и нагрузку; htop удобнее и нагляднее.
- strace в Linux: трассировка системных вызововstrace в Linux показывает системные вызовы программы: какие файлы она открывает, куда ходит по сети и где сбоит.
- perf в Linux: профилирование производительностиperf в Linux показывает, на что процессор тратит время: какие функции и инструкции греют процессор сильнее всего.
- cgroups и namespaces в Linux: основа контейнеровcgroups и namespaces в Linux - это механизмы ядра, на которых стоят контейнеры: лимиты и изоляция процессов.