Понимание конфигурации и состояния диска вашей системы Linux важно для системного администрирования, устранения неполадок и оптимизации. В этой статье блога мы подробно расскажем вам, как отобразить или собрать полную информацию о диске в Linux с помощью популярных утилит, таких как parted
, inxi
, и lsblk
.
К концу этой статьи у вас будет чёткое представление о том, как собирать и анализировать данные с диска, что может быть полезно для обслуживания и оптимизации вашей среды Linux.
Давайте начнем.
Первый шаг — создать текстовый файл, в котором будет храниться вся информация о диске. Этот файл будет находиться в вашем домашнем каталоге и называться drives.txt
.
echo —PARTED DISK INFO— > /home/$USER/diskinfo.txt 2>&1
Эта команда инициализирует файл diskinfo.txt
с заголовком, указывающим, что следующая информация будет связана с разделами диска.
parted
для составления списка разделов дискаДалее мы используем утилиту parted
для вывода списка всех разделов диска в системе. Эта команда требует прав суперпользователя, поэтому мы используем sudo
.
sudo parted -ls >> /home/$USER/diskinfo.txt 2>&1
Вывод этой команды добавляется в файл drives.txt
и содержит подробную информацию о каждом разделе диска.
inxi
Утилита inxi
— это мощный инструмент для сбора системной информации, в том числе подробных данных о диске. Мы добавляем вывод inxi
в наш файл diskinfo.txt
.
echo —INXI DISK INFO— >> /home/$USER/diskinfo.txt 2>&1 sudo inxi -DpRjlLoux >> /home/$USER/diskinfo.txt 2>&1
Эта команда не только предоставляет информацию о диске, но и содержит сведения о процессах, системных ресурсах и многом другом.
lsblk
Наконец, мы используем утилиту lsblk
для вывода списка блочных устройств, включая подробную информацию о файловой системе и разрешениях.
echo —LSBLK DISK INFO— >> /home/$USER/diskinfo.txt.txt sudo lsblk -fm >> /home/$USER/diskinfo.txt 2>&1
Эта команда добавляет информацию о блочном устройстве в наш файл diskinfo.txt
и завершает процесс сбора данных.
После создания файла diskinfo.txt
вы можете открыть его в любом текстовом редакторе для анализа информации о диске.
Файл будет содержать разделы с заголовками, такими как «Информация о разделе диска», «Информация о диске INXI» и «Информация о диске LSBLK».
В каждом разделе представлена информация о конфигурации диска с разных точек зрения, что позволяет сопоставлять и проверять данные.
Вот примерный результат выполнения команды diskinfo.txt
в системе Debian 12:
—PARTED DISK INFO— Model: JMicron Generic (scsi) Disk /dev/sda: 1000GB Sector size (logical/physical): 512B/4096B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 1049kB 1000GB 1000GB primary boot 2 1000GB 1000GB 33.6MB primary fat16 esp Model: WD_BLACK SN750 SE 500GB (nvme) Disk /dev/nvme0n1: ...
Ниже приведён сценарий Bash, который автоматизирует процесс сбора информации о диске с помощью утилит parted
, inxi
, и lsblk
.
Скрипт предлагает пользователю выбрать, сохранить ли результат в файл или вывести его на стандартный вывод.
Он также проверяет, установлены ли необходимые команды, и предоставляет инструкции по их установке, если они отсутствуют.
Скрипт: diskinfo.sh.
Скопируйте приведенный выше скрипт в файл с именем diskinfo.sh
.
Выполните следующую команду, чтобы сделать скрипт исполняемым:
chmod + x diskinfo.sh
Запустите скрипт, запустив:
./diskinfo.sh
Этот скрипт сохранит обширную информацию о диске в текстовом файле с именем diskinfo.txt
в вашем домашнем каталоге.
Вы также можете переместить скрипт в папку PATH вашей системы и запускать его из любого места. Обычно выбирают /usr/local/bin
или /usr/bin
. Например:
sudo mv diskinfo.sh /usr/local /bin/diskinfo
Перезапустите текущий сеанс командной строки или выйдите из системы и снова войдите в неё. Теперь вы можете просто выполнить команду diskinfo
из любого места, чтобы получить подробную информацию о вашем диске.
Объяснение скрипта:
check_command
: эта функция проверяет, установлена ли команда. Если нет, она предоставляет инструкции по установке и завершает работу скрипта.diskinfo.txt
в домашнем каталоге пользователя), либо отображает его непосредственно в терминале.parted
, inxi
, lsblk
) и предоставляет инструкции по установке, если какие-либо из них отсутствуют.
Этот скрипт автоматизирует процесс сбора информации о диске и предоставляет удобный интерфейс для выбора способа вывода данных.
Это также гарантирует, что все необходимые инструменты установлены, что упрощает для пользователей устранение неполадок и обслуживание их систем Linux.
Сбор подробной информации о диске в системе Linux — важнейшая задача для системных администраторов и разработчиков.
В этой статье мы рассмотрели пошаговый подход к сбору информации о диске в Linux с помощью утилит parted
, inxi
и lsblk
. Эти утилиты помогут вам эффективно собирать и анализировать данные о диске, обеспечивая оптимальную работу вашей системы.
Мы также создали простой скрипт Bash для автоматизации этого процесса. Этот скрипт включает более надёжную обработку ошибок и проверку, что позволяет ему правильно определять установленные команды и предоставлять полезные инструкции по установке в случае их отсутствия.