|
7 / 4 / 1
Регистрация: 03.05.2014
Сообщений: 82
|
|
Получить список жестких дисков14.01.2018, 19:15. Показов 6530. Ответов 5
Метки нет (Все метки)
Всем доброго времени суток. Прошу не кидаться в меня гнилыми овощами и нецензурной бранью, я только учусь 😁
Пишу программу, которая будет выполнять определенные действия с жестким диском (именно физическим устройством, а не монтированным, логическим диском), выбрав его из всех подключенных к машине по его серийному номеру. Информацию о том, как получить серийник нашел, а вот как получить список устройств нет... Возможно я что то назвал не своими словами, поправьте если что. Вобщем надо получить список имен устройств, к примеру: /dev/sda /dev/sdb /dev/sdc и т.д. Гугл/яндекс не помогли, нашел решения, но они какие уж слишком замудренные, мне кажется тут все проще. Какие варианты пришли мне в голову: 1) Я знаю что система обзывает устройства так, как я привел в примере выше, т.е. можно по сути просто подставляя буквы по алфавиту к "/dev/sd", проверять существует ли файл устройства, пока не узнаю послежнюю букву устройства. На сколько это вариант работоспособен? Не может ли получиться так, что файл существует, но устройства как бы и нету? Или может ли так случиться, что есть устройство с буквой a и есть с буквой c, а с буквой b нету? 2) При помощи команды ls можно получить список всех файлов устройств, но получить результат выполнения команды не так легко, как запустить ее из программы. Посоветуете что нибудь?
0
|
|
| 14.01.2018, 19:15 | |
|
Ответы с готовыми решениями:
5
Список жестких дисков
Получить информацию об оперативной памяти и информацию об одном из жёстких дисков |
|
|
|
| 14.01.2018, 20:36 | |
Сообщение было отмечено Kapo как решение
Решение
Здравствуйте!
Вы с каким дистрибутивом работаете? Мне кажется, что там не буквами нумерация идет, а цифрами. sda1, sda2 ... и т.д. Да, проверил у себя (Rosa Linux), так и есть. А по поводу того, как эти номера распределяются, то современные системы их динамически присваивают. При загрузке все устройства определяются и для каждого файл создается. Кажется так. Если не так, то пусть меня поправят.
1
|
|
|
7 / 4 / 1
Регистрация: 03.05.2014
Сообщений: 82
|
||||||
| 14.01.2018, 20:55 [ТС] | ||||||
|
Ubuntu 16.04
Забыл указать. Если я правильно понимаю, то буквами идет нумерация самого диска, т.е. устройства (так сказать непосредственно железка), а цифрами нумеруются его логические разделы. Т.е.: /dev - каталог, в котором лежать файлы эти sd - это система выберает по типу устройства, в зависимости от того, по которому оно подключено буквы a-z - номер устройства цифра - номер логического раздела Добавлено через 8 минут Тогда наверно мне подойдет мой первый вариант, надо только придумать как более "элегантно" перебирать файлы устройств. А то это sd меня пугает, боюсь что вдруг устройство начнет определяться по другому и уже будет не sd, а что то другое, хотя это наверно глупо. Нашел вот такую вот штуку. Тот диск, который разбит на 6 разделов, это как раз мой жесткий диск и после символа "->" указан файл, который ему соответствует. Но это не в имени файла находится, а наверно прописано в самом файле... Открыть его ни чем не могу, автоматический поиск тоже результатов не дал. Как понять чем его открыть?
0
|
||||||
|
|
|
| 14.01.2018, 22:21 | |
|
Про буквы. Там от типа устройства зависит. Кажется для SATA это буква a, для блочных устройств b, для символьных c. А цифра - номер раздела. Открыть файл не получается наверное потому, что для этого доступ суперпользователя (root) нужен. Если с его привилегиями программа будет работать (вопреки инстинкту самосохранения), то наверное все получиться. Может не библиотечными средствами (std::ifstrem), но системные вызовы (open() например) должны работать.
Но кажется проще по Вашему второму варианту действовать (может дольше и с большим количеством телодвижений). Можно в программе использовать функцию system() и перенаправлять вывод результатов выполнения команды в файл. Затем вся информация из файла уже извлекается обычным способом (парсинг) и можно использовать ее для своих целей. Так, по моему не надо получать права root (это безопасность).
1
|
|
|
7 / 4 / 1
Регистрация: 03.05.2014
Сообщений: 82
|
|||||||||||
| 16.01.2018, 21:19 [ТС] | |||||||||||
|
Нашел решение более близкое к первому варианту:
По поводу открытия этих файлов через su, ноль эмоций... Ну это не важно, потом как нибудь поизучаю, сейчас то уже нашел более подходящее решение Если у кого есть ссылочка на хорошую статью о QProcess, подкиньте пожалуйста Добавлено через 3 минуты Вот такой вод вывод у вышеуказанной команды, может кому пригодится. Там можно просто уйму параметров вывести (указывать можно либо по умолчанию - несколько основных, либо все - их просто туча , или же как у меня - перечислить необходимые
2
|
|||||||||||
|
|
|
| 17.01.2018, 00:07 | |
|
Kapo, спасибо за информацию.
0
|
|
| 17.01.2018, 00:07 | |
|
Помогаю со студенческими работами здесь
6
Как получить список дисков? Как получить список дисков на удаленном компьютере? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам
Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|