Шпаргалка по полезным командам Linux для работы с дисками и устройствами

Шпаргалка по полезным командам Linux для работы с дисками и устройствами и не только

1. dd – Копирование и конвертация данных

Основное использование:

dd if=входной_файл of=выходной_файл [опции]

Примеры:

  • Создать образ диска:
    dd if=/dev/sda of=backup.img bs=4M status=progress
    
  • Записать образ на USB:
    dd if=ubuntu.iso of=/dev/sdb bs=4M status=progress
    
  • Создать файл-заполнитель (1 ГБ):
    dd if=/dev/zero of=testfile bs=1G count=1
    

Опции:

  • bs=N – размер блока (например, 4M, 1K).
  • count=N – количество блоков.
  • status=progress – показывает прогресс.
  • Флаг conv= (convert) позволяет задать дополнительные преобразования данных. Можно указывать несколько параметров через запятую.

1. conv=sync

  • Назначение: Дополняет каждый ввод (input block) нулями до полного размера блока, если он был прочитан не полностью.
  • Пример использования:
    dd if=/dev/sda of=image.img bs=4K conv=sync
    
    • Если при чтении блока в 4 КБ считалось только 2 КБ (например, из-за ошибки), оставшиеся 2 КБ будут заполнены нулями.
    • Полезно для сохранения выравнивания блоков при копировании повреждённых данных.

2. conv=noerror

  • Назначение: Продолжать копирование, даже если встретились ошибки чтения.
  • Пример:
    dd if=/dev/sda of=image.img bs=4K conv=noerror,sync
    
    • Без noerror dd остановится при первой ошибке.
    • Важно: Обычно используется вместе с sync, чтобы сохранить размер блока.

3. Другие полезные флаги conv=

Флаг Описание
notrunc Не обрезать выходной файл (полезно при дозаписи).
fsync Синхронизировать данные на диск перед завершением.
fdatasync Синхронизировать только данные (без метаданных).
excl Запретить перезапись существующего файла.
nocreat Не создавать выходной файл, если его нет.

Примеры комбинаций

  1. Копирование диска с игнорированием ошибок и синхронизацией блоков:

    dd if=/dev/sda of=backup.img bs=1M conv=noerror,sync status=progress
    
    • Продолжает копирование при ошибках, дополняя неполные блоки нулями.
  2. Дозапись в файл без его обрезки:

    dd if=data.bin of=output.bin bs=1M conv=notrunc
    
  3. Копирование с гарантированной записью на диск:

    dd if=source.iso of=/dev/sdb bs=4M conv=fsync
    
  • Комбинация noerror,sync часто используется при копировании повреждённых дисков.
  • Если нужно создать точную копию с возможными ошибками, лучше использовать ddrescue (из пакета gddrescue), так как он более эффективен при восстановлении данных.

2. df – Информация о свободном месте на дисках

Основное использование:

df [опции] [файл/устройство]

Примеры:

  • Показать место в человеко-читаемом формате:
    df -h
    
  • Показать только определённую файловую систему:
    df -h /dev/sda1
    
  • Показать тип файловой системы:
    df -Th
    

Опции:

  • -h – человеко-читаемый формат (KB, MB, GB).
  • -T – показать тип файловой системы.
  • -i – показать использование inodes.

3. du – Анализ использования диска файлами и папками

Основное использование:

du [опции] [путь]

Примеры:

  • Проверить размер папки:
    du -sh /home/user/
    
  • Показать размер всех подпапок:
    du -h --max-depth=1 /var/
    
  • Найти самые большие файлы:
    du -ah / | sort -rh | head -10
    

Опции:

  • -s – только итоговая сумма.
  • -h – человеко-читаемый формат.
  • --max-depth=N – глубина вложенности.

4. ncdu – Интерактивный анализ дискового пространства

Установка (если нет):

sudo apt install ncdu  # Debian/Ubuntu
sudo dnf install ncdu  # Fedora

Примеры:

  • Анализ текущей папки:
    ncdu
    
  • Анализ всей системы (требует root):
    sudo ncdu /
    

Управление в ncdu:

  • ↑/↓ – навигация.
  • Enter – войти в папку.
  • d – удалить файл/папку.
  • q – выход.

5. lsblk – Список блочных устройств (диски, разделы)

Основное использование:

lsblk [опции]

Примеры:

  • Показать все устройства в дереве:
    lsblk
    
  • Показать UUID и файловую систему:
    lsblk -f
    
  • Показать размеры в человеко-читаемом формате:
    lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT -e7
    

Опции:

  • -f – показать файловые системы.
  • -o – выбрать поля для вывода.
  • -e7 – исключить loop-устройства.

6. lsusb – Список USB-устройств

Основное использование:

lsusb [опции]

Примеры:

  • Показать все USB-устройства:
    lsusb
    
  • Подробный вывод:
    lsusb -v
    

Опции:

  • -v – подробная информация.
  • -t – вывод в виде дерева.

7. lspci – Список PCI-устройств

Основное использование:

lspci [опции]

Примеры:

  • Показать все устройства:
    lspci
    
  • Подробно о видеокарте:
    lspci -v -s $(lspci | grep VGA | cut -d' ' -f1)
    

Опции:

  • -v – подробный вывод.
  • -nn – показать ID производителя.
  • -k – показать драйверы.

Итог

Команда Описание
dd Копирование данных на низком уровне
df Свободное место на дисках
du Размер файлов и папок
ncdu Интерактивный анализ диска
lsblk Список дисков и разделов
lsusb Список USB-устройств
lspci Список PCI-устройств

🚀 Полезные сочетания:

  • df -h | grep -v loop – показать только реальные диски.
  • du -sh * | sort -h – сортировка файлов по размеру.
  • lsblk -o NAME,SIZE,MOUNTPOINT,FSTYPE – удобный вывод дисков.