В Linux иногда требуется работать с дисками и / или разделами непосредственно из командной строки.
Часто вы действительно будете выполнять действия с файловыми системами, но вы жк делаете это, указывая разделы, в которых они хранятся, верно?
В командной строке вы обращаетесь к ним, используя имена их устройств (например, «/dev/sda3»).
В системах с большим количеством дисков, разделов, оптических приводов и USB-накопителей может быть сложно определить имя устройства, назначенное каждому из них.
Что делает команда lsblk?
lsblk отображает информацию об устройствах хранения.
Утилита чаще всего используется для определения правильного имени устройства, которое будет передано следующей команде.
lsblk
В большинстве случаев команды lsblk без каких-либо дополнительных параметров достаточно для определения диска или раздела, с которым вы хотите работать.
Например, на картинке выше я могу сказать, что «sda4» – это раздел Windows, но это потому, что я знаю, что его размер составляет примерно 200 ГБ.
Однако, если у вас есть два или более раздела одинакового размера, все может стать более запутанным.
В других случаях вы можете просто не знать или не помнить размер определенного диска или раздела в вашей системе.
В Linux опасно путать имена устройств, так как вы можете уничтожить или повредить полезные данные неверной командой.
Полезные параметры lsblk
По умолчанию lsblk отображает только несколько свойств, как вы увидели на картинке выше.
Но, если вы добавите параметры в эту команду, вы можете заставить ее выводить дополнительные свойства ваших устройств.
Это, в свою очередь, упрощает идентификацию искомого диска или раздела.
Как узнать, это SSD или жесткий диск (HDD) на Linux
Чтобы увидеть, какие дополнительные столбцы может отображать lsblk, введите следующее:
lsblk --help
В этом сценарии вы будете использовать ROTA и DISC-GRAN.
ROTA сообщает вам, принадлежит ли блочное устройство к устройству ротационного хранения.
Жесткие диски являются ротационными, поэтому столбец выводит «1» (двоичное логическое значение, означающее «true»).
DISC-GRAN показывает гранулярность сброса.
SSD поддерживают сброс, чтобы освободить неиспользуемые блоки данных.
Жесткие диски не поддерживают эту функцию, поскольку она им не нужны, поэтому в этом столбце для них будет отображаться нулевое значение («0B», что означает отказ от гранулярности нулевых байтов).
lsblk -o +ROTA,DISC-GRAN
Показать файловые системы, хранящиеся на дисках / разделах
Когда вы видите список разделов, вы можете узнать, что каждый из них хранит, основываясь только на их размерах.
Если этого недостаточно, вы можете также создать выходные файловые системы lsblk.
- Windows использует файловую систему NTFS
- Linux обычно использует ext4
- Устройство USB использует FAT, FAT32 (vfat) или NTFS
- Загрузочный раздел EFI, как правило, очень маленький и содержит файловую систему vfat.
Кроме того, добавьте выходной столбец LABEL, который может помочь, если разделы были помечены при создании / форматировании.
lsblk -o +FSTYPE,LABEL
Показать съемные устройства / USB-накопители
lsblk -o +RM
Показать модель HDD/SSD
lsblk -d -o +MODEL
Показать UUID файловой системы (универсальный уникальный идентификатор)
lsblk -o +UUID
Заключение
После определения имени устройства, с которым вы хотите работать, не забудьте заменить его полным путем к устройству в следующей команде, которую вы намереваетесь использовать.
Например, если вы получили «sda4» в результате lsblk, вам придется заменить его на «/dev/sda4» в следующей команде.
Таким образом, вместо «sda4» вы вводите «/dev/sda4» в такой команде, как к примеру mkfs -t ext4 /dev/sda4.