Терминал в Linux – мощный инструмент, но если освоить горячие клавиши, он становится ещё быстрее и удобнее. Запоминаем и начинаем использовать!
Ctrl + C – Прерывает выполнение командыCtrl + D – Выходит из терминала (аналог exit)Ctrl + L – Очищает экран (аналог clear)Ctrl + U – Удаляет весь ввод до курсораCtrl + K – Удаляет всё после курсораCtrl + A – Перемещает курсор в начало строкиCtrl + E – Перемещает курсор в конец строкиAlt + B – Перемещает курсор назад по словамAlt + F – Перемещает курсор вперед по словам#doc #linux #cheatsheet
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
fdisk (от “fixed disk” или “format disk”) — мощная и гибкая утилита командной строки для управления разделами диска в Linux. С её помощью можно просматривать, создавать, удалять и изменять разделы. Всё, что нужно — терминал и root-доступ.### 🔍 Что умеет
fdisk:- Просматривать все подключенные диски и их разметку
- Создавать новые разделы (основные или расширенные)
- Удалять старые и неиспользуемые
- Менять тип файловой системы
- Форматировать разделы и управлять флагами загрузки
### 🛠 Базовые команды
fdisk#### 📌 Посмотреть все разделы в системе:
sudo fdisk -l
#### 📌 Получить информацию о конкретном диске:
sudo fdisk -l /dev/sda
#### 📌 Перейти в интерактивный режим:
sudo fdisk /dev/sda
### 📚 Основные команды внутри `fdisk`
| Команда | Назначение |
|--------|-------------|
|
m | Показать список всех доступных команд ||
p | Показать текущую таблицу разделов ||
n | Создать новый раздел ||
d | Удалить раздел ||
a | Установить или снять флаг загрузки ||
w | Сохранить изменения и выйти ||
q | Выйти без сохранения ||
x | Расширенные функции ||
f | Исправить ошибки в таблице разделов |### 🧱 Создание нового раздела
1. Запускаем:
sudo fdisk /dev/sda
2. Нажимаем
n — создать новый раздел 3. Выбираем тип:
p — основной или e — расширенный 4. Указываем начальный и конечный сектор, либо размер (например,
+5G) 5. Нажимаем
w — сохраняем результат### 🧼 Форматирование нового раздела
После создания раздела, его нужно отформатировать:
sudo mkfs -t ext4 /dev/sda1
### 🔎 Узнать размер раздела:
sudo fdisk -s /dev/sda1
### ⚠️ Удаление раздела
> ВНИМАНИЕ: удалённые данные восстановить нельзя!
sudo fdisk /dev/sda
- Нажимаем
d — удалить раздел- Указываем номер раздела
- Сохраняем (
w) и перезагружаем систему### 🧰 Если появились ошибки
В случае сообщений вроде:
- “Partition table entries are not in disk order”
- “The partition is not in order”
Откройте
fdisk, нажмите x, затем f, и в завершение — w.### 🚫 Как отключить флаг загрузки (Boot Flag)
Если на разделе стоит символ
*, он помечен как загрузочный. Чтобы его убрать:sudo fdisk /dev/sda
- Нажмите
p — увидеть таблицу- Нажмите
a — включить/выключить флаг загрузки#doc #cheatsheet #linux
Please open Telegram to view this post
VIEW IN TELEGRAM
Если ты часто работаешь с удалёнными серверами, VPS или просто хочешь один раз настроить и больше не вводить пароль при каждом
ssh — добро пожаловать в мир беспарольного SSH-доступа.Это не просто удобно. Это:
* 💥 Быстро — экономишь десятки минут в неделю;
* 🔒 Безопасно — криптография надёжнее любого пароля;
* 🤖 Автоматизируемо — идеально для скриптов и DevOps;
* 🔧 Подходит как для фрилансера, так и для компании с сотнями серверов.
Обычный SSH требует пароль. Но можно настроить доступ по открытому и закрытому ключу, где система сама тебя узнаёт, без необходимости ввода пароля.
Как это работает?
* На клиенте генерируется пара ключей (открытый и закрытый);
* Открытый ключ копируется на сервер;
* Когда ты подключаешься, система сверяет твой закрытый ключ с тем, что есть на сервере — и если всё ок, впускает тебя.
### 1. Генерируем ключ
На локальной машине (где будешь подключаться к серверу):
ssh-keygen -t rsa -b 4096
*
-t rsa — тип ключа.*
-b 4096 — длина ключа. Чем больше — тем безопаснее.* При генерации можно задать путь сохранения ключа и кодовую фразу (если хочешь дополнительную защиту).
> По умолчанию ключи сохраняются в
~/.ssh/id_rsa (приватный) и ~/.ssh/id_rsa.pub (открытый).### 2. Проверяем, что ключи созданы
ls ~/.ssh/id_*.pub
Если вывод есть — всё в порядке.
### 3. Копируем открытый ключ на сервер
Самый простой и быстрый способ:
ssh-copy-id user@IP_Сервера
> Введи пароль один раз — и больше не придётся.
Если
ssh-copy-id недоступен, воспользуйся ручной командой:cat ~/.ssh/id_rsa.pub | ssh user@IP "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
Или скопируй содержимое
id_rsa.pub и вручную вставь в ~/.ssh/authorized_keys на сервере.### 4. Проверяем вход
Подключись по SSH:
ssh user@IP_Сервера
Пароль не запрашивается? Поздравляю, ты настроил беспарольный SSH.
* Посмотреть открытый ключ:
cat ~/.ssh/id_rsa.pub
* Задать правильные права:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
На сервере:
1. Открываем конфиг:
sudo nano /etc/ssh/sshd_config
2. Меняем строки:
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no
3. Перезапускаем SSH:
sudo systemctl restart ssh # или sshd для CentOS
Теперь на сервер можно попасть только по ключу — даже при знании пароля это будет невозможно.
Если вдруг передумал — включи обратно
PasswordAuthentication yes и перезапусти ssh-сервис.* Работаешь с VPS или облаками? Это must-have.
* Автоматизируешь деплой или бэкапы? Не обойтись без ключей.
* Делаешь pet-проекты? Займись безопасностью с самого начала.
* Просто надоело каждый раз вводить пароль? Вот твой лайфхак.
#linux #doc #cheatsheet
Please open Telegram to view this post
VIEW IN TELEGRAM
Если ты новичок в Linux или только начинаешь разбираться с Bash — команда
cd станет твоим лучшим другом. Она позволяет «гулять» по файловой системе прямо из терминала. Но важно знать: есть три типа адресации, и все они по-своему полезны.Это путь, который начинается от корня
/ и ведёт строго по структуре каталогов. Примеры:cd /home/user/Desktop
cd /etc/vim
Такой путь всегда точен, независимо от того, где ты находишься сейчас.
Он указывает направление от твоего текущего местоположения.
cd Documents/images
cd ./Documents/images
cd ../test
*
. — текущий каталог*
.. — на уровень вышеПолезен, когда ты уже в нужной части файловой системы и не хочешь писать весь путь.
Используется
~ (тильда). Очень удобно:cd ~
cd ~/Downloads
🔥 Полезные фишки:
* `cd` без аргументов — вернёт тебя в домашнюю директорию.
* `Tab` автодополняет пути и команды — незаменимо, если не хочешь печатать вручную.
* `cd -` — прыжок в предыдущую папку (переключение туда-сюда).
* Bash показывает путь относительно домашней папки, даже если ты вводил абсолютный — для удобства.
Команда
cd — это как мини-навигатор по твоей системе. Понимание абсолютных и относительных путей сэкономит тебе часы и сделает работу в терминале в разы приятнее.Сохрани себе, чтобы не забыть
#linux #cheatsheet #doc
Please open Telegram to view this post
VIEW IN TELEGRAM
Это базовая тема, которую спрашивают почти в каждой компании, связанной с backend, DevOps, сетями, безопасностью и не только.
📘 PDF-шпаргалка, в которой чётко и по-человечески объясняется:
Сохраняй
#doc #cheatsheet #linux
Please open Telegram to view this post
VIEW IN TELEGRAM
В Linux можно быстро проверить, что именно греет CPU, при помощи ps и top.
ps — статичный снимок.Показывает процессы, отсортированные по загрузке CPU:
ps -aux --sort=-pcpu
Ключи:
*
-aux — вывод всех процессов.*
--sort=-pcpu — сортировка по убыванию загрузки CPU.Пример:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
user 30799 51.2 8.1 2733M 285M ? Rl 09:25 5:30 /usr/lib/chromium-browser
user 14442 12.1 4.2 1050M 150M ? Sl 01:19 60:04 kscreenlocker_greet
Как читать:
*
%CPU — процент загрузки ядра.*
PID — идентификатор процесса.*
COMMAND — выполняемая программа.top — живой мониторингЗапусти:
top
Ты увидишь динамическое обновление списка процессов:
top - 15:13:56 up 8 days, 4 users, load average: 0.01, 0.04, 0.05
%Cpu(s): 5.0 us, 3.0 sy, 0.0 ni, 92.0 id, 0.0 wa
PID USER %CPU %MEM TIME+ COMMAND
22684 root 0.3 0.1 0:00.01 top
30799 user 50.0 8.1 5:30.00 chromium-browser
* В
top нажми Shift + P, чтобы отсортировать по CPU.* В
htop (более удобная версия) — всё доступно с цветными графиками.#cheatsheet #linux #doc
Please open Telegram to view this post
VIEW IN TELEGRAM
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
Способы восстановления:
Если файл был удален через 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
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 для этого достаточно одной команды.
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