Комбинации команд

Вывести топ 20 самых объёмных папок в текущей директории

du . --max-depth=1 -ah | sort -rh | head -20

Узнать какой WEB сервер установлен

ps aux | grep -E 'apache|nginx'

Русский язык в bash

apt install locales & dpkg-reconfigure locales

Убить процесс по открытому порту fuser -k нужный порт/tcp

fuser -k XXX/tcp

Меняет тему MC на темную

sed -i 's/^skin=default$/skin=gotar/' ~/.config/mc/ini

Трюки терминала Bash

Горячие клавиши” Bash с Ctrl**

Ctrl + n — то же самое, что и стрелка вниз.
Ctrl + p — то же самое, что и стрелка вверх.
Ctrl + r — поиск по предыдущим командам из истории команд (history). Продолжайте нажимать Ctrl + r, чтобы искать дальше. Ctrl + Shift + r — поиск в другую сторону.
Ctrl + s — остановить вывод в терминал.
Ctrl + q — восстановить вывод в терминал после Ctrl + s.
Ctrl + a — перейти к началу строки (аналог клавиши Home).
Ctrl + e — перейти к концу строки (аналог клавиши End).
Ctrl + d — если вы ввели что-то, то Ctrl + d удаляет символ под курсором. В противном случае означает конец ввода и завершает текущую сессию Bash.
Ctrl + k — удалить весь текст от курсора до конца строки.
Ctrl + x + backspace — удалить весь текст от начала строки до курсора.
Ctrl + t — переставить символ до курсора на символ под курсором. Нажмите Esc + t для перестановки двух слов до курсора.
Ctrl + w — удалить слово до курсора; затем Ctrl + y, чтобы вставить его.
Ctrl + u — удалить строку перед курсором; Ctrl + y для вставки его.
Ctrl + _ — отменить ввод.
Ctrl + l — очищает окно терминала. То же самое, что и clear.
Ctrl + x + Ctrl + e — запускает редактор, определённый в переменной $EDITOR, для ввода команды. Полезно для многострочных команд.

Полезные переменные окружения Bash

Короткие переменные: $0 — оболочка командной строки или путь до запускаемого файла. $1, $2, $3, ... — аргументы запуска скрипта. $# — число аргументов, переданных в скрипт из терминала. $? — код завершения последней команды. $- — текущие опции, установленные для оболочки. $$ — идентификатор текущего процесса. $! — идентификатор процесса, завершённого последним.

Более длинные, но тоже полезные переменные: $DESKTOP_SESSION — текущий менеджер дисплеев. $EDITOR — редактор текста по умолчанию. $LANG — используемый системой язык. $PATH — список директорий, в которых будут искаться исполняемые файлы. $PWD — текущая директория. $SHELL — текущая оболочка командной строки. $USER — имя текущего пользователя. $HOSTNAME — имя текущего хоста (компьютера).

ls Показывает файлы и папки в текущей или указанной директории

КлючОписание
-lПодробный формат (разрешения, владелец, размер, дата)
-aПоказать скрытые файлы (начинаются с .)
-hЧеловекочитаемый формат размеров (КБ, МБ и т.д.)
--sortСортировка (например, --sort=size по размеру)

cd Перемещает пользователя в указанную директорию

КлючОписание
Нет ключей, используются пути (например, .., ~, /)

pwd Выводит полный путь до текущей рабочей директории

КлючОписание
Обычно используется без ключей

cp Копирует файлы или директории из одного места в другое

КлючОписание
-rРекурсивное копирование (для директорий)
-vВыводить информацию о процессе копирования
-iЗапрашивать подтверждение перед перезаписью

mv Перемещает файлы/директории или переименовывает их

КлючОписание
-iЗапрашивать подтверждение перед перезаписью
-vПоказывать процесс перемещения

rm Удаляет указанные файлы или директории

КлючОписание
-rРекурсивное удаление (для директорий)
-fУдаление без подтверждения
-iЗапрашивать подтверждение для каждого файла

cat Выводит содержимое файла в терминал или объединяет файлы

КлючОписание
-nПоказывать номера строк
-EПоказывать символы конца строки ($)

less Позволяет просматривать файлы с возможностью прокрутки

КлючОписание
-NПоказывать номера строк
-SНе переносить длинные строки

grep Поиск по содержимому файла или вывода

Пример grep -r "inactivityTimeout" /etc/ Ищем значение inactivityTimeout в /etc/

КлючОписание
-iИгнорировать регистр
-rРекурсивный поиск в директориях
-nПоказывать номера строк, содержащих нужную информацию
-vПоказывать строки, не соответствующие шаблону Пример: grep -r "error" /var/log — Найти все вхождения слова “error” в логах.
-cПоказывать только количество строк, содержащих нужную информацию

Примеры использования Найти все файлы в папке home/user, содержащие строку “hello”: grep -r "hello" /home/user Обнаружить файлы в папке /etc и ее подпапках, содержащие слово “network”: grep -R "network" /etc Найти объекты в папке /var/log, содержащие сообщение “error”: grep -R "error" /var/log Найти файлы с расширением .txt, содержащие строку “important”, в папке /home/user: grep "important" /home/user/*.txt Поиск объектов, содержащих слово “password”, в папке /etc и сохранить результаты в файле passwords.log: grep -R "password" /etc > passwords.log

find Поиск файлов/директорий

find /где искать/ -name имя файла

КлючОписание
-nameИскать по имени (чувствительно к регистру).
-inameИскать по имени (игнорировать регистр).
-typeТип (f — файл, d — директория).
-execВыполнить команду над найденными файлами. Пример: find / -type f -name
"*.log"Найти все файлы с расширением .log
Примеры использования
Поиск в каталоге /etc/ файла с именем file1
find /etc/ -name file1
Поиск по содержиному, ищем значение opcache.memory_consumption= в /etc
grep -r "opcache.memory_consumption=" /etc/

chmod Изменение прав доступа

chown Изменение владельца

КлючОписание
-RРекурсивное изменение владельца. Пример: chown -R user:group /home/user

tail Вывода последних строк файла

КлючОписание
-n NUMВыводит последние NUM строк (по умолчанию 10). Пример: tail -n 20 file.txt
-fСледит за файлом в реальном времени (например, для логов). Пример: tail -f /var/log/syslog
-c NUMПоказывает последние NUM байт. Пример: tail -c 100 file.txt
-100Показывает последние 100 строк событий

find Ищет файлы/директории по заданным критериям

КлючОписание
-nameИскать по имени (чувствительно к регистру)
-inameИскать по имени (игнорировать регистр)
-typeТип (f — файл, d — директория)
-execВыполнить команду над найденными файлами

 

jornalctl Просмотр и анализ логов собранных службойsystemd-journald

С определенной даты и времени: journalctl --since "2020-12-18 06:00:00" С определенной даты и по определенное дату и время: journalctl --since "2020-12-17" --until "2020-12-18 10:00:00" Посмотреть журнал определённого сервиса journalctl -u nameservice В реальном времени journalctl -u nameservice -f

  1. -u — Фильтровать логи по указанной службе (unit) journalctl -u nginx.service
    • Что делает: Показывает все логи, связанные с службой nginx.service.
    • Результат: Выводит записи о запусках, остановках, ошибках и других событиях, связанных с Nginx.
  2. -b — Показать логи только для текущей загрузки системы journalctl -u nginx.service -b
    • Что делает: Ограничивает вывод логами nginx.service с момента последней загрузки системы (сегодня, 15 мая 2025, до 19:43 CEST).
    • Результат: Показывает только логи Nginx, относящиеся к текущей сессии работы системы.
  3. -r — Отображать логи в обратном порядке (сначала новые) journalctl -u nginx.service -r
    • Что делает: Выводит логи nginx.service, начиная с самых последних записей.
    • Результат: Удобно для просмотра последних событий, например, недавних ошибок или перезапусков Nginx.
  4. -f — Следить за логами в реальном времени journalctl -u nginx.service -f
    • Что делает: Отображает логи nginx.service в реальном времени, обновляя вывод при появлении новых записей.
    • Результат: Полезно для мониторинга текущей активности Nginx, например, при тестировании конфигурации.
  5. —since — Показать логи с указанного времени journalctl -u nginx.service --since "2025-05-15 10:00"
    • Что делает: Показывает логи nginx.service, начиная с 10:00 15 мая 2025 года.
    • Результат: Фильтрует записи, начиная с указанного времени, например, для анализа событий после утреннего обновления.
  6. —until — Показать логи до указанного времени journalctl -u nginx.service --until "2025-05-15 12:00"
    • Что делает: Показывает логи nginx.service до 12:00 15 мая 2025 года.
    • Результат: Ограничивает вывод логами до указанного времени, например, для анализа событий до полудня.
  7. -p — Фильтровать по приоритету сообщений journalctl -u nginx.service -p 3
    • Что делает: Показывает логи nginx.service с приоритетом error (уровень 3) и выше (критические ошибки).
    • Результат: Выводит только серьезные проблемы, например, сбои при запуске Nginx или ошибки конфигурации.
  8. -o — Изменить формат вывода journalctl -u nginx.service -o json
    • Что делает: Выводит логи nginx.service в формате JSON.
    • Результат: Удобно для автоматизированной обработки логов, например, в скриптах или для отправки в системы мониторинга.

Фильтры по уровню важности сообщений:

Пример journalctl -p 1 0: emergency — чрезвычайная ситуация 1: alerts — предупреждения, требуется вмешательство 2: critical — критическое состояние 3: errors — ошибки 4: warning — предупреждения 5: notice — уведомления 6: info — информационные сообщения 7: debug — отладочные сообщения

Комбинирование ключей

Ключи можно комбинировать для более точной фильтрации. Например: journalctl -u nginx.service -b -r -p 4 --since "2025-05-15 09:00"

  • Что делает: Показывает логи nginx.service с приоритетом warning (уровень 4) и выше, начиная с 09:00 15 мая 2025, для текущей загрузки, в обратном порядке.
  • Результат: Позволяет быстро найти последние предупреждения или ошибки после утреннего рестарта системы.

Примечания

  • Права доступа: Для некоторых логов может потребоваться sudo, например: sudo journalctl -u nginx.service
  • Формат времени: Для —since и —until можно использовать форматы вроде “today”, “yesterday”, или “2025-05-15 10:00:00”.
  • Проверка службы: Убедитесь, что nginx.service активна:

 

mount монтирует файловую систему

!Важно так же знать про файл fstab

Подробнее о команде mount можно почитать тут Проект OpenNet: MAN mount (8) Команды системного администрирования (FreeBSD и Linux)

Полный набор параметров, который будет использован при работе команды mount в первую очередь включает параметры, извлекаемые из таблицы файла /etc/fstab для определенной файловой системы, затем добавляются параметры, которые задаются аргументом -o и, наконец, если они указаны, добавляются параметры -r или -w.

КлючОписание
-VВыводит информацию о версии программы.
-hВыводит подсказку.
-vПодробно информирует о выполняемых действиях.
-aМонтирует все файловые системы указанного типа, описания которых содержатся в файле /etc/fstab.
-F(Используется совместно с параметром -a.) Позволяет подключать файловые системы на различных устройствах или на серверах NFS параллельно. Это благоприятно сказывается на производительности; также параллельно обслуживаются тайм-ауты NFS. Неудобством является только то, что процессы монтирования происходят в неопределенном порядке. Поэтому параметр -F нельзя применять, например, для одновременного монтирования и /usr и /usr/spool.
-fПытается делать все возможное для выполнения системного вызова; если это невозможно, тогда создаётся видимость успешного выполнения монтирования файловой системы. Этот параметр полезен в сочетании с -v , чтобы отследить попытки, предпринимаемые командой mount . С помощью параметра -f можно также добавить элементы описаний тех устройств, которые ранее монтировались с параметром -n.
-iНе вызывать помощника монтирования /sbin/mount. даже если он существует.
-lвыводу информации добавляет описания файловых систем ext2, ext3 и XFS. Для работы этого параметра, монтирование должно разрешать операцию чтения дискового устройства (т.е. активизирован suid root). Описание файловой системы можно задать для ext2 или ext3 с помощью утилиты e2label(8), а для XFS - используя утилиту xfs_admin(8). или для reiserfs используя reiserfstune(8).
-nМонтирует без записи в /etc/mtab. Необходимость в этом возникает когда, например, /etc находится на файловой системе с режимом доступа “только для чтения”.
-p numВ случае применения loop-монтирования с шифрованием, читает ключевую фразу из файлового дескриптора num, а не с терминала.
-sИзбегая аварийного завершения, допускает даже неподходящие параметры монтирования. При этом параметры, не поддерживаемые файловой системой, будут проигнорированы. Не все файловые системы поддерживают этот параметр. Этот параметр предназначен для поддержки в Linux авто-монтирования при помощи autofs.
-rМонтирует файловую систему в режиме “только для чтения”. В качестве синонима можно использовать: -o ro.
-WМонтирует файловую систему в режиме “чтения/запись”. Это является режимом по умолчанию. В качестве синонима можно использовать: -o rw.
-L labelМонтирует раздел (специальное устройство), который имеет метку label. Начиная с ядра Linux 2.1.116 требует наличие файла /proc/partitions
И другие с более длинным описанием

apt Менеджер пакетов

apt — менеджер пакетов с интерфейсом командной строки. Он предоставляет команды для поиска и управления, а также запросов информации о пакетах. apt выполняет те же задачи, что и специализированные инструменты APT, например apt-get и apt-cache, но по умолчанию задействует параметры, которые больше подходят для интерактивного использования.

Основные команды: list - показать список пакетов на основе указанных имён search - искать в описаниях пакетов show - показать дополнительные данные о пакете install - установить пакеты reinstall - переустановить пакеты remove - удалить пакеты autoremove - автоматически удалить все неиспользуемые пакеты update - обновить список доступных пакетов upgrade - обновить систему, устанавливая/обновляя пакеты full-upgrade - обновить систему, удаляя/устанавливая/обновляя пакеты edit-sources - редактировать файл с источниками пакетов modernize-sources - преобразовать файлы .list в файлы .sources satisfy - удовлетворить строки зависимостей

dd Побайтовое копирование (по)

фыв

template Описание

Содержание

template Описание

Содержание