1. sort — сортировка строк.
sort data.txt
sort -r data.txt # Обратная сортировка
sort -n numbers.txt # Сортировка по числовому значению
2. uniq — удаление дубликатов (работает с отсортированными данными).
sort log.txt | uniq # Удалить повторяющиеся строки
3. wc (word count) — подсчёт строк, слов, байт.
wc -l script.sh # Количество строк
wc -w document.txt # Количество слов
wc -c data.bin # Количество байт
4. cut — извлечение колонок или символов.
cut -d':' -f1 /etc/passwd # Извлечь первое поле (разделитель — двоеточие)
cut -c1-10 file.txt # Извлечь первые 10 символов каждой строки
5. awk — обработка структурированных данных.
awk '{print $1}' /etc/passwd # Вывести первое поле каждой строки
awk -F':' '$3 > 1000' /etc/passwd # Найти пользователей с UID > 1000
1. Создайте файл test.log и заполните его 20 строками произвольного текста.
2. Выведите первые 5 строк файла командой head.
3. Выведите последние 3 строки файла командой tail.
4. Найдите все строки с словом «test» в файле с помощью grep.
5. Отсортируйте строки файла test.log по алфавиту и сохраните результат в sorted.log.
6. Подсчитайте количество строк в sorted.log командой wc.
7. Откройте файл sorted.log в редакторе nano, добавьте заголовок и сохраните изменения.
8. Найдите все файлы с расширением .log в каталоге /var/log командой find.
9. Выведите содержимое /etc/passwd, отобразив только имена пользователей (первое поле) с помощью cut.
10. Просмотрите большой лог‑файл (например, /var/log/syslog) с помощью less, найдите в нём строку с ошибкой (слово «error»).
Вы освоили ключевые инструменты для работы с текстовыми файлами в Linux:
* просмотр содержимого (cat, less, head, tail);
* редактирование (nano, vim);
* поиск информации (grep, find);
* фильтрацию и обработку текста (sort, uniq, wc, cut, awk).
Эти навыки позволят вам эффективно анализировать логи, настраивать конфигурационные файлы и автоматизировать обработку данных.
В следующей главе мы рассмотрим работу с процессами и заданиями в Linux — управление запущенными программами, мониторинг ресурсов и планирование задач.
Процессы — основа многозадачности в Linux. Каждый раз, когда вы запускаете программу или выполняете команду, создаётся процесс. Умение управлять процессами критически важно для системного администрирования и эффективной работы с системой.
В этой главе вы:
* узнаете, что такое процессы и какие они бывают;
* освоите инструменты мониторинга процессов;
* научитесь управлять приоритетами процессов;
* познакомитесь с механизмами управления заданиями в оболочке;
* изучите способы завершения процессов;
* выполните практические задания для закрепления навыков.
Процесс — запущенный экземпляр программы, которому ядро Linux выделяет ресурсы (память, процессорное время и т. д.).
Каждый процесс имеет: * PID (Process ID) — уникальный идентификатор; * PPID (Parent PID) — идентификатор родительского процесса; * состояние (выполняется, спит, остановлен, зомби); * приоритет; * используемые ресурсы (CPU, память, файлы).
Типы процессов:
* Интерактивные — работают на переднем плане, взаимодействуют с пользователем.
* Фоновые (демоны) — работают без прямого взаимодействия с пользователем (например, веб‑сервер apache2).
1. ps (process status) — моментальный снимок процессов.
Основные опции:
* ps aux — все процессы всех пользователей;
* ps -ef — полный формат с PPID;
* ps -u username — процессы конкретного пользователя;
* ps -p PID — информация о конкретном процессе.
Пример:
ps aux | head -5
2. top — мониторинг в реальном времени.
Запуск:
top
Управление в top:
* q — выход;
* k — завершение процесса (запросит PID);
* r — изменение приоритета (nice);
* P — сортировка по CPU;
* M — сортировка по памяти.
3. htop — улучшенная версия top с цветовым выделением и удобным интерфейсом.
Установка (если не установлен):
sudo apt install htop # Debian/Ubuntu
sudo yum install htop # CentOS/RHEL
Запуск:
htop
О проекте
О подписке
Другие проекты
