Please open Telegram to view this post
VIEW IN TELEGRAM
Это не просто список команд, а структурированный справочник по всему Linux-арсеналу.
— системные команды для администрирования и мониторинга;
— сетевые утилиты и инструменты безопасности;
— работа с процессами, памятью, файлами и устройствами;
— примеры использования и полезные флаги.
Удобно, лаконично и наглядно — будто свой мини-читерский мануал по Linux.
Подойдёт и новичкам, и тем, кто хочет быстро вспомнить нужную команду без копания в
man.#doc #github #cheatsheet
Please open Telegram to view this post
VIEW IN TELEGRAM
Иногда нужно понять, что творится с системой: железо, процессы, ядро, память, сеть — и всё это быстро.
Подборка команд, которые помогут при отладке, мониторинге, настройке серверов и охоте на баги.
uname -a
Показывает ядро, архитектуру, версию системы, сборку — всё одним махом.
lsb_release -a
Если нужно узнать дистрибутив, номер версии и кодовое имя.
lscpu
Сведения о процессоре: ядра, потоки, частоты.
lsblk
Какие диски подключены, как они смонтированы.
lspci
Сеть, видео, контроллеры — полный список PCI-устройств.
lsusb
То же самое, но USB.
free -h
Свободная/занятая память, swap, удобно для быстрой диагностики.
top
Кто жрет CPU и RAM прямо сейчас — интерактивно.
htop
Красиво, гибко. Если нет — ставится за секунду.
df -h
Свободное место по разделам.
du -sh *
Показать, какие папки занимают больше всего места.
ip a
Сеть, интерфейсы, IP-адреса.
ss -tulnp
Кто слушает порты, какие процессы держат соединения (замена netstat).
ping google.com
Проверить связь с внешним миром.
systemctl status nginx
Статус сервиса.
systemctl list-unit-files --type=service
Список всех служб.
journalctl -u ssh
Логи конкретного приложения/сервиса.
neofetch
Красивое резюме системы (если установлен).
inxi -Fxz
Огромный отчёт об аппаратной и программной конфигурации.
#doc #cheatsheet
Please open Telegram to view this post
VIEW IN TELEGRAM
Временные файлы, кеш обновлений, хвосты после установок — всё это со временем превращает ваш Linux в захламлённую квартиру.
Удалить ненужные пакеты после установок
sudo apt-get autoremove -y
Вычистить старые скачанные архивы
sudo apt-get autoclean -y
Полностью очистить кеш скачанных пакетов
sudo apt-get clean -y
Починить проблемы с установкой пакетов
sudo apt-get install -f -y
#doc #cheatsheet
Please open Telegram to view this post
VIEW IN TELEGRAM
less — это утилита для просмотра содержимого файлов в терминале с удобной навигацией.#doc #linux #cheatsheet
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
grep в Linux — швейцарский нож администратора. Это не просто поиск по файлам, а инструмент выживания в логах, конфиге и хаосе продакшена.Утилита позволяет искать, фильтровать и анализировать текст по шаблонам, включая регулярные выражения. Быстро, точно и без GUI.
grep iodmin file.txt
Поиск строки
iodmin с выводом всей совпавшей строкиgrep -o iodmin file.txt
Выводит только совпадение, без лишнего текста
grep -i iodmin file.txt
Поиск без учёта регистра
grep -bn iodmin file.txt
Показывает номер строки и позицию в файле
grep -w iodmin file.txt
Совпадение только с целым словом
grep -v iodmin file.txt
Показывает всё, кроме совпадений
grep -A 3 iodmin file.txt
grep -B 3 iodmin file.txt
grep -C 3 iodmin file.txt
Контекст до, после или вокруг найденной строки
grep -r iodmin $HOME
Рекурсивный поиск по директории
grep -I iodmin file.txt
Игнорирование бинарных файлов
grep -c iodmin file.txt
Подсчёт количества совпадений
grep -l iodmin *.txt
grep -L iodmin *.txt
Список файлов с совпадениями / без совпадений
📑 Множественные шаблоны
grep -f iodmins.txt file.txt
Поиск по списку шаблонов из файла
grep -v -f file2 file1 > file3
Строки, которые есть в
file1, но отсутствуют в file2grep -in -e 'python' $(find . -type f)
Рекурсивный поиск с номером строки
grep -inc -e 'test' $(find . -type f) | grep -v :0
Показ только файлов, где есть совпадения
grep . *.py
Вывод содержимого файлов с указанием имени файла
grep "Http404" apps/**/*.py
Поиск конкретных упоминаний в проекте
#cheatsheet #doc
Please open Telegram to view this post
VIEW IN TELEGRAM
ping — это самый простой и одновременно базовый инструмент сетевой диагностики.Когда что-то «не работает», именно он первым отвечает на вопрос:
хост жив или уже нет.
Утилита проверяет, может ли удалённый узел отвечать на запросы по протоколу ICMP —
без сервисов, портов и лишних зависимостей.
🔧 Синтаксис
ping [опции] адрес_узла
В качестве адреса можно указать:
— IP-адрес
— доменное имя
-4
Использовать только IPv4 (по умолчанию)
-6
Использовать только IPv6
-b
Разрешить ping широковещательного адреса
-c
Ограничить количество отправленных пакетов
-D
Выводить время ответа в формате UNIX timestamp
-f
Flood-режим — пакеты летят без задержек
Используется для стресс-тестов (и да, может положить узел).
Точки в выводе = потерянные пакеты
-i
Интервал между пакетами (в секундах)
-I
Отправка пакетов через конкретный сетевой интерфейс
-l
Режим перегрузки — система не ждёт ответов, просто шлёт пакеты
-n
Не резолвить IP в доменные имена (быстрее и чище)
-r
Игнорировать таблицу маршрутизации
Пакет отправляется напрямую через интерфейс
-s
Задать размер ICMP-пакета
* быстро показывает, есть ли вообще связь
* помогает понять, где проблема: сеть, маршрут или хост
* незаменим при первичной диагностике
Минимум. Основа. Классика сетей
#doc
Please open Telegram to view this post
VIEW IN TELEGRAM
Большинство знает SSH как инструмент для удалённого входа на сервер. Но его можно использовать гораздо шире: для проксирования трафика, безопасного доступа к внутренним сервисам и туннелирования соединений.
Позволяет отправлять веб-трафик через удалённый сервер (например в поездках или в небезопасных сетях).
ssh -D <port> <remote_host>
После этого укажите в браузере прокси:
localhost:<port>
Если Windows-сервер находится во внутренней сети.
ssh -L <port>:<target_host>:3389 <bastion_server>
RDP-клиент должен подключаться к:
localhost:<port>
ssh -L 5901:localhost:5901 <remote_host>
После этого VNC-клиент подключается к:
localhost:5901
По такому же принципу можно безопасно подключаться к другим сервисам, не открывая их в интернет:
* LDAP — порт 389
* CUPS — 631
* альтернативный HTTP — 8080
ssh-keygen
ssh-keygen -p
ssh-copy-id -i <identity_file> <remote_host>
Это добавит ключ в
~/.ssh/authorized_keys на удалённой машине.Если вы часто подключаетесь к одному серверу, можно добавить запись в файл:
~/.ssh/config
Пример:
Host myhouse
User itsme
HostName house.example.com
Теперь можно подключаться так:
ssh myhouse
вместо
ssh [email protected]
-l <login> — имя пользователя на удалённой машине
-i <identity_file> — SSH-ключ для аутентификации
-p <port> — порт SSH (по умолчанию 22)
-C — сжатие трафика
-D <port> — SOCKS-прокси
-X — запуск X11-программ
-A — пересылка SSH-агента
-4 — использовать только IPv4
-6 — использовать только IPv6
-L <lport>:<host>:<port> — проброс локального порта
#doc
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Способы восстановления:
Если файл был удален через GUI (например, Nautilus или Dolphin), проверьте
~/.local/share/Trash/. lsof (если файл еще открыт процессом) Иногда процесс продолжает использовать удаленный файл:
lsof | grep '(deleted)'
Можно скопировать содержимое из
/proc/<PID>/fd/<FD> в новый файл. Если файл был удален с раздела ext4, используем
extundelete: sudo umount /dev/sdX1 # Размонтируем раздел
sudo extundelete /dev/sdX1 --restore-all
Файлы восстанавливаются в папку
RECOVERED_FILES. Подходит для файловых систем ext4, NTFS, FAT и других:
sudo apt install testdisk # Устанавливаем пакет
sudo photorec
Выбираем диск и начинаем поиск удаленных файлов.
Можно попробовать найти фрагменты файла прямо на диске:
grep -a -b "текст из файла" /dev/sdX
Где
-a указывает, что это текст, а -b показывает смещение. #linux #doc #cheatsheet
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
grep — стандартная утилита Linux для поиска текста в файлах, логах и выводе команд.grep "python" file.txt
Ищет все строки со словом python.
grep -i python file.txt
Найдет:
Python
PYTHON
python
grep -v error log.txt
Показать все строки без слова
error.grep -w cat file.txt
Найдет
cat
Но пропустит
category
concatenate
grep -n TODO main.py
Результат
15: # TODO
42: # TODO
grep -c ERROR app.log
Например
128
grep -r "password" .
Просканирует все файлы текущей директории.
grep -rn "TODO" . --include="*.py"
grep -r "TODO" . --exclude-dir=node_modules
Очень полезно для больших проектов.
grep -A 5 ERROR app.log
Если ошибка занимает несколько строк.
grep -B 5 ERROR app.log
grep -C 3 ERROR app.log
Самый популярный вариант при анализе логов.
Любой символ
.
Любое количество символов
*
Один или больше
+
Начало строки
^
Конец строки
$
Диапазон цифр
[0-9]
Любой символ A или B
[AB]
Найти IP
grep -Eo "([0-9]{1,3}\.){3}[0-9]{1,3}" access.logНайти email
grep -E "[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}"Найти все ошибки
grep ERROR app.log
Найти строки, начинающиеся с INFO
grep "^INFO" app.log
Найти строки, заканчивающиеся словом OK
grep "OK$" app.log
💡 95% повседневной работы с `grep` закрывают именно эти команды. Сохраняйте — пригодится каждому, кто работает с Linux, DevOps, Python или анализом логов.
#doc #cheatsheet
Please open Telegram to view this post
VIEW IN TELEGRAM
Расширение вроде
.jpg, .pdf или .exe легко подделать. А вот утилиту `file` обмануть гораздо сложнее.Она анализирует реальное содержимое файла (так называемые *magic bytes* — сигнатуры в начале файла), а затем определяет его настоящий тип: текст, изображение, архив, ELF-бинарник, PDF, аудио, видео и многое другое.
Примеры использования
Определить тип файла:
file filename
Например:
file image.png
Вывод:
image.png: PNG image data, 1920 x 1080
Даже если переименовать файл:
mv image.png image.txt
file image.txt
утилита всё равно покажет:
image.txt: PNG image data
По умолчанию
file покажет, что объект является ссылкой.Чтобы определить тип самого файла, на который она указывает, используйте:
file -L my_link
Где пригодится?
file позволяет быстро понять, что перед вами на самом деле, не запуская файл.#doc #cheatsheet
Please open Telegram to view this post
VIEW IN TELEGRAM
date – вывести текущую дату и времяcal – вывести календарь на текущий месяцuptime – показать текущий аптаймuname – показать информацию о ядре-s – Показать имя ядра -n – Показать имя хоста-r – Показать номер выпуска ядра-v – Показать версию ядра-m – Показать имя аппаратной платформы (CPU)-o – Показать имя операционной системы-a – Показать всю возможную информациюcat /proc/cpuinfo – информация о ЦПУcat /proc/meminfo – информация о памятиdf – показать информацию о использовании дисковdu – вывести «вес» текущего каталогаdmidecode – информация о железе, берется из API DMI-t – указать тип устройства-t 17 – информация о памятиfree – использование памяти и swapwhereis file – отображение расположения файла filewhich app – отображает путь к команде apptype app – аналог команды whichenable – вывод встроенных в интерпретатор командlshw – отображение списка устройствlsmod – список подключенных модулей ядраmodinfo modulename – информация о модуле modulenamemodprobe modulemane – добавление и удаление модулей ядра Linux#cheatsheet #doc
Please open Telegram to view this post
VIEW IN TELEGRAM
Когда нужно быстро проверить характеристики CPU, большинство ограничивается командой
lscpu. Но в Linux есть целый набор инструментов, которые позволяют буквально разобрать процессор по винтикам: узнать модель, частоты, кэш, количество ядер, сокет, поддерживаемые инструкции и многое другое.В подборке собраны самые полезные команды для анализа процессора.
📋 Получаем полную информацию о CPU
Самый известный способ:
cat /proc/cpuinfo
или
less /proc/cpuinfo
Пример вывода:
model name : Intel(R) Core(TM)2 Quad CPU Q8400 @ 2.66GHz
cpu cores : 4
cache size : 2048 KB
Файл содержит подробную информацию по каждому ядру процессора.
Одна из самых удобных команд:
lscpu
Пример:
Architecture: x86_64
CPU(s): 4
Core(s) per socket: 4
Vendor ID: GenuineIntel
Virtualization: VT-x
Вывод компактный и отлично подходит для быстрого анализа системы.
Если нужен только ответ на вопрос «сколько ядер доступно»:
nproc
Результат:
4
Максимально быстро и без лишней информации.
Через
lshw:sudo lshw -class processor
Получаем:
product: Intel(R) Core(TM)2 Quad CPU Q8400
size: 1998MHz
capacity: 4GHz
width: 64 bits
Полезно для аудита оборудования и диагностики серверов.
Устанавливаем:
sudo apt install cpuid
Запускаем:
cpuid
Можно увидеть поддержку:
SSE
SSE2
MMX
VMX
Hyper Threading
Незаменимо для виртуализации, Docker, нейросетей и оптимизации ПО.
Устанавливаем:
sudo apt install inxi
Запускаем:
inxi -C
Пример:
CPU: Quad core Intel Core2 Quad CPU Q8400
Clock Speeds:
1: 1998 MHz
2: 1998 MHz
3: 1998 MHz
4: 1998 MHz
Очень удобно для публикации характеристик сервера или ПК.
Устанавливаем:
sudo apt install hwinfo
Запуск:
hwinfo --short --cpu
Вывод:
Intel Core i5-7400 CPU @ 3.00GHz
А без параметра
--short можно получить ещё больше технических деталей.Для большинства задач достаточно знать всего две команды:
lscpu
и
cat /proc/cpuinfo
Они дают практически всю необходимую информацию о процессоре без установки дополнительного софта.
#doc #cheatsheet
Please open Telegram to view this post
VIEW IN TELEGRAM
Если у вашего компьютера нет температурных датчиков, то, честно говоря, он уже не совсем «современный».
Температура — это не просто цифра, это здоровье вашего железа. Перегрел — привет, зависания и преждевременные «прощай».
В Linux есть масса инструментов, которые позволяют следить за температурой, вентиляторами и прочими параметрами системы. Давайте разберём самые полезные из них.
Современная электроника чувствует себя комфортно в диапазоне от -40°C до +60°C.
Всё, что выше, уже повод задуматься. Поэтому мощные кулеры, термопрокладки и жидкое охлаждение — не просто понты, а вопрос выживания.
lm-sensors — главный сенсорный комбайнЭта утилита умеет считывать показания с разных датчиков:
процессора, видеокарты, материнской платы и даже вентиляторов.
Установка (для Ubuntu/Debian):
sudo apt install lm-sensors
Первичная настройка:
sudo sensors-detect
Во время сканирования просто отвечайте
yes на все запросы.После этого утилита определит нужные драйверы и предложит добавить их в
/etc/modules.Пример:
Driver `nct7802` detected
Add "nct7802" to /etc/modules? (yes/NO)
После перезагрузки проверьте, загрузился ли модуль:
lsmod | grep nct7802
Если видите строку вроде:
nct7802 36864 0
— значит всё работает.
Просмотр температур:
sensors
Пример вывода:
k10temp-pci-00c3
Adapter: PCI adapter
Tctl: +43.6°C
amdgpu-pci-0a00
Adapter: PCI adapter
fan1: 1270 RPM
temp1: +46.0°C (crit = +95.0°C)
power1: 45.00 W
Если хотите, чтобы показания обновлялись в реальном времени:
watch -n3 sensors
(обновление каждые 3 секунды,
Ctrl + C — выход)hddtemp — мониторинг дисков (HDD и SSD)Жёсткие и твердотельные диски тоже могут греться, особенно под нагрузкой.
Проверить их температуру можно так:
Установка:
sudo apt install hddtemp
Проверка температуры конкретного диска:
sudo hddtemp /dev/sda
Пример вывода:
/dev/sda: Samsung SSD 870 EVO 1TB: 41°C
Если нужно следить постоянно:
watch -n5 sudo hddtemp /dev/sda
Или запустить демона (для доступа другим программам вроде psensor):
sudo hddtemp -d /dev/sda
Psensor — графический монитор с термометром в трееКогда всё настроено, хочется видеть температуру красиво — с графиками и цветными шкалами.
Для этого подойдёт Psensor.
Установка:
sudo apt install psensor
После запуска программа автоматически подхватывает данные от
lm-sensors и hddtemp.Можно закрепить её в трее — значок термометра будет показывать актуальную температуру CPU или GPU.
Функции Psensor:
* отображение графиков в реальном времени;
* установка уведомлений при перегреве;
* работа в фоновом режиме.
Если хочется не просто мониторинг, а целую информационную панель на рабочем столе, то попробуйте Conky.
Это мощный и кастомизируемый инструмент, который может показывать всё:
температуру, частоты, нагрузку, память, сеть, FPS и даже прогноз погоды.
Но настройка у него нетривиальная — об этом стоит писать отдельную статью.
В Linux для мониторинга температуры нет нужды ставить десятки утилит.
Всё решают три инструмента:
* lm-sensors — главный поставщик данных с датчиков
* hddtemp — следит за накопителями
* psensor — делает всё это красивым
А дальше — дело привычки: хочешь консоль, хочешь GUI, а хочешь — выведи всё на экран с помощью Conky.
#doc #article
Please open Telegram to view this post
VIEW IN TELEGRAM
Полезно, если ПК должен автоматически отключаться каждый вечер. Например, детский компьютер в 23:00
sudo crontab -e0 23 * * * /sbin/shutdown -h nowЧто означают цифры:
0 23 * * *Cron читает запись слева направо:
минута | час | день месяца | месяц | день неделиТо есть:
0 — 0 минут;23 — 23 часа;* — любой день месяца;* — любой месяц;* — любой день недели.Итого: каждый день ровно в 23:00.
Теперь компьютер будет автоматически выключаться каждый день в 23:00.
50 22 * * * /usr/bin/wall "Компьютер выключится через 10 минут!"0 23 * * * /sbin/shutdown -h nowЗдесь
50 22 означает 22:50, а остальные * * * — каждый день независимо от даты, месяца и дня недели.А в 23:00:
0 23 * * * /sbin/shutdown -h nowкомпьютер автоматически выключится.
30 21 * * * → каждый день в 21:300 8 * * * → каждый день в 08:00Пять цифр — и Linux сам следит за расписанием.
#doc
Please open Telegram to view this post
VIEW IN TELEGRAM
Создать папку, скопировать целый проект, узнать размер директории или случайно удалить всё содержимое — в Linux для этого достаточно одной команды.
touch file.txt — создать пустой файл или обновить время изменения.mkdir dir — создать папку.mkdir -p a/b/c — создать сразу несколько вложенных папок.📋 Копирование и перемещение
cp file.txt copy.txt — скопировать файл.cp -r dir/ backup/ — скопировать папку вместе с содержимым.cp -a src/ dst/ — скопировать с сохранением структуры и доступных атрибутов.mv old.txt new.txt — переименовать файл.mv file.txt /tmp/ — переместить файл в другую директорию.mv -n a b — переместить без перезаписи существующего файла.rm file.txt — удалить файл.rm -i file.txt — запросить подтверждение перед удалением.rm -r dir/ — удалить папку вместе со всем содержимым. Осторожно: без корзины!rmdir dir — удалить пустую папку.ln -s /path/target link — создать символическую ссылку.ln target hardlink — создать жёсткую ссылку на файл.stat file.txt — узнать размер, права доступа и временные метки.file image.png — определить реальный тип файла по содержимому.du -sh dir/ — узнать общий размер папки в удобном формате.basename /a/b/c.txt — получить имя файла: c.txt.dirname /a/b/c.txt — получить путь к папке: /a/b.ls -la dir/.Linux не требует запоминать сотни команд. Достаточно освоить базовые — и многие повседневные задачи будут выполняться за секунды.
#doc #cheatsheet
Please open Telegram to view this post
VIEW IN TELEGRAM