Мне нужно знать, какие жесткие диски доступны, включая те, которые не смонтированы и, возможно, не отформатированы. Я не могу найти их dmesg
или /var/log/messages
(слишком много, чтобы пролистать). Я надеюсь, что есть способ использовать /dev
или /proc
узнать эту информацию, но я не знаю как. Я использую Linux.
223
lshw
(Список оборудования),hwinfo
(Информация об оборудовании),lsscsi
(Список устройств SCSI),lsusb
(Список шин / устройств USB),lsblk
(Список блочных устройств)fdisk -l
иmount
. Более подробная информация на сайте binarytides.com/linux-commands-hardware-info .Ответы:
Это сильно зависит от платформы. Также разные методы могут по-разному относиться к пограничным случаям («поддельные» диски разных типов, тома RAID и т. Д.).
В современных установках udev есть символические ссылки на носители в подкаталогах
/dev/disk
, которые позволяют искать диск или раздел по серийному номеру (/dev/disk/by-id/
), по UUID (/dev/disk/by-uuid
), по метке файловой системы (/dev/disk/by-label/
) или по аппаратному подключению (/dev/disk/by-path/
).В Linux 2.6 у каждого диска и дискообразного устройства есть запись в
/sys/block
. Под Linux с незапамятных времен, диски и разделы перечислены в/proc/partitions
. Кроме того , вы можете использовать lshw :lshw -class disk
.Linux также предоставляет
lsblk
утилиту, которая отображает хорошее древовидное представление томов хранилища (начиная с util-linux 2.19, отсутствует на встроенных устройствах с BusyBox).Если у вас есть утилита
fdisk
илиdisklabel
утилита, она может рассказать вам, на каких устройствах она может работать.Вы найдете названия утилит для многих вариантов Unix в Rosetta Stone для Unix , в частности строки «перечислить конфигурацию оборудования» и «прочитать метку диска».
источник
lsblk
перечислит все блочные устройства. Это хорошо подходит для сценариев:lsblk
присутствует в пакете util-linux и поэтому гораздо более универсален, чем предлагаемые альтернативы.источник
lsblk -d
,-d
означает, что сообщение о зависимости не указано.lsblk -ido KNAME,TYPE,SIZE,MODEL
(частьutil-linux
которого является частьюbase
на Arch) мгновенно дает запрошенную информацию, и без необходимости быть корнем. Обратите внимание, что он предоставляет модель устройства , а не семейство моделей .smarctl -i /dev/<device>
по совету Скиппи, например: «Семейство моделей: Seagate Barracuda 7200.12» (отсутствует в lsblk -ido: «диск 465,8G ST3500418AS»).Как насчет
источник
lshw
) не установлено на сервере, и я подозреваю, что ответ будет, мы не устанавливаем это.hwinfo
помогает:источник
@Giles говорит, что это сильно зависит от платформы. Вот один из таких примеров.
Я использую систему CentOS 5.5. Эта система имеет 4 диска и 3ware RAID-контроллер.
В моем случае
lshw -class disk
,cat /proc/scsi/scsi
иparted --list
показывает контроллер RAID (3ware 9650SE-4LP). Это не показывает фактические диски:показывает только 3ware RAID контроллер, который предоставляет том / dev / sda:
Чтобы увидеть диски, которые лежат внизу, мне пришлось установить утилиту tw_cli из 3ware и спросить сам контроллер.
источник
Поскольку и « Могу ли я посмотреть, какой жесткий диск я установил? » И « Как определить марку и модель моих устройств хранения данных? » Помечены как дубликаты этого вопроса, я удивлен, что никто не упомянул
hdparm
иsmartctl
. Рассматривая несколько машин, кажется, что любая из них (если она не обе) часто обнаруживается уже установленной в стандартных (даже старых) дистрибутивах Linux.Как обычно, проверьте man-страницу для большего количества вариантов.
источник
smartctl
способ, даже работает на Cygwin, +1! Просто зациклите возможные имена устройств и посмотрите,smartctl
вернется ли, что привод поддерживает SMART.Я использую Fedora 14 и
lshw
здесь не доступен (по крайней мере, по умолчанию). Однако в моем случае я использовалfdisk -l
команду (как пользователь root), чтобы получить следующий вывод:источник
fdisk -l /dev/sd?
илиfdisk -l /dev/hd?
чтобы не вводить устройства DM.Я нашел в другом ответе SE ,
inxi
инструмент, как очень удобно:источник
Многие из перечисленных команд помогут вам найти диски, которые уже были распознаны системой при загрузке. С современными приводами вы можете найти что-то, что вы вставили, когда машина была запущена и работала (я так и сделал). Мне нравится совет от http://fredericiana.com/2010/06/15/hot-plugging-a-sata-drive-under-linux/ :
... Затем вы можете использовать ваши утилиты Linux, такие как fdisk, чтобы показать вам информацию о найденных дисках.
источник
предоставит вам подробную информацию об аппаратных / физических дисках, даже если они не смонтированы.
Программа предустановлена на все варианты Linux, которые я использовал, но вы должны иметь права root, чтобы использовать ее.
источник
Это сработало для меня:
источник
sudo gparted
покажет все это в графическом интерфейсе.(Вы не указали, что вам нужно сделать это в терминале, поэтому мне интересно, почему этого решения не было.)
источник
Чтобы вернуть количество блочных устройств , без причудливых инструментов, неясного синтаксиса или параметров:
В моих локальных тестовых случаях,
47
на моей самой большой военной машине и1
на моем ноутбуке.источник
IMHO, lsblk - это команда, которая наиболее широко доступна в мире Linux (работает даже на таких портах, как Raspbian). Я не хочу никого обидеть, но есть некоторые команды, которые требуют, чтобы вы явно знали имя устройства, чтобы найти его. Например, вы должны знать о существовании sdc для запуска smartctl. Тем не менее, lsblk не универсален - да, на Solaris, но не на hpux. Благодарю.
источник
lsblk
также доступно в Solaris, это не добавляет больше информации, чем два наиболее популярных ответа. Это было бы лучше оставить как комментарий к unix.stackexchange.com/a/94211/22812